使用Filter实现登录验证

编程入门 行业动态 更新时间:2024-10-21 17:36:54

使用<a href=https://www.elefans.com/category/jswz/34/1770042.html style=Filter实现登录验证"/>

使用Filter实现登录验证

1、什么是Filter

Filter可认为是Servlet的一种特殊用法,主要是对用户发起的请求进行预处理或后处理,意思就是在请求到达用户想请求的地址之前先进入Filter,或者在离开用户请求之后进入Filter。Filter类似于门卫,你在进入之前门卫需要盘查你,身份合法进入,身份不合法拦截。

1.1、Filter过滤器的使用场景

1、对用户的请求进行统一认证,适合做权限管理。

2、对请求和响应进行加密处理。

3、对用户发送的请求或者响应的数据进行过滤处理。

4、对所有用户的请求或者响应进行记录,可以进行日志管理。

2、Filter的使用方式

说明1:Filter的使用需要实现Filter接口,并重写doFilter方法

说明2:导包信息import javax.servlet.Filter;

说明3:当用户正在进行登录的时候需要放行。

2.1、创建Filter

public class LoginFilter implements Filter{//销毁方法public void destroy() {}public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)throws IOException, ServletException {//将ServletRequest转化成HttpServletRequestHttpServletRequest request=(HttpServletRequest)servletRequest;HttpServletResponse response=(HttpServletResponse)servletResponse;//获取当前用户的请求地址String url=request.getRequestURI();//如果请求的地址中包含login,就放行//如果用户正在通过login.jsp或者请求login.do进行登录,要放行。if(url.indexOf("login")>-1){//放行filterChain.doFilter(request, response);return ;}HttpSession session=request.getSession();String username=(String)session.getAttribute("username");//如果username值为空,说明没有登录,因为登录成功后会将用户信息保存在session中。if(username!=null){//放行filterChain.doFilter(request, response);return ;}//如果没有登录转发到login.jsprequest.getRequestDispatcher("login.jsp").forward(request, response);}@Overridepublic void init(FilterConfig arg0) throws ServletException {// TODO Auto-generated method stub}}

2.2、在web.xml中配置Filter信息

<!-- 自定义过滤器 --><filter><filter-name> LoginFilter </filter-name><filter-class>com.it.filter. LoginFilter </filter-class></filter><filter-mapping><filter-name> LoginFilter </filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

更多推荐

使用Filter实现登录验证

本文发布于:2023-11-29 17:17:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1647070.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Filter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!