Java 用url模式显示转发的JSP/*&引用;
为了提高我的java技能,我正在尝试构建一个简单的j2ee框架(MVC) 我构建它来处理FrontServlet中的每个请求。以下是我使用的映射:Java 用url模式显示转发的JSP/*&引用;,java,jsp,servlets,jakarta-ee,front-controller,Java,Jsp,Servlets,Jakarta Ee,Front Controller,为了提高我的java技能,我正在尝试构建一个简单的j2ee框架(MVC) 我构建它来处理FrontServlet中的每个请求。以下是我使用的映射: web.xml : <servlet> <servlet-name>Front</servlet-name> <servlet-class>test.FrontServlet</servlet-class> </servlet> <servlet-mappi
web.xml :
<servlet>
<servlet-name>Front</servlet-name>
<servlet-class>test.FrontServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Front</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
滤器
测试过滤器
滤器
/*
- 对吗?
谢谢 我认为这里的问题可能是您使用的是
Servlet
而不是ServletFilter
顾名思义,ServletFilter通过对请求进行预处理和后处理来过滤请求。如果需要执行以下操作,可能需要使用过滤器:
- 跨整个应用程序提供安全检查
- 设置servlet或jsp拾取的请求属性
- 压缩响应
- 日志定时信息
- 等等
请查看有关的文档。a
Filter
对于前端控制器方法是不合适的解决方案
您希望优化servlet的url模式
,使其匹配,例如/pages/*
或*.do
。你不希望你的前端控制器在CSS/JS/images/等不相关的请求上插手。以/pages/*
为例,假设你在/WEB-INF/foo.JSP
中有一个JSP,然后在servlet中执行以下操作
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/WEB-INF" + request.getPathInfo() + ".jsp").forward(request, response);
}
应该在上显示有问题的JSP
另见:
<filter>
<filter-name>Filter</filter-name>
<filter-class>test.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/WEB-INF" + request.getPathInfo() + ".jsp").forward(request, response);
}