`
wawa129
  • 浏览: 321148 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2拦截器管理日志

 
阅读更多
1:struts配置
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="prot" extends="json-default">
    <interceptors>
            <interceptor name="protInterceptor"
                class="com.home.cn.web.interceptor.ProtInterceptor">
            </interceptor>
        </interceptors>
<action name="protAction" class="com.asia.home.cn.web.prot.ProtAction">
<result name="list" type="redirect">/main/prot/list.jsp</result>
<result name="csList">/main/cs/list.jsp</result>
<result name="csEdit">/main/cs/edit.jsp</result>
<result name="csInfo">/main/cs/info.jsp</result>
<result name="adInfo">/main/ad/protinfo.jsp</result>
<result name="logout">/logout.html</result>
    <result type="json"/>
    <interceptor-ref name="protInterceptor">
   <param name="includeMethods">ad_edit,upStatus,editByStatus,change_att,delProt</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
</action>
</package>
</struts>



2:拦截器类
package com.home.cn.web.interceptor;

import java.util.Date;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.home.cn.contract.entity.SysLogInfo;
import com.home.cn.contract.entity.user.Exiuser;
import com.home.cn.services.log.ISysLogService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class ProtInterceptor extends MethodFilterInterceptor {
    SysLogInfo logInfo = SysLogInfo.getInstance();
    private ISysLogService logService;

    @Override
    protected String doIntercept(ActionInvocation invocation) throws Exception {
        String returnValue = invocation.invoke();
        // 取得请求相关的ActionContext实例
        ActionContext ctx = invocation.getInvocationContext();
        HttpServletRequest request = ServletActionContext.getRequest();
        Map session = ctx.getSession();
        String flowNo = (String)request.getAttribute("flowNO"); //流水号
        String operatorMessage = (String)request.getAttribute("operatorMessage"); //操作系统
        String vMessage = (String)request.getAttribute("vMessage"); //是否重复
        String operatorStatus = (String)request.getAttribute("operatorStatus"); //操作状态
        Exiuser user = (Exiuser) session.get("USER_INFO");
        logInfo.setFlowNo(flowNo);
        logInfo.setMessage(operatorMessage);
        logInfo.setStatus(operatorStatus);
        logInfo.setUserName(user.getFsName());
        logInfo.setCreateTime(new Date());
        if(!"请不要重复提交!".equals(vMessage)&&operatorStatus!=null){
            logService.save(logInfo);
        }
        return returnValue;
    }

    @Override
    public Set<String> getExcludeMethodsSet() {
        // TODO Auto-generated method stub
        return super.getExcludeMethodsSet();
    }

    @Override
    public Set<String> getIncludeMethodsSet() {
        // TODO Auto-generated method stub
        return super.getIncludeMethodsSet();
    }

    public void setLogService(ISysLogService logService) {
        this.logService = logService;
    }
    }
分享到:
评论
1 楼 ZP0605 2014-07-17  
com.asia.home.cn
这个包名好熟悉

相关推荐

    使用struts拦截器+注解实现日志审计功能

    使用struts拦截器+注解实现日志审计功能 详见博客: http://blog.csdn.net/lk_blog/article/details/10248395

    Struts2 拦截器 和 Java 中的动态代理

    NULL 博文链接:https://zhouxianglh.iteye.com/blog/523783

    struts2 日志拦截器

    NULL 博文链接:https://13lhqiang.iteye.com/blog/865800

    struts2 spring ibatis整合以及拦截器日志记录

    struts2 spring ibatis整合,以及用户登陆时的拦截器操作,并记录日志的操作

    SpringBoot 自定义拦截器 的 源代码

    我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...

    贫血模式下的SSH处理日志管理以及对权限管理的思考

    在众多情况下,日志的管理是通过拦截器来完成的,不过通过STRUTS2的拦截器编码比较繁琐,在此通过spring的aop来处理,在贫血模式下将代码量降到最低,同时配置文件均可共用,从此,不用为日志管理浪费任何时间。

    struts2+spring+hibernate+jquery+dwr+json

    网站框架搭建,涉及struts2+jquery+json、dwr、log日志、过滤器、拦截器。

    达内Struts2.0学习之当当网系统学习案例

    Struts 2.0技术综合应用,包括上传图片功能,明文加密算法SHA-1和MD5,上传用户头像,根据action随机生成验证码,用链接实现数据的分页处理,以及拦截器和Logger日志框架的引入,总之相当强大,学习Struts 2.0,把这...

    使用Spring更好地处理Struts动作

    加强应用程序在拦截器中的日志记录逻辑会产生一个更可读的、实用的代码基础,所以拦截器广泛用于日志记录。您很快就会看到,为了处理横切关注点,Spring AOP 发布了它自己的拦截器,您也可以编写您自己的拦截器。

    S2SH项目整体系统架构

    2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 ...

    低清版 大型门户网站是这样炼成的.pdf

    2.6.1 struts 2内建拦截器介绍 95 2.6.2 定义和使用拦截器栈 97 2.6.3 使用自定义拦截器 98 2.7 小结 100 第3章 struts 2标签库详解与ajax技术应用 103 3.1 struts 2主题与模板 103 3.2 struts 2控制标签详解 ...

    S2SH系统架构

    2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 10、页面...

    Java Web程序设计教程

    6.1.2拦截器及拦截器栈的应用 111 6.1.3自定义拦截器 115 6.2类型转换器 117 6.2.1struts2内置类型转换器 117 6.2.2引用类型的转换方式 117 6.2.3特殊对象的类型转换 118 6.2.4类型转换的错误处理 121 6.3...

    JFinal v3.2

    拦截器配置灵活,功能强大Plugin体系结构,扩展性强多视图支持,支持FreeMarker、JSP、Velocity强大的Validator后端校验功能功能齐全,拥有struts2的绝大部分功能体积小仅248K,且无第三方依赖 JFinal v3.2 更新...

    百度地图毕业设计源码-FutureStudio:这是在Struts2、Hibernate3、Spring3上构建的J2ee项目

    基础源码工程,提供了基础类,cookie拦截,session拦截与管理 02 network 网络工程,依赖于apache httpClient4,提供了对网络的访问服务 03 file 文件管理,目前的文件管理比较粗放,现实有两套逻辑,一套是本地文件...

    JFinal(JAVA 极速WEB ORM框架 ) v3.2.zip

    AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2的绝大部分功能 体积小仅218K,且无第三方依赖 ...

    java项目之hrm人事管理项目(java毕业设计)

    2、后台:Struts2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现Excel文件的导入导出)等 3、数据库:Mysql 4、服务器:Tomcat 项目中涉及的功能: 1、项目以及...

    Spring面试题

    2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring...

Global site tag (gtag.js) - Google Analytics