RequestDispatcher для JSP в том же пакете - PullRequest
1 голос
/ 21 июля 2010

Если у меня есть сервлет, я могу перенаправить его в jsp в папке WebContent без проблем:

request.getRequestDispatcher("page.jsp").forward(request, response);

запрос , являющийся HttpServletRequest и ответ , являющийся HttpServletResponse .

Теперь к вопросу: Что если я захочу использовать пакет для функции ? То есть переместите page.jsp в тот же пакет, что и мой класс сервлетов, чтобы все файлы для одной «функции» находились в одном месте. Это возможно?

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Если в пакете foo есть класс сервлета MyServlet, он будет доступен в WEB-INF / classes / foo / MyServlet. Теперь, если вы хотите иметь JSP в одном пакете, вам нужно иметь JSP в папке /WEB-INF/classes/foo/page.jsp. Затем вы можете перейти к JSP, как,

request.getRequestDispatcher("/WEB-INF/classes/foo/page.jsp").forward(request, response); 
0 голосов
/ 21 июля 2010

Контейнеры JavaEE не будут обслуживать ресурсы вне фляги.Если вы хотите упаковать с помощью функции , вам придется предварительно скомпилировать ваши JSP и поместить их в тот же пакет, что и другие сервлеты для вашей функции.Предполагая, что вы сделали это, вы не сможете обслуживать статические ресурсы из jar, такие как images, css или javascript.

Если вы действительно хотите получить фантазию, полагаю, вы могли бы написать общее назначениесервлет, который будет обслуживать ресурсы из банки.Но я предполагаю, что это будет довольно сложно довольно быстро за небольшую выгоду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...