SSH框架主要的类



import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;

import com.opensymphony.xwork2.ActionSupport;

public class BaseAction extends ActionSupport implements ServletRequestAware,
        ServletResponseAware ,
        ParameterAware,
        SessionAware{
   
    public Logger logger = Logger.getLogger(BaseAction.class);
   
    public HttpServletRequest request;
   
    public HttpServletResponse response;
   
    public Map params;
   
    public Map session;

    //实现接口ServletRequestAware的方法
    public void setServletRequest(HttpServletRequest request) {
        // TODO Auto-generated method stub
        this.request = request;
    }

    //实现接口ServletResponseAware的方法
    public void setServletResponse(HttpServletResponse response) {
        // TODO Auto-generated method stub
        this.response = response;
    }

    //实现接口ParameterAware的方法
    public void setParameters(Map params) {
        // TODO Auto-generated method stub
        this.params = convertForParam(params);
    }

    //实现接口SessionAware的方法
    public void setSession(Map session) {
        // TODO Auto-generated method stub
        this.session = session;
    }
   
    public Map convertForParam(Map map){
        HashMap hashmap = new HashMap(0);
        //对接收到的参数map进行迭代,将数据取出来重新放到新定义的map中,对map进行转换
        Entry entry;
        Object[] value;
        for(Iterator itr = map.entrySet().iterator();itr.hasNext();hashmap.put(entry.getKey(), value.length==1 ? value[0]:(Object)value)) {
            entry = (Entry) itr.next();
            value = (Object[]) entry.getValue();
        }
       
        return hashmap;
    }


}





import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.apache.struts2.StrutsStatics;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorityInterceptor extends AbstractInterceptor {
    private static final long serialVersionUID = 2329563960222482824L;
    private static Logger logger = Logger.getLogger(AuthorityInterceptor.class);

    @Override
    public String intercept(ActionInvocation invocation) throws Exception {

        try {
            ActionContext ctx = invocation.getInvocationContext();
            HttpServletRequest request =
                (HttpServletRequest) ctx.get(StrutsStatics.HTTP_REQUEST);
            String uri = request.getRequestURI();

            if (uri.contains("Login") || uri.contains("AdminLogin")) {
                return invocation.invoke();
            }

            if (request.getSession()!= null) {
                HttpSession session = request.getSession();
                if(session.getAttribute("xySysUser")!=null){
                    return invocation.invoke();
                }
            }

            return Action.LOGIN;
        } catch (Exception e) {
            logger.error(null, e);
            throw e;
        }

    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值