Filter总结
来源:互联网 发布:mac word 大小写转换 编辑:程序博客网 时间:2024/06/03 22:06
Filter可用于处理中文乱码等问题。
1.Filter(过滤器):
用于对用户访问一个web资源前对请求做预处理。常应用于非法登录、权限管理等。Filter可认为是Servlet的一种“变种”,它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。
Filter和Servlet的区别:
它与Servlet的区别在于:它不能直接向用户生成响应。完整的流程是:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。
2.如何写Filter:
方式1:implements Filter
方式2:Do it
3.Fc:FilterChain 过滤链
Fc.doFilter(req,res)访问下一个资源
4.Filter实现防止非法登录:
//MyFilter.java
public class MyFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain fc) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession();
if((String)session.getAttribute("userName")==null){
response.sendRedirect("/servlet_session_project/index.jsp");
}
fc.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
//web.xml
<filter>
<filter-name>myfilter</filter-name>
<filter-class>com.cqit.edu.common.MyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>myfilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>
/* 表示对jsp文件夹的文件全部过滤,采用Filter防止非法登录可以实现对大量的文件进行过滤。而如果在跳转的页面里实现,则需要每个页面都要设置。
5.Filter实现中文乱码处理
//FilterChar.java
public class FilterChar extends HttpServlet implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain fc) throws IOException, ServletException {
req.setCharacterEncoding("GBK");
res.setCharacterEncoding("GBK");
fc.doFilter(req, res);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
//web.xml
<filter>
<filter-name>filter1</filter-name>
<filter-class>com.cqit.edu.common.FilterChar</filter-class>
</filter>
<filter-mapping>
<filter-name>filter1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
req.setCharacterEncoding("GBK");是解决后台中读取文乱码问题
res.setCharacterEncoding("GBK");是解决前台响应中文乱码问题
- Filter总结
- Filter总结
- 过滤器Filter配置总结
- L7-filter总结
- 过滤器Filter配置总结
- 过滤器Filter配置总结
- 【总结】Bloom Filter
- L7-filter总结
- Filter的用法总结
- Filter学习总结
- JAVAEE filter总结
- 过滤器Filter配置总结
- Servlet、Filter、Listener总结
- filter 过滤器的总结
- servlet Filter Listener总结
- java web filter总结
- Filter过滤器学习总结
- HBase中Filter总结
- C#学习一年了,感觉没学会什么
- Ubuntu安装程序开发所需要的man安装帮助(包含3posix)
- 漂亮的TAB控件
- kmalloc详解
- 控件截屏,包括控件不可见部分,即滚动条以外的部分
- Filter总结
- .NET 编译工具
- Linux NFS 介绍
- 新生经理人转型最关键 如何避免见光死
- 主流数据库MYSQL/MSSQL/ORACLE测试数据库脚本代码
- Silverlight连连看剑三篇
- csdn确实是个好地方!
- Oracle字符集问题总结
- Listener