Как я могу скрыть / изменить расширение jsp в адресной строке браузера? - PullRequest
1 голос
/ 03 марта 2012

Я использую nginx и tomcat для обслуживания своего сайта, написанного на jsp.Как я могу скрыть / изменить расширение jsp в адресной строке браузера?

Ответы [ 3 ]

3 голосов
/ 03 марта 2012

Вы можете сопоставить каждую JSP в файле web.xml вашего веб-приложения.

<servlet>   
               <servlet-name>myTest</servlet-name>
               <jsp-file>/testing.jsp</jsp-file>
</servlet>
<servlet-mapping>
                <servlet-name>myTest</servlet-name>
                <url-pattern>/test</url-pattern>
</servlet-mapping> 

Используя этот пример сопоставления, вы просто добавляете "/ test" к URL-адресу вашего веб-приложения.

2 голосов
/ 03 марта 2012

Скажем, вы хотите, чтобы "myExt" использовался сейчас.Вам нужно будет написать фильтр / сервлет, который сопоставляется с * .myExt.Этот сервлет будет перехватывать все запросы, поступающие для ".myExt", и внутренне переадресовывать его на ".jsp"

Отслеживание идет внутри web.xml

<servlet>
    <servlet-name>MyExt Servlet</servlet-name>
    <servlet-class>com.MyExtServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>MyExt Servlet</servlet-name>
    <url-pattern>*.myExt</url-pattern>
</servlet-mapping>

Следование идет внутри сервлета

public class MyExtServlet extends HttpServlet {

   public void doGet(HttpServletRequest req, HttpServletResponse rsp) {
      // put your custom code here. I am just to replace the ext
      String url = req.getServletPath();
      Rsp.getRequestDispatcher(url).forward(req,rsp);
   }
}

Я просто написал код на лету.Поэтому я приношу свои извинения за любые проблемы с компиляцией, но это должно дать вам представление о том, что можно сделать.

0 голосов
/ 03 марта 2012

Поскольку в других ответах об этом еще не говорилось, я скажу: у вас не должно быть URL-адресов, указывающих в первую очередь на JSP.Используйте инфраструктуру MVC, такую ​​как Stripes или Spring MVC, которая

  • позволяет Java-действиям обрабатывать логику представления (проверка, обработка ошибок и т. Д.), Делегировать на бизнес-уровень для реальной бизнес-логики,и подготавливает данные для показа
  • отправляет в JSP для генерации разметки HTML

Наличие Java-кода в JSP небезопасно, не поддерживается и способствует программированию copy'n paste, а нечистый дизайн.

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