Структура каталогов JSP - PullRequest
0 голосов
/ 04 декабря 2011

Я начал заниматься Java и JSP, и теперь я застрял.Я не доволен наличием всех статических HTML-файлов в корневой папке.Если бы я упаковал их в отдельную папку.На данный момент я вижу два варианта: настроить его в web.xml, но это работает только для сервлетов afaik.С другой стороны, можно настроить Tomcat, но это нарушит внутреннюю логику, даже если это сработает.

Есть ли правильный способ организации файлов, чтобы это не отражалось в URL?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2011

Когда вы говорите о статических страницах, что-то вроде заголовка и нижнего колонтитула.

Вы можете поместить их в любую подпапку, скажем, в jsp / static / (подконтент) или, в зависимости от типа вашего файла, вы можете сгруппировать их еще дальше.

Теперь использование, так как, поскольку вы используете простой jsp и servlet, единственная опция, которая, на мой взгляд, имеет смысл для статического контента, заключается в том, чтобы включать их, когда требуется директива include, например:

 <%@include file="/pages/static/abc.html" %>

или переслать запрос им с помощью

<jsp:forward page="/pages/static/staticdata.html" />

Понимание того, что это боль, если нужно изменить навигацию, вам придется изменить свой код, тогда имеет смысл более продвинутая веб-инфраструктура, такая как Struts, JSF и т. Д., Так как правила навигации могут быть изменены очень легко без изменения кода (если поток не приводит к изменению модели или другому сценарию).

Наряду с правилами навигации эти рамки также определяют конфигурацию построения страницы, например, плитки в Struts, шаблоны в JSF e.t.c

0 голосов
/ 04 декабря 2011

Вы можете сопоставить файлы jsp с URL в web.xml, используя

<jsp-file></jsp-file> tag

Пример

<servlet>
    <servlet-name>somName</servlet-name>
    <jsp-file>newFolder/mypage.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>somName</servlet-name>
    <url-pattern>/oldUrl.jsp</url-pattern>
</servlet-mapping>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...