zoukankan      html  css  js  c++  java
  • 拦截器

    学沫~~~~

    拦截器拦截没登陆过的人进入系统,所以要得到进入过的人的name,用session。

    1,在.Java中用session保存用户登录过的信息,这里还有继承一个类ActionSupport,不知道是什么,背下来背下来~

     1 package com.chinasofti.strutshuman.struts;
     2 
     3 import java.util.Map;
     4 
     5 import org.apache.struts2.interceptor.SessionAware;
     6 
     7 import com.chinasofti.strutshuman.DAO.InformationDAO;
     8 import com.chinasofti.strutshuman.entity.Information;
     9 import com.opensymphony.xwork2.ActionSupport;
    10 
    11 @SuppressWarnings("serial")
    12 public class Landing extends ActionSupport implements SessionAware{
    13     private  Information infor ;
    14     private String massage;
    15     private Map<String,Object> session;
    16     String lervel1="员工";
    17     String lervel2="管理员";    
    18     public Information getInfor() {
    19         return infor;
    20     }
    21     public void setInfor(Information infor) {
    22         this.infor = infor;
    23     }
    24     public String getMassage() {
    25         return massage;
    26     }
    27     public void setMassage(String message) {
    28         this.massage = message;
    29     }
    30     
    31 
    32     //前面不用管
    33     public String execute(){
    34         InformationDAO infordao = new InformationDAO();
    35         Information inf = infordao.getInformationByName(infor.getName());
    36         if(inf!=null){
    37             if(infor.getPassword().equals(inf.getPassword())){
    38                 if(infor.getLervel().equals(inf.getLervel())&&inf.getLervel().equals(lervel1)){
    39                     //用SESSION保存用户登陆过的信息
    40                     session.put("OK",infor);
    41                     //顺便保留下name
    42                     session.put("name",infor.getName());
    43                     massage="欢迎员工登录!";
    44                     return "havelervel1";
    45                 }else if(infor.getLervel().equals(inf.getLervel())&&inf.getLervel().equals(lervel2)){
    46                     session.put("OK",infor);
    47                     session.put("name",infor.getName());
    48                     massage="欢迎管理员登录!";
    49                     return "havelervel2";
    50                 }else{
    51                     massage="你的身份错了!";
    52                     return "havelervel3";
    53                 }
    54                 
    55             }else{
    56                 massage="密码错误!请再次登录";
    57                 return "havepassword";
    58             }
    59         }
    60         return massage;    
    61     }
    62     @Override
    63     public void setSession(Map<String, Object> session) {
    64         // TODO Auto-generated method stub
    65         this.session=session;
    66     }
    67 }
    View Code

    2.创建一个类来验证用户是不是已经登陆过了,这里也要继承一个类  AbstractInterceptor,背吧!

     1 package com.chinasofti.strutshuman.struts;
     2 
     3 import java.util.Map;
     4 
     5 import javax.servlet.http.HttpServletRequest;
     6 
     7 import org.aopalliance.intercept.Invocation;
     8 import org.apache.struts2.ServletActionContext;
     9 
    10 
    11 import com.opensymphony.xwork2.ActionInvocation;
    12 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
    13 
    14 public class Landing_Chick extends  AbstractInterceptor{
    15 
    16     @Override
    17     public String intercept(ActionInvocation invocation) throws Exception {
    18         
    19         // TODO Auto-generated method stub
    20         HttpServletRequest request=ServletActionContext.getRequest();
    21          Map<String,Object> session=invocation.getInvocationContext().getSession();
    22          Object obj=session.get("OK");
    23           if(obj!=null){
    24               //request.setAttribute("message", "欢迎你!");
    25               Object name=session.get("name");
    26               System.out.println(name);
    27               request.setAttribute("message",name);
    28               return "landing_chick";
    29           }
    30            
    31            request.setAttribute("message", "对不起您还没有登录,请先登录");
    32            return "chinkshibai";
    33           }
    34 }
    View Code

    3.重点的是Struts,在Struts里面跳转界面,因为里面太多action 了,下面这两个action都要写,我很喜欢弄错,无语ing~

     1 <!-- 拦截器,Struts后面的名字是要验证的类名 -->
     2     <interceptors>
     3      <interceptor name="login" class="com.chinasofti.strutshuman.struts.Landing_Chick"/>
     4     </interceptors>
     5 
     6 
     7 
     8 
     9 <!-- 拦截器的跳转界面,注意登录过和没登陆过跳转到不同的界面 -->
    10      <action name="landing_chick"  class="com.chinasofti.strutshuman.struts.Landing_Chick_ramp" >
    11                  <result name="landing_chick_ramp"  type="dispatcher">/employees.jsp</result>  
    12                  <result name="chinkshibai"  type="dispatcher">/landing_chick.jsp</result>  
    13                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
    14                  <interceptor-ref name="login"></interceptor-ref>
    15                 <interceptor-ref name="defaultStack"></interceptor-ref>
    16      </action>
    View Code
  • 相关阅读:
    day 6 敌机
    day 11 绘制轮廓
    day 10 形态学处理 膨胀
    day 5 飞机发射子弹 难点??
    激活Navicat?如何注册Navicat?
    Gradle DSL method found: ‘android()’错误
    腾讯sdk配置
    Android模拟器报"Failed To Allocate memory 8"错误的解决办法
    文件上传工具swfupload[转]
    35个jquery技巧[转]
  • 原文地址:https://www.cnblogs.com/zh13197490940/p/5588688.html
Copyright © 2011-2022 走看看