Установить и прочитать / получить cookie, используя JavaScript в файле Java (.java) - PullRequest
0 голосов
/ 02 февраля 2010

Позвольте мне перефразировать это. я пишу новый http-сервер, используя сокеты на языке java (не javascript), и я хочу сказать клиенту установить cookie. Я хотел бы сделать это в javascript (setin чтение куки). Если это невозможно, есть ли другие решения? Спасибо всем.

Ответы [ 2 ]

3 голосов
/ 02 февраля 2010

Ваш вопрос / требование очень расплывчато. Вы действительно не путаете JavaScript с Java или, может быть, JSP ? Или вы используете серверный JavaScript? Почему вы хотите сделать это для «http-сервера»? Почему вы хотите написать HTTP-сервер, а не использовать уже существующий, такой как Apache HTTP Server или Apache Tomcat ?

По крайней мере, в JavaScript вы можете управлять файлами cookie с помощью document.cookie. В Java это зависит от того, в каком контексте вы говорите. Если в контексте сервлета, используйте HttpServletResponse#addcookie() и HttpServletRequest#getCookies(). Если в контексте JSP EL, используйте ${cookie}. Если в контексте потокового URL-адреса, используйте URLConnection#addRequestProperty() и URLConnection#getHeaderFields(). Если в «сыром» контексте Socket просто придерживайтесь спецификации управления состоянием HTTP RFC 2965 и косвенно также спецификации HTTP 1.1 RFC 2616 при записи «сырых» данных через сокет. Но вы уже должны это знать, поскольку вы намеревались создать HTTP-сервер.

1 голос
/ 02 февраля 2010

Если вы пишете свой собственный HTTP-сервер, тогда вы сможете установить HTTP-заголовок напрямую:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value

Вы также можете отправить javascript в браузер, чтобы сделать это (включив свой скрипт в HTML-страницу, которую вы предоставляете клиенту), но я не вижу преимущества в том, чтобы делать это таким образом.

Пример был взят со следующей страницы википедии:

http://en.wikipedia.org/wiki/HTTP_cookie

...