java EE java过滤器器配置失败

Java EE(14)
& &过滤器的使用:
Servlet过滤器可以当做一个只需要在web.xml文件中配置就可以灵活使用,可以重用的模块化组件,它能够对jsp、HTML、Servlet进行过滤,而实现一个过滤器需要实现两个步骤:
& &1、实现接口
& &2、实现3个方法
下面就让我们来实现这一过程:
& &1、实现接口
& &导入包 javax.servlet.F
& &2、实现3个方法
& &初始化方法:表示的是过滤器初始化时的动作
& &public void init(FilterConfig config);
& 消亡方法:表示的是过滤器消亡消亡时候的动作
& &public void destroy();
& 过滤函数:表示的是过滤器过滤时的动作
& & public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletE
首先,我们测试一下没有过滤器的表单提交数据,创建filterForm.jsp文件,其代码如下:
&%@page contentType=&text/html& pageEncoding=&UTF-8& language=&java& import=&java.util.*&%&
&!DOCTYPE html&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&JSP Page&/title&
&form action=&DealWithServlet& method=&post&&
请输入学生信息的资料:
&input type=&text& name=&stuname&&
&input type=&submit& value=&查询&&
之后单击提交给Servlet进行处理,由于我们要提交给DealWithFilter,所以我们在这里再创建一个DealWithFilter过滤器文件,,其代码如下:
import java.io.IOE
import java.io.PrintW
import javax.servlet.ServletE
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
public class DealWithServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String stuname=request.getParameter(&stuname&);
System.out.println(&学生姓名:&+stuname);
当然在创建Servlet时也是需要对web.xml进行配置,其代码为:
&servlet-name&DealWithServlet&/servlet-name&
&servlet-class&com.lutsoft.filter.DealWithServlet&/servlet-class&
&/servlet&
&servlet-mapping&
&servlet-name&DealWithServlet&/servlet-name&
&url-pattern&/DealWithServlet&/url-pattern&
&/servlet-mapping&
好了,让我们进行测试,结果是乱码的:如下图所示
现在我们进行对Filter编码进行设置,创建新过滤器文件EncodingFilter,代码如下:
package com.lutsoft.
import java.io.IOE
import javax.servlet.F
import javax.servlet.FilterC
import javax.servlet.FilterC
import javax.servlet.ServletE
import javax.servlet.ServletR
import javax.servlet.ServletR
public class EncodingFilter implements Filter {
public void init(FilterConfig config) throws ServletException{}
public void destroy(){}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
request.setCharacterEncoding(&utf-8&);
chain.doFilter(request, response);
& 对于以后的更改,我们只需要对request.setCharacterEncoding(&utf-8&);进行更改就可以实现对所有界面的更改,如将编码格式改为gb2312,其代码为request.setCharacterEncoding(&gb2312&);。
然后在web.xml中进行配置此过滤器,代码如下所示:
&filter-name&EncodingFilter&/filter-name&
&filter-class&com.lutsoft.filter.EncodingFilter&/filter-class&
&filter-mapping&
&filter-name&EncodingFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
现在重新提交就能够正常显示了
好了,以上就是Filter的使用方法,谢谢
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29444次
积分:1678
积分:1678
排名:第17018名
原创:126篇
转载:13篇
(31)(17)(23)(52)(16)(1)验证登录过滤器类如何配置web.xml
[问题点数:100分,结帖人zazxzx]
验证登录过滤器类如何配置web.xml
[问题点数:100分,结帖人zazxzx]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2008年2月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。初学者:web.xml为什么要配置过滤器?
[问题点数:40分,结帖人daviddivad]
初学者:web.xml为什么要配置过滤器?
[问题点数:40分,结帖人daviddivad]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。Java EE 系统开发-过滤器_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Java EE 系统开发-过滤器
上传于||暂无简介
大小:834.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢过滤器的时候如何不过滤systemC> EE
--------------------------------------
个人认为:可通过fliter通配符配置。个人觉得比较烦。个人建议,先让filter拦截系统的全部url,然后从fliter中request参数得到url,根据url中是否以"/下上文/systemC>

我要回帖

更多关于 java过滤器 的文章

 

随机推荐