【问题标题】:JSP servlet mappingJSP servlet 映射
【发布时间】:2012-08-29 16:40:30
【问题描述】:

随着Servlet 3.0 的引入,我们可以使用annotations 将servlet 映射到URL 模式,并在web.xml 中省略映射。

我想知道是否有一些指令或特殊标签允许在页面代码中将 jsp 映射到 URL 而无需在 web.xml 中声明 servlet

【问题讨论】:

    标签: jsp java-ee-6 servlet-3.0 url-mapping


    【解决方案1】:

    没有这样的设施。

    您可以做的最好的事情是将 JSP 隐藏在 /WEB-INF 中(这样它就永远不会被 URL 直接请求),并且只需创建一个转发到该 JSP 并最终将其映射到所需的 URL 模式的 servlet。这很容易:

    @WebServlet("/foo")
    public class FooServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.getRequestDispatcher("/WEB-INF/foo.jsp").forward(request, response);
        }
    
    }
    

    这样/WEB-INF/foo.jsp 中的JSP 可由http://localhost:8080/context/foo 使用。您可以使用 front controller pattern 将其进一步抽象为一组 JSP 的单个 servlet。

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 2017-02-21
      • 1970-01-01
      • 2011-01-18
      • 2016-02-05
      • 2018-02-21
      • 2015-02-07
      • 2019-11-09
      • 1970-01-01
      相关资源
      最近更新 更多