Struts2核心拦截器---学习笔记(合集五篇)

时间:2019-05-12 02:51:46下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Struts2核心拦截器---学习笔记》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Struts2核心拦截器---学习笔记》。

第一篇:Struts2核心拦截器---学习笔记

Struts2的核心——拦截器

在struts2中,拦截器(Interceptor)是其核心的组件,当我们访问一个action时,我们可以通过拦截器的配置,做一些需要的操作。

我们可以写我们自己的拦截器,但是要实现或继承struts2给我们提供的接口或类。

①.我们实现Interceptor接口,该接口是struts2提供的拦截器接口,位于com.opensymphony.xwork2.interceptor包下,其提供了类似与filter的一些方法,我们必须实现它的方法:destroy()、init()、intercept(ActionInvocation)。

public class MyInterceptor implements Interceptor {

public void destroy(){

System.out.println(“destroy”);} public void init(){ } public String intercept(ActionInvocation invocation)throws System.out.println(“init”);Exception {

System.out.println(“intercept”);

String resultString= invocation.invoke();System.out.println(“finish”);return resultString;}

②.我们可以继承AbstractInterceptor类,该类是一个抽象类,它位于com.opensymphony.xwork2.interceptor包下,它实现了Interceptor接口,并完成了对destroy()方法和init()方法的实现,但保留了抽象方法interceptor(),以供自定义的拦截器来重写其方法,完成特定的需求。

public class MyInterceptor1 extends AbstractInterceptor {

} @Override

public String intercept(ActionInvocation invocation)throws

System.out.println(“intercept1”);

String result=invocation.invoke();

System.out.println(“finish1”);Exception { return result;}

③.上面两个是对action进行的拦截,粒度比较粗,当然struts2也给我们提供了对action中方法的拦截。这时,我们自己写的类就要继承struts

2给我们提供的方法过滤类,该

于MethodFilterInterceptor com.opensymphony.xwork2.interceptor包下,但该类已经完成了对interceptor()方法的简单实现,而提供了一个doIntercept()方法。

public class MyInterceptor2 extends MethodFilterInterceptor { @Override

protected String doIntercept(ActionInvocation invocation)throws Exception {

System.out.println(“methodFilterInterceptor2”);String result=invocation.invoke();System.out.println(“finish2”);

return result;} }

写好了我们自己的拦截器类,还需要在struts.xml文件进行配置来告诉struts2框架,我们的拦截器要拦截的action、方法。

首先,我们要在package包下增加一个新的元素标签 ,在该标签下,我们就可以定义我们自己写的拦截器,如:

class=“com.test.interceptor.MyInterceptor”>

定义了一个name是myInterceptor的拦截器(即实现了Interceptor接口的那个拦截器),类似的,我们定义了上面我们已写的3个拦截器。

name=“myInterceptor”

class=“com.test.interceptor.MyInterceptor”>

请注意下面代码,我们定义了(拦截器栈),在struts2中还有拦截器栈,一个拦截器栈中可以包含多个拦截器,当我们要在某一个action上进行多个拦截时,我们可以将其放入一个拦截器栈中,这样在action中配置的时候,只需配置拦截器栈就可以了。

name=“myInterceptor”>

name=“myInterceptor1”>

defaultStack这个拦截器栈是struts2,提供的一个默认拦截器栈,其中实现了一些常用功能,如:struts2的检验框架,当我们在声明package时候会有extends属性,其值为struts-default,而defaultStack就定义在struts-default包类,进而就被我们的package所继承。

name=“defaultStack”>

在拦截器的配置中,我们可以为package配置一个默认的拦截器或拦截器栈,如果我们不指定,其值就为父包继承下来的defaultStack。

name=“myStack”>

/result.jsp

/login2.jsp /login2.jsp

/output.jsp

/success.jsp

/register4.jsp

/success.jsp /register2.jsp 我们在action中,对我们写的拦截器进行配置,这里要注意,我们在配置自己写的拦截器后,默认的拦截器,就不起作用了,如果还需要struts2默认的拦截器提供的功能,我们就要手动配置下了。另外,在拦截器中有

标签,可以对拦截器类中定义的属性赋值,这里是告诉拦截器,只拦截abc()方法。

abc

第二篇:Struts2中的拦截器与过滤器学习

拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法,比如动态代理就是拦截器的简单实现,过滤器是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符。

拦截器与过滤器的区别:

1、拦截器是基于java的反射机制的,而过滤器是基于函数回调

2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器

3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用

4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能

5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次

过滤器

也就是写一个自己的类,让这个类实现于Filter这个接口,这个接口里有三个方法。

init(),doFilter(),destroy();主要是对doFilter()进行操作,你可以在这个方法里写你想进行的操作.写完这些之后,就是在web.xml里的配置了

myFilter 包名+实现Filter接口的类 myFilter /*

里面设置了/*之后,也就是说在进行每一个操作时都会自动去执行自定义的filter里的doFilter方法里的代码.这样就可以进行相应的过滤操作了。拦截器

1、定义拦截器

a.方法一:实现Interceptor接口

public class MyInterceptor implements Interceptor { private String hello;//定义带参数的拦截器 public String getHello(){ return hello;} public void setHello(String hello){ this.hello = hello;} public void destroy(){ // TODO Auto-generated method stub System.out.println(“destroy”);} @Override public void init(){ //服务器启动时自动加载一次 System.out.println(“init”);System.out.println(“hello”);} @Override public String intercept(ActionInvocation arg0)throws Exception { System.out.println(“inercept”);String result=arg0.invoke();System.out.println(“finish”);return result;} } b.方法二:继承AbstractInterceptor类

public class MyInterceptor2 extends AbstractInterceptor { @Override public String intercept(ActionInvocation arg0)throws Exception { System.out.println(“intercept2”);String result=arg0.invoke();System.out.println(“finish2”);return result;} } c.方法三:继承MethodFilterInterceptor类,定义过滤方法的拦截器 public class MyInterceptor3 extends MethodFilterInterceptor { //过滤方法的拦截器 @Override protected String doIntercept(ActionInvocation arg0)throws Exception { arg0.addPreResultListener(new MyListener());//将监听器注册到里面

System.out.println(“myinterceptor3”);String result=arg0.invoke();System.out.println(“after myinterceptor3 ”);return result;} }

2、配置拦截器

一旦实现了上面的拦截器,就可以在所有需要实现控制的Action中复用上面的拦截器。为了使用该拦截器,首先在struts.xml文件中定义该拦截器,定义拦截器的配置片段如下:

world -->

3、应用拦截器

/success.jsp /register2.jsp

第三篇:struts2拦截器--将用户操作日志存入数据库

struts2拦截器--将用户操作日志存入数据库

1.建表,如下所示:

2.新建OperationLogModel.java,其具有上述属性。3.自动生成PO 4.在struts.xml中配置拦截器:

5.如下例子中的用户登录和修改密码,要在相应xml文件中加入,即:

index

changePasswordPre

6.在项目中新建文件夹log,在其下新建类LogInterceptor.java,如下: package com.bfw.crms.log;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.commons.lang.StringUtils;import org.apache.log4j.Logger;import org.apache.struts2.ServletActionContext;import com.bfw.crms.action.BulletinAction;import com.bfw.crms.action.SystemAction;import com.bfw.crms.model.EmployeeModel;import com.bfw.crms.model.OperationLogModel;import com.bfw.crms.po.OperationLog;import com.bfw.crms.util.BeanUtil;import com.bfw.crms.util.DateTimeUtil;import com.ninetowns.framework.dao.ObjectDao;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;@SuppressWarnings(“serial”)

public class LogInterceptor extends AbstractInterceptor{

private String logName;

private String logContent;

protected Logger log = Logger.getLogger(getClass());

protected HttpSession getSession()

{

return getRequest().getSession();

}

protected HttpServletRequest getRequest()

{

return ServletActionContext.getRequest();

}

public void init(){

}

private ObjectDao objectDao = null;

public ObjectDao getObjectDao()

{

return objectDao;

}

public void setObjectDao(ObjectDao objectDao)

{

this.objectDao = objectDao;

}

@Override

public String intercept(ActionInvocation ai)throws Exception

{

Object action= ai.getAction();

String method= ai.getProxy().getMethod();

try{

if(StringUtils.isBlank(method))method = “method”;

EmployeeModel sysUser(EmployeeModel)this.getSession().getAttribute(“employee”);

String userName = “";

if(sysUser!=null)userName = sysUser.getName();

=

String currentTime = DateTimeUtil.getDateTime();

String logContentHead = ”用户“+userName+currentTime;

ai.invoke();//执行被拦截action

if(action instanceof BulletinAction){

if(method.equals(”save“)){

logName = ”保存部门“;

logContent = logContentHead

+”保存部门:“+ai.getStack().findValue(”sysOrg.orgName“);

log.info(logContent);

addSysLog(logName,logContent);

}

if(method.equals(”delete“)){

logName = ”删除部门“;

logContent = logContentHead +”“+((String[])(ai.getStack().findValue(”flag_id“))).length+”条部门信息“;

log.info(logContent);

addSysLog(logName,logContent);

}

}

if(actioninstanceof SystemAction){

if(method.equals(”login“)){

logName = ”登录系统“;

logContent = logContentHead;

log.info(logContent);

addSysLog(logName,logContent);

}

if(method.equals(”changePassword“)){

logName = ”修改密码“;

logContent = logContentHead +”删除1条单位信息";

log.info(logContent);

addSysLog(logName,logContent);

}

}

}catch(Exception e){

e.printStackTrace();

}

return Action.SUCCESS;

}

/**

* 插入系统日志 model2po()

* @param logName

* @param logContent

*/

删除

private void addSysLog(String logName,String logContent){

OperationLogModel operationModel = new OperationLogModel();

OperationLog operationPO = new OperationLog();

operationModel.setOperation(logContent);

BeanUtil.model2po(operationModel, operationPO);

this.getObjectDao().saveObject(operationPO);

}

} OK

第四篇:社会主义核心价值观学习笔记

社会主义核心价值观学习笔记

社会主义核心价值观是社会主义核心价值体系的内核,体现社会主义核心价值体系的根本性质和基本特征,反映社会主义核心价值体系的丰富内涵和实践要求,是社会主义核心价值体系的高度凝练和集中表达。

党的十八大提出,倡导富强、民主、文明、和谐,倡导自由、平等、公正、法治,倡导爱国、敬业、诚信、友善,积极培育和践行社会主义核心价值观。富强、民主、文明、和谐是国家层面的价值目标,自由、平等、公正、法治是社会层面的价值取向,爱国、敬业、诚信、友善是公民个人层面的价值准则,这24个字是社会主义核心价值观的基本内容。

“富强、民主、文明、和谐”,是我国社会主义现代化国家的建设目标,也是从价值目标层面对社会主义核心价值观基本理念的凝练,在社会主义核心价值观中居于最高层次,对其他层次的价值理念具有统领作用。富强即国富民强,是社会主义现代化国家经济建设的应然状态,是中华民族梦寐以求的美好夙愿,也是国家繁荣昌盛、人民幸福安康的物质基础。民主是人类社会的美好诉求。我们追求的民主是人民民主,其实质和核心是人民当家作主。它是社会主义的生命,也是创造人民美好幸福生活的政治保障。文明是社会进步的重要标志,也是社会主义现代化国家的重要特征。它是社会主义现代化国家文化建设的应有状态,是对面向现代化、面向世界、面向未来的,民族的科学的大众的社会主义文化的概括,是实现中华民族伟大复兴的重要支撑。和谐是中国传统文化的基本理念,集中体现了学有所教、劳有所得、病有所医、老有所养、住有所居的生动局面。它是社会主义现代化国家在社会建设领域的价值诉求,是经济社会和谐稳定、持续健康发展的重要保证。

“自由、平等、公正、法治”,是对美好社会的生动表述,也是从社会层面对社会主义核心价值观基本理念的凝练。它反映了中国特色社会主义的基本属性,是我们党矢志不渝、长期实践的核心价值理念。自由是指人的意志自由、存在和发展的自由,是人类社会的美好向往,也是马克思主义追求的社会价值目标。平等指的是公民在法律面前的一律平等,其价值取向是不断实现实质平等。它要求尊重和保障人权,人人依法享有平等参与、平等发展的权利。公正即社会公平和正义,它以人的解放、人的自由平等权利的获得为前提,是国家、社会应然的根本价值理念。法治是治国理政的基本方式,依法治国是社会主义民主政治的基本要求。它通过法制建设来维护和保障公民的根本利益,是实现自由平等、公平正义的制度保证。

“爱国、敬业、诚信、友善”,是公民基本道德规范,是从个人行为层面对社会主义核心价值观基本理念的凝练。它覆盖社会道德生活的各个领域,是公民必须恪守的基本道德准则,也是评价公民道德行为选择的基本价值标准。爱国是基于个人对自己祖国依赖关系的深厚情感,也是调节个人与祖国关系的行为准则。它同社会主义紧密结合在一起,要求人们以振兴中华为己任,促进民族团结、维护祖国统一、自觉报效祖国。敬业是对公民职业行为准则的价值评价,要求公民忠于职守,克己奉公,服务人民,服务社会,充分体现了社会主义职业精神。诚信即诚实守信,是人类社会千百年传承下来的道德传统,也是社会主义道德建设的重点内容,它强调诚实劳动、信守承诺、诚恳待人。友善强调公民之间应互相尊重、互相关心、互相帮助,和睦友好,努力形成社会主义的新型人际关系。

第五篇:核心价值观学习笔记摘要

学习笔记摘要——

党的十七届六中全会重要精神

一、充分认识推进文化改革发展的重要性和紧迫性,更加自觉、更加主动地推动社会主义文化大发展大繁荣

二、坚持中国特色社会主义文化发展道路,努力建设社会主义文化强国

三、推进社会主义核心价值体系建设,巩固全党全国各族人民团结奋斗的共同思想道德基础

(一)坚持马克思主义指导地位。

(二)坚定中国特色社会主义共同理想。

(三)弘扬以爱国主义为核心的民族精神和以改革创新为核心的时代精神。

学习贯彻胡锦涛总书记“七一”重要讲话精神学习材料

经过90年的奋斗、创造、积累,党和人民必须倍加珍惜、长期坚持、不断发展的成就是:开辟了中国特色社会主义道路,形成了中国特色社会主义理论体系,确立了中国特色社会主义制度。

回顾90年中国的发展进步,可以得出一个基本结论:办好中国的事情,关键在党。

以经济建设为中心是兴国之要,是我们党、我们国家兴旺发达、长治久安的根本要求。

推进社会建设,要以保障和改善民生为重点,着力解决好人民最关心最直接最现实的利益问题。

正确处理改革发展稳定关系,实现改革发展稳定的统一,是关系我国社会主义现代化建设全局的重要指导方针。巩固的国防和强大的军队,是国家主权、安全、领土完整的坚强后盾。

发展社会主义先进文化,必须把社会主义核心价值体系建设融入国民教育、精神文明建设和党的建设全过程。我们要一如既往坚持“一国两制”、“港人治港”、“澳人治澳”、高度自治的方针。

胡锦涛在十七届中央纪委七次全会上发表重要讲话——切实做好保持党的纯洁性各项工作,深入推进党风廉政建设和反腐败斗争

胡锦涛强调,当前要重点抓好以下工作。

第一,加强对中央重大决策部署贯彻落实情况的监督检查。

第二,严格执行组织人事工作纪律特别是换届纪律。

第三,加强换届后领导班子和领导干部作风建设。

第四,按照建立健全惩治和预防腐败体系要求全面推进反腐倡廉各项工作。

第五,继续解决好反腐倡廉建设中人民群众反映强烈的突出问题。

第六,认真总结党风廉政建设和反腐败工作的有益经验。

***在全国政法工作会议上强调 ——深化三项重点工作,开展政法干警核心价值观教育实践活动,为党的十八大胜利召开营造和谐稳定的社会环境

各级政法机关要增强政治意识、大局意识、忧患意识、责任意识,认真履行法定职责:

一要积极服务经济社会发展。把握好稳中求进的工作总基调,充分发挥政法机关职能作用,切实保障宏观调控政策措施的有效实施。

二要全力维护国家安全和社会稳定。打好主动仗、整体仗,有效防范、依法打击各种分裂破坏、暴力恐怖犯罪活

动。

三要切实加大社会管理创新力度。按照建设中国特色社会主义社会管理体系的目标要求。

袁纯清在中国共产党山西省第十次代表大会上的报告——率先走出资源型地区转型跨越发展新路,为加快实现全面建设小康社会目标努力奋斗

一、过去五年的工作

二、坚定转型跨越,加快全面建设小康社会进程

三、抢抓机遇,全力推进转型综改试验区建设

四、“四化”引领经济又好又快发展

五、以大开放推动大发展

六、加强社会主义民主政治建设

七、加快文化强省建设步伐

袁纯清在全省党风廉政建设干部大会上的讲话

一、关于全省党风廉政建设和反腐败斗争形势

二、着眼于为转型跨越提供坚强保证,扎实有效推进党风廉政建设和反腐败斗争

第一,要以严明政治纪律为重点,坚决维护党的集中统一。

第二,要以加强监督检查为重点,进一步推动工作落实、创优发展环境。

第三,要以煤焦领域反腐败专项斗争为重点,加快构建具有山西特色的惩治和预防腐败体系。

第四,要以整治收受礼金和治理公务用车为重点,深化干部廉洁自律工作。

第五,要以整肃风气为重点,进一步加强干部作风建设。

第六,要以农村社区企业为重点,切实加强基层党风廉政建设。

第七,要以治理拉票贿选为重点,确保全省换届工作风清气正。

田喜荣在中国共产党长治市第十次代表大会上的报告——抓好转型跨越 提高民生质量为把我市建设成为全国一流宜居城市而努力奋斗

一、市九次党代会以来的工作

五年的探索和实践,不仅创造了丰硕的物质成果,也积累了宝贵的经验。

二、今后五年的目标任务

实现上述目标,必须在今后五年工作中,正确处理好“六大关系”,着力提高“六个水平”

三、以改革创新精神加强和改进新形势下党的建设

始终坚持党要管党、从严治党,以党的先进性建设和执政能力建设为主线、

下载Struts2核心拦截器---学习笔记(合集五篇)word格式文档
下载Struts2核心拦截器---学习笔记(合集五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    struts2核心工作流程与原理(推荐阅读)

    struts2核心工作流程与原理 收藏 这是Struts2官方站点提供的Struts 2 的整体结构。 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1. 客户端提起一个(HttpServletR......

    政法干警核心价值观学习笔记

    政法干警核心价值观学习笔记当前,面对人民群众的司法需求日益增加、社会矛盾纠纷日益复杂化的发展形势,如何牢固树立“忠诚、为民、公正、廉洁”的政法核心价值观,培养和造就一......

    社会主义核心价值观学习笔记(共五则)

    社会主义核心价值观学习笔记1、什么是价值? 价值是具体事物的属性,是指客观对主体的意义。即这个事物对主体(人)有用或没有用。有用就有用价值,没有用就没有价值。 2、什么是价值......

    学习笔记

    我们的福音——“厉行节约,反对浪费”有感好客中国人,设宴必有剩。”这是流传在中国大部分地区的陈规陋习。客人走后,主家只有满桌的剩菜、剩饭、剩酒,才能充分表达主人那颗虚荣......

    学习笔记(模版)

    学习笔记 学习时间:2014年5月27日16:30—17:30 学习地点:CT远程室 参加人员:医技支部全体党员 学习内容:关于开展机关党员“践行三严三实、做合格人民公仆“村社区党员”在党爱党......

    2014学习笔记

    时间:2014年1月8日 地点:三楼会议室 人员:全体党员、职工 形式:集中学习 主讲人:张晓波 学习内容:十八届三中全会精神 一、全面深化改革的重大意义和指导思想 二、坚持和完善基本......

    学习笔记之一

    【学习笔记之一】近平在党的群众路线教育实践活动工作会议上的 重要讲话精神 党的群众路线教育实践活动工作会议于2013年6月18日在北京召开,习近平出席会议并发表重要讲话。 ■......

    学习笔记

    论谋生与敬业——教师心得体会 对于敬业的老师来讲,教育不是牺牲而是享受;教育不是重复而是创造;教育不是谋生的手段而是生活的本质;这是一名特级教师讲过的一句话。他的话让......