----------------------过滤器filter简单登录和乱码过滤----
web.xml里面的代码
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name><!-- 编码过滤器 --><filter><filter-name>CharactorEncodingFilter</filter-name><filter-class>cn.happy.filter.CharacterEncodingFilter</filter-class></filter><!-- 鉴权过滤器 --><filter><filter-name>SessionFilter</filter-name><filter-class>cn.happy.filter.SessionFilter</filter-class><!-- 初始化参数 --><init-param><param-name>execuldeUrl</param-name><param-value>/servlet/(Login|Register)Servlet</param-value></init-param></filter><!-- 按照书写先后顺序 ,执行顺序按照Sevlet-Mapping 书写顺序 --><filter-mapping><filter-name>CharactorEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 需要权限的页面 --><filter-mapping><filter-name>SessionFilter</filter-name><url-pattern>/jsp/*</url-pattern></filter-mapping><filter-mapping><filter-name>SessionFilter</filter-name><url-pattern>/servlet/*</url-pattern></filter-mapping><servlet><description>This is the description of my J2EE component</description><display-name>This is the display name of my J2EE component</display-name><servlet-name>LoginServlet</servlet-name><servlet-class>cn.happy.servlet.LoginServlet</servlet-class></servlet><servlet-mapping><servlet-name>LoginServlet</servlet-name><url-pattern>/servlet/LoginServlet</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list> </web-app>
servlet里面的代码
package cn.happy.filter;import java.io.IOException;
import java.util.regex.Pattern;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class SessionFilter implements Filter {Pattern patternUrl;//能从配置文件获取内容public void init(FilterConfig config) throws ServletException {String url=config.getInitParameter("execuldeUrl"); ///servlet/LoginServletif(url!=null&&!url.equals("")){ //配置了例外//为了获取到一个正则对象 patternUrl= Pattern.compile(url); //我们定制的正则规范 /servlet/LoginServlet}}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req=(HttpServletRequest)request;HttpServletResponse res=(HttpServletResponse)response;//路径中包含 /servlet/LoginServlet 方向String servletPath = req.getServletPath();System.out.println(servletPath+"===========================");if(patternUrl.matcher(servletPath).matches()){chain.doFilter(request, response);return;}Object sessionObj = req.getSession().getAttribute("uname");if(sessionObj!=null){ //证明用户已经登录了//放行chain.doFilter(request, response);}else{System.out.println("session filter not session data");//证明用户没有登录,返回到登录 /Jsp-Day05Filterres.sendRedirect(req.getContextPath()+"/login.jsp");}}public void destroy() {}}
转载于:https://www.cnblogs.com/laosunlaiye/p/7383832.html
----------------------过滤器filter简单登录和乱码过滤----相关推荐
- Struts项目中引入了过滤器filter后出现中文乱码情况
问题描述:在Struts项目中需要引入自定义的过滤器,但是引入以后项目中出现了中文乱码现象 解决办法: 第一步:在web.xml中引入过滤器的配置,如下所示,注意自定义的过滤器filter标签一定要在 ...
- spring boot入门(九) springboot的过滤器filter。最完整、简单易懂、详细的spring boot教程。
关于过滤器和拦截器的区别,已经spring boot入门(七)中说明.下面举个过滤器的应用场景,比如用户信息页只有再用户登录后才可以进入,没有登录的用户是无法进入的,此时便可以采用过滤器来讲没有登录的 ...
- java脏字过滤_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...
案例1. 利用Servlet的过滤器Filter进行完成脏话过滤 package cn.javabs.filter; import java.io.IOException; import javax. ...
- java脏话模糊对比_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...
案例1. 利用Servlet的过滤器Filter进行完成脏话过滤 package cn.javabs.filter; import java.io.IOException; import javax. ...
- java过滤器filter过滤某个包_Java过滤器Filter使用详解
过滤器 过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改响应. 如 ...
- java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)
本篇文章给大家带来的内容是关于Servlet过滤器Filter的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 特点 1)Filter是依赖于Servlet容器,属 ...
- 处理中文乱码以及登陆验证的过滤器Filter(建议收藏)
过滤器Filter Filter:过滤器,用来过滤网站的数据 处理中文乱码 登陆验证 Filter开发步骤 导包 编写过滤器 实现implements Filter 使用java.serlvet 实现 ...
- Java学习日志Day41_过滤器Filter 接口_项目更新:后台管理/前台统一处理全局乱码and用户列表---删除以及分页功能
一.过滤器Filter 接口 1.导包: <groupId>com.qf</groupId> <artifactId>FilterAndJquery</art ...
- 过滤器实现自动登录(过滤器filter)
public void setUsername(String username) {this.username = username; }public String getPassword() {re ...
最新文章
- 有序单链表的归并算法
- DayDayUp:那些属于程序猿江湖的鄙视链(看完别笑^~^,哈哈,haha)
- gorm preload 搜索_macOS系统本地文件搜索工具
- Redis实战(八):面试常问:击穿,穿透,雪崩,分布式锁,API(jedis,luttce,springboot:low/high level)
- 关于redis的db的使用几号db的问题
- ECSHOP2.7.3删除后台左侧菜单中的云服务中心
- java 重载、重写、重构的区别
- 服务器维修解锁,云服务器解锁
- 查看Ubuntu内核和版本的两条命令以及LTS的含义
- AJAX技术开发Back按钮问题的应用程序
- 先进软件开发技术与工具
- django 序列化组件Serializer
- 虚拟机安装win10未找到驱动程序
- 从微信导出表情包的简便方法 (不使用微信 for pc,无需进入文件夹寻找!)
- Excel中3个超级好用的条件求和的函数
- html怎么设置下划线形状,科技常识:CSS如何给文字添加下划线样式
- 银行系统(万里长征始于足下)
- 实验室易发事故LS类型及防范方法
- sql练习题归纳总结中(2)
- (萌新的数电学习)用VHDL语言设计CPU