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简单登录和乱码过滤----相关推荐

  1. Struts项目中引入了过滤器filter后出现中文乱码情况

    问题描述:在Struts项目中需要引入自定义的过滤器,但是引入以后项目中出现了中文乱码现象 解决办法: 第一步:在web.xml中引入过滤器的配置,如下所示,注意自定义的过滤器filter标签一定要在 ...

  2. spring boot入门(九) springboot的过滤器filter。最完整、简单易懂、详细的spring boot教程。

    关于过滤器和拦截器的区别,已经spring boot入门(七)中说明.下面举个过滤器的应用场景,比如用户信息页只有再用户登录后才可以进入,没有登录的用户是无法进入的,此时便可以采用过滤器来讲没有登录的 ...

  3. java脏字过滤_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...

    案例1. 利用Servlet的过滤器Filter进行完成脏话过滤 package cn.javabs.filter; import java.io.IOException; import javax. ...

  4. java脏话模糊对比_分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤...

    案例1. 利用Servlet的过滤器Filter进行完成脏话过滤 package cn.javabs.filter; import java.io.IOException; import javax. ...

  5. java过滤器filter过滤某个包_Java过滤器Filter使用详解

    过滤器 过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改.判断等,把不符合规则的请求在中途拦截或修改.也可以对响应进行过滤,拦截或修改响应. 如 ...

  6. java过滤器应用实例_Servlet过滤器Filter的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Servlet过滤器Filter的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 特点 1)Filter是依赖于Servlet容器,属 ...

  7. 处理中文乱码以及登陆验证的过滤器Filter(建议收藏)

    过滤器Filter Filter:过滤器,用来过滤网站的数据 处理中文乱码 登陆验证 Filter开发步骤 导包 编写过滤器 实现implements Filter 使用java.serlvet 实现 ...

  8. Java学习日志Day41_过滤器Filter 接口_项目更新:后台管理/前台统一处理全局乱码and用户列表---删除以及分页功能

    一.过滤器Filter 接口 1.导包: <groupId>com.qf</groupId> <artifactId>FilterAndJquery</art ...

  9. 过滤器实现自动登录(过滤器filter)

    public void setUsername(String username) {this.username = username; }public String getPassword() {re ...

最新文章

  1. 有序单链表的归并算法
  2. DayDayUp:那些属于程序猿江湖的鄙视链(看完别笑^~^,哈哈,haha)
  3. gorm preload 搜索_macOS系统本地文件搜索工具
  4. Redis实战(八):面试常问:击穿,穿透,雪崩,分布式锁,API(jedis,luttce,springboot:low/high level)
  5. 关于redis的db的使用几号db的问题
  6. ECSHOP2.7.3删除后台左侧菜单中的云服务中心
  7. java 重载、重写、重构的区别
  8. 服务器维修解锁,云服务器解锁
  9. 查看Ubuntu内核和版本的两条命令以及LTS的含义
  10. AJAX技术开发Back按钮问题的应用程序
  11. 先进软件开发技术与工具
  12. django 序列化组件Serializer
  13. 虚拟机安装win10未找到驱动程序
  14. 从微信导出表情包的简便方法 (不使用微信 for pc,无需进入文件夹寻找!)
  15. Excel中3个超级好用的条件求和的函数
  16. html怎么设置下划线形状,科技常识:CSS如何给文字添加下划线样式
  17. 银行系统(万里长征始于足下)
  18. 实验室易发事故LS类型及防范方法
  19. sql练习题归纳总结中(2)
  20. (萌新的数电学习)用VHDL语言设计CPU

热门文章

  1. 特定场景下SQL的优化
  2. Mysql 各个版本区别
  3. 黄聪:在C#中如何使用资源中的图片
  4. 【译】使用这些 CSS 属性选择器来提高前端开发效率!
  5. 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用
  6. 网站漏洞修复公司处理网站被篡改跳转到其他网站的解决办法
  7. 突出告警信息(DBA_OUTSTANDING_ALERTS)
  8. 前端那些事之weex
  9. Reveal 的初步用法
  10. Java编程的逻辑 (62) - 神奇的序列化