有没有办法通过仅从servlet调度它们来处理JSP,而没有在web.xml中映射到JspServlet(Tomcat 7)的<servlet-mapping>
?
我想构建一个webapp,它使用控制器servlet来处理输入并执行处理,最后移交给JSP进行渲染;即经典的MVC模式。
因此,servlet包含(或转发)带有
的JSPrequest.getRequestDispatcher( "/view.jsp" ).include( request, response );
为了使这项工作,似乎除了在web.xml中将<servlet-mapping>
映射到JspServlet之外别无他法。 (无论映射是什么。)
关键问题:有没有办法使用JSP而不通过servlet映射公开它们? 如果映射了JSP,则可以直接向它们发出请求,这应该避免。 如果直接调用,则视图JSP将无法工作,缺少由提供的数据bean 控制器servlet。
没有使用任何框架。
答案 0 :(得分:1)
从我记忆中防止用户直接访问服务器上的资源(如JSP)但同时允许服务器访问它们的标准方法是将它们放在WEB-INF
文件夹中。所以你可以尝试更像
request.getRequestDispatcher( "/WEB-INF/views/view.jsp" ).include( request, response );