第一篇: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”>
请注意下面代码,我们定义了
name=“myInterceptor”>
name=“myInterceptor1”>
defaultStack这个拦截器栈是struts2,提供的一个默认拦截器栈,其中实现了一些常用功能,如:struts2的检验框架,当我们在声明package时候会有extends属性,其值为struts-default,而defaultStack就定义在struts-default包类,进而就被我们的package所继承。
name=“defaultStack”>
在拦截器的配置中,我们可以为package配置一个默认的拦截器或拦截器栈,如果我们不指定,其值就为父包继承下来的defaultStack。
name=“myStack”>
标签,可以对拦截器类中定义的属性赋值,这里是告诉拦截器,只拦截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里的配置了
在
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、应用拦截器
第三篇:struts2拦截器--将用户操作日志存入数据库
struts2拦截器--将用户操作日志存入数据库
1.建表,如下所示:
2.新建OperationLogModel.java,其具有上述属性。3.自动生成PO 4.在struts.xml中配置拦截器:
5.如下例子中的用户登录和修改密码,要在相应xml文件中加入
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年中国的发展进步,可以得出一个基本结论:办好中国的事情,关键在党。
以经济建设为中心是兴国之要,是我们党、我们国家兴旺发达、长治久安的根本要求。
推进社会建设,要以保障和改善民生为重点,着力解决好人民最关心最直接最现实的利益问题。
正确处理改革发展稳定关系,实现改革发展稳定的统一,是关系我国社会主义现代化建设全局的重要指导方针。巩固的国防和强大的军队,是国家主权、安全、领土完整的坚强后盾。
发展社会主义先进文化,必须把社会主义核心价值体系建设融入国民教育、精神文明建设和党的建设全过程。我们要一如既往坚持“一国两制”、“港人治港”、“澳人治澳”、高度自治的方针。
胡锦涛在十七届中央纪委七次全会上发表重要讲话——切实做好保持党的纯洁性各项工作,深入推进党风廉政建设和反腐败斗争
胡锦涛强调,当前要重点抓好以下工作。
第一,加强对中央重大决策部署贯彻落实情况的监督检查。
第二,严格执行组织人事工作纪律特别是换届纪律。
第三,加强换届后领导班子和领导干部作风建设。
第四,按照建立健全惩治和预防腐败体系要求全面推进反腐倡廉各项工作。
第五,继续解决好反腐倡廉建设中人民群众反映强烈的突出问题。
第六,认真总结党风廉政建设和反腐败工作的有益经验。
***在全国政法工作会议上强调 ——深化三项重点工作,开展政法干警核心价值观教育实践活动,为党的十八大胜利召开营造和谐稳定的社会环境
各级政法机关要增强政治意识、大局意识、忧患意识、责任意识,认真履行法定职责:
一要积极服务经济社会发展。把握好稳中求进的工作总基调,充分发挥政法机关职能作用,切实保障宏观调控政策措施的有效实施。
二要全力维护国家安全和社会稳定。打好主动仗、整体仗,有效防范、依法打击各种分裂破坏、暴力恐怖犯罪活
动。
三要切实加大社会管理创新力度。按照建设中国特色社会主义社会管理体系的目标要求。
袁纯清在中国共产党山西省第十次代表大会上的报告——率先走出资源型地区转型跨越发展新路,为加快实现全面建设小康社会目标努力奋斗
一、过去五年的工作
二、坚定转型跨越,加快全面建设小康社会进程
三、抢抓机遇,全力推进转型综改试验区建设
四、“四化”引领经济又好又快发展
五、以大开放推动大发展
六、加强社会主义民主政治建设
七、加快文化强省建设步伐
袁纯清在全省党风廉政建设干部大会上的讲话
一、关于全省党风廉政建设和反腐败斗争形势
二、着眼于为转型跨越提供坚强保证,扎实有效推进党风廉政建设和反腐败斗争
第一,要以严明政治纪律为重点,坚决维护党的集中统一。
第二,要以加强监督检查为重点,进一步推动工作落实、创优发展环境。
第三,要以煤焦领域反腐败专项斗争为重点,加快构建具有山西特色的惩治和预防腐败体系。
第四,要以整治收受礼金和治理公务用车为重点,深化干部廉洁自律工作。
第五,要以整肃风气为重点,进一步加强干部作风建设。
第六,要以农村社区企业为重点,切实加强基层党风廉政建设。
第七,要以治理拉票贿选为重点,确保全省换届工作风清气正。
田喜荣在中国共产党长治市第十次代表大会上的报告——抓好转型跨越 提高民生质量为把我市建设成为全国一流宜居城市而努力奋斗
一、市九次党代会以来的工作
五年的探索和实践,不仅创造了丰硕的物质成果,也积累了宝贵的经验。
二、今后五年的目标任务
实现上述目标,必须在今后五年工作中,正确处理好“六大关系”,着力提高“六个水平”
三、以改革创新精神加强和改进新形势下党的建设
始终坚持党要管党、从严治党,以党的先进性建设和执政能力建设为主线、