Различный путь - PullRequest
       6

Различный путь

0 голосов
/ 21 февраля 2011

У меня есть вопрос, с которым я борюсь.Просто гипотетическая ситуация здесь.Например, у меня есть две папки jspPages1 и jspPages2.Есть страницы JSP, которые я хочу держать отдельно.У меня есть один диспетчерский сервлет.И я хочу, чтобы страницы из первой папки отображались в «/public/jspNameFromFirstFolder.jsp», а из второй папки - в «protected / jspNameFromSecondFolder.jsp».Могу ли я сделать это с одним диспетчерским сервлетом?Если я попытаюсь сделать шаблоны URL в файлах web.xml для "/ protected / 'asteriks'" и "/ public / 'asteriks'", на что будет похож @RequestMapping?Не могли бы вы уточнить это для меня?Заранее спасибо.

1 Ответ

1 голос
/ 22 февраля 2011

По моему мнению, вы не должны раскрывать свои JSP в первую очередь. В конце концов, вы хотите, чтобы ваш пользователь получил доступ к странице, используя предоставленное вами отображение запроса. Затем ваш контроллер решит, какое представление (в вашем случае это файлы JSP) представить пользователю.

Обычно я помещаю представления в каталог WEB-INF, чтобы пользователи не могли угадать и получить доступ к файлам JSP напрямую. Вы по-прежнему можете разделять представления, если это поможет вам организовать ваши файлы. Итак, ваша структура каталогов может выглядеть так: -

WEB-INF
|
|- jsp
|   |
|   |-- public
|   |    |
|   |    |- page1.jsp
|   |    |- page2.jsp
|   |
|   |-- protected
|   |    |
|   |    |- page3.jsp
|   |    |- page4.jsp

Таким образом, вы можете зарегистрировать папку просмотра как /WEB-INF/jsp/ в Spring MVC.

Ваше отображение запроса может быть любым. Это не имеет ничего общего с вашей структурой каталогов вида.

Например: -

// when your user visits /page-1.htm, it returns public/page1.jsp as the view
@RequestMapping("/page-1")
public String showPage1() {
    return "public/page1";
}

// when your user visits /secure/page-3.htm, it returns protected/page3.jsp as the view
@RequestMapping("/secure/page-3")
public String showPage3() {
    return "protected/page3";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...