网页登录安全跳转(过滤器Filter)

***用户只能登录后才能进入主页面,若未登录的用户则不能进入主页面,跳转至登录页面。

(非登录用户,粘贴已登录页面路径也不可进入主页面。)

1、建立一个filter文件,命名为registerFilter.java——》在doFilter()写入如下代码:

在registerServlet中获取会话,

HttpSession session=request.getSession();

session.setAttribute("name", username);

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        //filter和servlet中的request、response类型不同,需要强转
		HttpServletRequest req=(HttpServletRequest)request;
		HttpServletResponse res=(HttpServletResponse)response;
		if(req.getSession().getAttribute("name")!=null) {   //获取会话名
			chain.doFilter(req, res);
		}else {
            //会话名为空,即未登录,跳转至登录页面
			res.sendRedirect("/Web_01_login/register.jsp"); 
		}
	}

2、映射。

在WebContent——》WEB-INF——》web.xml文件中写入配置文件。

(写在<web-app></web-app>之间)

 <filter>
    <filter-name>registerFilter</filter-name>  //定义filter名字
    <filter-class>com.stx.filter.registerFilter</filter-class>  //添加filter文件路径
  </filter>
  <filter-mapping>  //设置filter文件作用范围
    <filter-name>registerFilter</filter-name>  //设置filter名字
    <url-pattern>/index.jsp</url-pattern>  //设置filter文件作用范围
  </filter-mapping>

3、OK


版权声明:本文为qq_43228899原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。