使用JSP而不为它们定义servlet映射?

时间:2015-05-07 15:12:54

标签: java jsp servlets

有没有办法通过仅从servlet调度它们来处理JSP,而没有在web.xml中映射到JspServlet(Tomcat 7)的<servlet-mapping>

我想构建一个webapp,它使用控制器servlet来处理输入并执行处理,最后移交给JSP进行渲染;即经典的MVC模式。

因此,servlet包含(或转发)带有

的JSP
request.getRequestDispatcher( "/view.jsp" ).include( request, response );

为了使这项工作,似乎除了在web.xml中将<servlet-mapping>映射到JspServlet之外别无他法。 (无论映射是什么。)

关键问题:有没有办法使用JSP而不通过servlet映射公开它们? 如果映射了JSP,则可以直接向它们发出请求,这应该避免。 如果直接调用,则视图JSP将无法工作,缺少由提供的数据bean 控制器servlet。

没有使用任何框架。

1 个答案:

答案 0 :(得分:1)

从我记忆中防止用户直接访问服务器上的资源(如JSP)但同时允许服务器访问它们的标准方法是将它们放在WEB-INF文件夹中。所以你可以尝试更像

的东西
request.getRequestDispatcher( "/WEB-INF/views/view.jsp" ).include( request, response );