2014-01-28 4 views
0

я делаю вызов мой сервлет из JavaScript с window.openКак обнаружить всплывающее сообщение в java?

window.open('myServlet','window','window Params') 

я хочу, чтобы обнаружить в myservlet ли вызов приходит из всплывающего окна или нет без прохождения какого-либо Alongwith сервлета В параметре. Можем ли мы обнаружить это в сервлете?

+0

Javascript работает на стороне клиента и сервлетах, работающих на стороне сервера. –

+0

Я согласен, но я думал, может быть, браузер отправляет некоторые вещи, специфичные для всплывающих окон на серверную сторону. – emilly

+0

@ user3222249 Вы имеете в виду заголовки запросов? Нет ничего похожего на место браузера, когда запрос был запущен. по крайней мере, AFAIK. –

ответ

0

Вы можете с помощью параметра запроса

window.open('myServlet?from=popup','window','window Params'); 

использования, что от параметра сервлет обнаружить.

Edit:

Поскольку вы не хотите использовать параметры запроса, это не возможно на стороне сервера, чтобы узнать, откуда (щелчок) это вызывлся.

0

Правилом запроса было бы лучше (как описано Suresh Atta). Одна из возможных альтернатив - поскольку вы не можете использовать параметр - может быть, иметь два сервлет-отображения для вашего сервлета - с одним из отображений только для всплывающего окна.

<servlet> 
    <servlet-name>myServlet</servlet-name> 
    <servlet-class>foo.bar.MyServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>myServlet</servlet-name> 
    <url-pattern>/myServlet</url-pattern> 
</servlet-mapping> 
<!-- Popup-specific mapping --> 
<servlet-mapping> 
    <servlet-name>myServlet</servlet-name> 
    <url-pattern>/myServlet-popup</url-pattern> 
</servlet-mapping> 

Ваше всплывающее окно может ссылаться на всплывающее конкретное отображении:

window.open('myServlet-popup','window','window Params'); 

Тогда внутри сервлета можно осмотреть HttpServletRequest, чтобы определить путь, который был использован - и, таким образом, является ли сервлет, вызываемый через всплывающее окно или нет.

Как уже говорилось, метод параметров лучше. Но это может быть альтернативой.

Смежные вопросы