我已经设置了许多Java Server Pages,我想通过添加Process Servlet(扩展HttpServlet)来使用Controller/View系统.
我只是想在ProcessServlet添加一些属性后基本上处理所请求的JSP.
假设我的所有JSP都在名为/ content /的目录中,并且我的web.xml文件有一条规则将/content/*.jsp映射到我的ProcessServlet
我无法找到将所有JSP移动到不同目录(/ content-JSPs /)的方法,这样就可以无需经过ProcessServlet就可以调度它们.
有没有办法基本上将#forward()(其他一些方法?)分配给所请求的JSP,而不必再次通过ProcessServlet?
有点难以相信这种缺乏灵活性的存在.为什么Servlet不能仅仅作为JSP的传递?
我的目标是设置所有内容,以便Web服务器不必为所有JSP创建单独的目录,而为其他所有内容创建另一个目录,即CSS,JavaScript和图像.我想保持目录结构(和URL结构)不变.
把它们放在/WEB-INF文件夹中.这也有效地使JSP远离直接访问.您只需要将RequestDispatcher#forward()呼叫更改为包含/WEB-INF在路径中.
request.getRequestDispatcher("/WEB-INF/content" + request.getPathInfo()).forward(request, response);
Run Code Online (Sandbox Code Playgroud)
请注意,URL模式在/content/*.jsp语法上无效.它应该是/content/*.也许你也真的用过它.要跳过如图像/ CSS/JS静态资源,你应该只是没有把他们在/content,但在例如/resources,/static等等.
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |