3

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

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

4

1 回答 1

5

没有这样的设施。

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

@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);
    }

}

这样 JSP/WEB-INF/foo.jsp就可以通过http://localhost:8080/context/foo. 您可以使用前端控制器模式将其进一步抽象为一组 JSP 的单个 servlet 。

于 2012-08-29T17:09:08.400 回答