Filter过滤jsp实现自动登陆

package com.util;

import java.io.IOException;

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.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

 

public class LoginFilter implements Filter {

 @Override
 public void destroy() {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  HttpSession session = ((HttpServletRequest)request).getSession();

  if("/mSys2.0/login.jsp".equals(((HttpServletRequest)request).getRequestURI())){
   System.out.println("ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");
//   Cookie[] cookies = ((HttpServletRequest)request).getCookies();
   Cookie[] cookies = ServletActionContext.getRequest().getCookies();
   String logCookie = "";
   if((cookies != null) && (cookies.length > 0)){
    for(int i = 0 ; i < cookies.length; i++){
     String name = cookies[i].getName();
     System.out.println("LoginFilter----------logCookie  name--->"+name+"---value--->"+cookies[i].getValue());
     if(name != null && name.endsWith("logstats")){
      logCookie = cookies[i].getValue();
      
      System.out.println("LoginFilter----------logCookie--->"+logCookie);
     }
    }
   }
   

   

   
   System.out.println("ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss--->"+logCookie);
   if(logCookie.endsWith("loged")){
//   if(i>0){
    ((HttpServletResponse) response).sendRedirect("productActionQuery?pageCurrerntNumber=0");
   }else{
    chain.doFilter(request, response);
   }
   
   
  }else{
   if(session.getAttribute("userInfo") == null){
    ((HttpServletResponse) response).sendRedirect("/mSys2.0/login.jsp");

   }
  }
 }

 @Override
 public void init(FilterConfig arg0) throws ServletException {
  // TODO Auto-generated method stub

 }

}

 

 

Action---------------------->

 

 

 

 

 

 

 

public String logtest() throws

Exception{

 

 

 

if(ms.valid(userInfo.getUsername(), userInfo

.getPassword())){

System.

 

out.println("LoginAction--userInfo.getUsername------->"+userInfo

.getUsername());

System.

 

out.println("LoginAction--userInfo.getUsername------->"+userInfo

.getPassword());

ActionContext actionContext = ActionContext.getContext();

Map session = actionContext.getSession();

 

 

//USED TO ASURE THE USER HAS THE AUTHORITY

 

session.put(

 

"username" , userInfo

.getUsername());

 

 

//USED TO ASURE THE USER HAD LOGED

 

 

 

if ( logStats .equals( "loged"

)){

Cookie c =

 

new Cookie("logstats",logStats

);

c.setMaxAge(60);

c.setPath(

 

"/"

);

ServletActionContext.getResponse().addCookie(c);

}

 

 

 

return "success"

;

}

 

else

{

 

 

return "error"

;

 

 

 

 

 

Web.xml-------------------------------------------------------->

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<filter

>

 

 

 

< filter-name > LoginFilter </ filter-name

>

 

 

 

< filter-class > com.util.LoginFilter </ filter-class

>

 

 

 

</ filter

>

 

 

 

 

< filter-mapping

>

 

 

 

< filter-name > struts2 </ filter-name

>

 

 

 

< url-pattern > /* </ url-pattern

>

 

 

 

</ filter-mapping

>

 

 

 

 

< filter-mapping

>

 

 

 

< filter-name > LoginFilter </ filter-name

>

 

 

 

< url-pattern > *.jsp </ url-pattern

>

 

 

 

</ filter-mapping

>

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值