第一篇: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年中國的發展進步,可以得出一個基本結論:辦好中國的事情,關鍵在黨。
以經濟建設為中心是興國之要,是我們黨、我們國家興旺發達、長治久安的根本要求。
推進社會建設,要以保障和改善民生為重點,著力解決好人民最關心最直接最現實的利益問題。
正確處理改革發展穩定關系,實現改革發展穩定的統一,是關系我國社會主義現代化建設全局的重要指導方針。鞏固的國防和強大的軍隊,是國家主權、安全、領土完整的堅強后盾。
發展社會主義先進文化,必須把社會主義核心價值體系建設融入國民教育、精神文明建設和黨的建設全過程。我們要一如既往堅持“一國兩制”、“港人治港”、“澳人治澳”、高度自治的方針。
胡錦濤在十七屆中央紀委七次全會上發表重要講話——切實做好保持黨的純潔性各項工作,深入推進黨風廉政建設和反腐敗斗爭
胡錦濤強調,當前要重點抓好以下工作。
第一,加強對中央重大決策部署貫徹落實情況的監督檢查。
第二,嚴格執行組織人事工作紀律特別是換屆紀律。
第三,加強換屆后領導班子和領導干部作風建設。
第四,按照建立健全懲治和預防腐敗體系要求全面推進反腐倡廉各項工作。
第五,繼續解決好反腐倡廉建設中人民群眾反映強烈的突出問題。
第六,認真總結黨風廉政建設和反腐敗工作的有益經驗。
***在全國政法工作會議上強調 ——深化三項重點工作,開展政法干警核心價值觀教育實踐活動,為黨的十八大勝利召開營造和諧穩定的社會環境
各級政法機關要增強政治意識、大局意識、憂患意識、責任意識,認真履行法定職責:
一要積極服務經濟社會發展。把握好穩中求進的工作總基調,充分發揮政法機關職能作用,切實保障宏觀調控政策措施的有效實施。
二要全力維護國家安全和社會穩定。打好主動仗、整體仗,有效防范、依法打擊各種分裂破壞、暴力恐怖犯罪活
動。
三要切實加大社會管理創新力度。按照建設中國特色社會主義社會管理體系的目標要求。
袁純清在中國共產黨山西省第十次代表大會上的報告——率先走出資源型地區轉型跨越發展新路,為加快實現全面建設小康社會目標努力奮斗
一、過去五年的工作
二、堅定轉型跨越,加快全面建設小康社會進程
三、搶抓機遇,全力推進轉型綜改試驗區建設
四、“四化”引領經濟又好又快發展
五、以大開放推動大發展
六、加強社會主義民主政治建設
七、加快文化強省建設步伐
袁純清在全省黨風廉政建設干部大會上的講話
一、關于全省黨風廉政建設和反腐敗斗爭形勢
二、著眼于為轉型跨越提供堅強保證,扎實有效推進黨風廉政建設和反腐敗斗爭
第一,要以嚴明政治紀律為重點,堅決維護黨的集中統一。
第二,要以加強監督檢查為重點,進一步推動工作落實、創優發展環境。
第三,要以煤焦領域反腐敗專項斗爭為重點,加快構建具有山西特色的懲治和預防腐敗體系。
第四,要以整治收受禮金和治理公務用車為重點,深化干部廉潔自律工作。
第五,要以整肅風氣為重點,進一步加強干部作風建設。
第六,要以農村社區企業為重點,切實加強基層黨風廉政建設。
第七,要以治理拉票賄選為重點,確保全省換屆工作風清氣正。
田喜榮在中國共產黨長治市第十次代表大會上的報告——抓好轉型跨越 提高民生質量為把我市建設成為全國一流宜居城市而努力奮斗
一、市九次黨代會以來的工作
五年的探索和實踐,不僅創造了豐碩的物質成果,也積累了寶貴的經驗。
二、今后五年的目標任務
實現上述目標,必須在今后五年工作中,正確處理好“六大關系”,著力提高“六個水平”
三、以改革創新精神加強和改進新形勢下黨的建設
始終堅持黨要管黨、從嚴治黨,以黨的先進性建設和執政能力建設為主線、