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;
}
}
分享到:
相关推荐
使用struts拦截器+注解实现日志审计功能 详见博客: http://blog.csdn.net/lk_blog/article/details/10248395
NULL 博文链接:https://zhouxianglh.iteye.com/blog/523783
NULL 博文链接:https://13lhqiang.iteye.com/blog/865800
struts2 spring ibatis整合,以及用户登陆时的拦截器操作,并记录日志的操作
我们对拦截器并不陌生,无论是 Struts 2 还是 Spring MVC 中都提供了拦截器功能,它可以根据 URL 对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。Spring Boot 同样提供了...
在众多情况下,日志的管理是通过拦截器来完成的,不过通过STRUTS2的拦截器编码比较繁琐,在此通过spring的aop来处理,在贫血模式下将代码量降到最低,同时配置文件均可共用,从此,不用为日志管理浪费任何时间。
网站框架搭建,涉及struts2+jquery+json、dwr、log日志、过滤器、拦截器。
Struts 2.0技术综合应用,包括上传图片功能,明文加密算法SHA-1和MD5,上传用户头像,根据action随机生成验证码,用链接实现数据的分页处理,以及拦截器和Logger日志框架的引入,总之相当强大,学习Struts 2.0,把这...
加强应用程序在拦截器中的日志记录逻辑会产生一个更可读的、实用的代码基础,所以拦截器广泛用于日志记录。您很快就会看到,为了处理横切关注点,Spring AOP 发布了它自己的拦截器,您也可以编写您自己的拦截器。
2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 ...
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控制标签详解 ...
2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 10、页面...
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...
拦截器配置灵活,功能强大Plugin体系结构,扩展性强多视图支持,支持FreeMarker、JSP、Velocity强大的Validator后端校验功能功能齐全,拥有struts2的绝大部分功能体积小仅248K,且无第三方依赖 JFinal v3.2 更新...
基础源码工程,提供了基础类,cookie拦截,session拦截与管理 02 network 网络工程,依赖于apache httpClient4,提供了对网络的访问服务 03 file 文件管理,目前的文件管理比较粗放,现实有两套逻辑,一套是本地文件...
AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2的绝大部分功能 体积小仅218K,且无第三方依赖 ...
2、后台:Struts2、动态代理、Mybatis框架、log4J日志框架、jstl 、jstl自定义分页标签、代码机器人、Dwr、POI(实现Excel文件的导入导出)等 3、数据库:Mysql 4、服务器:Tomcat 项目中涉及的功能: 1、项目以及...
2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring...