Как передать куки на ресурс при использовании c: import? - PullRequest
2 голосов
/ 13 июня 2011

Я пытаюсь импортировать внешний ресурс в JSP и поэтому я использую:

<c:import url="http://foo.co.uk/articles?id=${article.id}" />

Можно ли передать файлы cookie, полученные по текущему запросу, на импортированный ресурс?

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Нет, вы не можете.

Это необходимо сделать в сервлете, например, с помощью new URL(..).openConnection().

1 голос
/ 07 июля 2012

c: тег импорта не может передавать куки на внешний ресурс.Вы можете обойти эту проблему, точно посмеявшись над функциональностью тега c: import с дополнительной возможностью передавать куки на импортируемый ресурс, как показано ниже.

// сами обрабатываем абсолютные URL, используя java.net.URL URL u =новый URL (целевой);

        HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
        Cookie cookies [] = request.getCookies();
        Cookie myCookie = null;
        String WCSCookie="";
        if (cookies != null)
        {
            System.out.println("Cookies List start------------");


        for (int i = 0; i < cookies.length; i++) 
        {

        myCookie = cookies[i];
        System.out.println(myCookie.getName()+"="+myCookie.getValue());
        WCSCookie = WCSCookie+";"+myCookie.getName()+"="+myCookie.getValue();


        }
        }

        System.out.println("-------------------------");
        System.out.println(WCSCookie);
        System.out.println("-------------------------");
        System.out.println("Cookies List end------------");

        URLConnection uc = u.openConnection();
        uc.setRequestProperty("Cookie", WCSCookie);
            InputStream i = uc.getInputStream();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...