Filter过滤器实现控制器功能
更新时间:2026-04-23 12:28:45
Filter过滤器实现控制器功能
学习Struts重点在于理解Filter的原理。当不使用Struts赖时,可以通过自定义Filter和配置web.xml来代替传统的控制器处理请求,并实现过滤器功能。
- 新建一个Java Web项目工程

- 设置Tomcat服务器启动时打开浏览器,指定首页路径,并勾选Rebel实现热部署更新。

- 配置完毕后启动Tomcat服务器,检查能否成功运行。

- 在WEB-INF目录中创建page文件夹,然后在其中新建a.jsp和b.jsp两个页面文件。

在index.jsp页面添加以下链接,用于跳转至产品信息录入界面:```jsp 进入产品输入页面 ```

- 在a.jsp中添加表单,通过提交将数据传至b.jsp,由b.jsp接收并显示传递的参数内容。

- 在src目录下新建com.java999.filter.demo包,并在该包中创建一个Filter过滤器类。

- 在web.xml中设置filter的拦截路径以实现请求过滤。

在IndexFilter的doFilter方法中,首先将ServletRequest强制转换为HttpServletRequest,并获取客户端请求的servletPath路径。根据这个路径判断其所属类别,进而执行相应的业务逻辑处理,实现对不同请求路径的区分与控制,完成后续的具体功能编写和流程调度。

在同级目录中创建Product.java文件,用来存储客户端传递的信息并实现getter, setter方法以及参数化和非参数化的构造器。

在IndexFilter.java的doFilter方法中,判断当前请求路径是否为/product-save.action。若是,则提取表单中的参数,将pPrice转换为Double类型,封装成Product对象,并将其存入request域中,最后设置相应的跳转路径,完成请求转发处理流程。

- 在b.jsp页面展示数据

- 在浏览器中运行测试代码是否可行
