下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
struts2攔截器--將用戶操作日志存入數(shù)據(jù)庫1.建表,如下所示:
2.新建OperationLogModel.java,其具有上述屬性。
3.自動(dòng)生成PO
4.在struts.xml中配置攔截器:
<interceptors>
<interceptorname="logger"class="com.bfw.crms.log.LogInterceptor"/>
<interceptor-stackname="myInterceptor">
<interceptor-refname="defaultStack"></interceptor-ref>
<interceptor-refname="logger"></interceptor-ref>
</interceptor-stack>
</interceptors>
5.如下例子中的用戶登錄和修改密碼,要在相應(yīng)xml文件中加入<interceptor-refname="myInterceptor"/>,即:
<!--系統(tǒng)登錄-->
<actionname="login"class="systemAction"method="login">
<resultname="login"type="redirect-action">index</result><!--redirect-action是直接轉(zhuǎn)向index.action-->
<interceptor-refname="myInterceptor"/>
</action>
<!--修改密碼-->
<actionname="changePassword"class="systemAction"method="changePassword">
<resultname="success"type="redirect-action">changePasswordPre</result>
<interceptor-refname="myInterceptor"/>
</action>
6.在項(xiàng)目中新建文件夾log,在其下新建類LogInterceptor.java,如下:packagecom.bfw.crms.log;
importjava.util.Map;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpSession;
importmons.lang.StringUtils;
importorg.apache.log4j.Logger;
importorg.apache.struts2.ServletActionContext;
importcom.bfw.crms.action.BulletinAction;
importcom.bfw.crms.action.SystemAction;
importcom.bfw.crms.model.EmployeeModel;
importcom.bfw.crms.model.OperationLogModel;
importcom.bfw.crms.po.OperationLog;
importcom.bfw.crms.util.BeanUtil;
importcom.bfw.crms.util.DateTimeUtil;
importcom.ninetowns.framework.dao.ObjectDao;
importcom.opensymphony.xwork2.Action;
importcom.opensymphony.xwork2.ActionInvocation;
importerceptor.AbstractInterceptor;@SuppressWarnings("serial")
publicclassLogInterceptorextendsAbstractInterceptor{
privateStringlogName;
privateStringlogContent;
protectedLoggerlog=Logger.getLogger(getClass());
protectedHttpSessiongetSession()
{
returngetRequest().getSession();
}
protectedHttpServletRequestgetRequest()
{
returnServletActionContext.getRequest();
}
publicvoidinit(){
}
privateObjectDaoobjectDao=null;
publicObjectDaogetObjectDao()
{
returnobjectDao;
}
publicvoidsetObjectDao(ObjectDaoobjectDao)
{
this.objectDao=objectDao;
}
@Override
publicStringintercept(ActionInvocationai)throwsException{
Objectaction=ai.getAction();
Stringmethod=ai.getProxy().getMethod();
try{
if(StringUtils.isBlank(method))method="method";
EmployeeModelsysUser=(EmployeeModel)this.getSession().getAttribute("employee");
StringuserName="";
if(sysUser!=null)userName=sysUser.getName();
StringcurrentTime=DateTimeUtil.getDateTime();
StringlogContentHead="用戶"+userName+currentTime;
ai.invoke();//執(zhí)行被攔截action
if(actioninstanceofBulletinAction){
if(method.equals("save")){
logName="保存部門";
logContent=logContentHead+"保存部門:"+ai.getStack().findValue("sysOName");
(logContent);
addSysLog(logName,logContent);
}
if(method.equals("delete")){
logName="刪除部門";
logContent=logContentHead+"刪除"+((String[])(ai.getStack().findValue("flag_id"))).length+"條部門信息";
(logContent);
addSysLog(logName,logContent);
}
}
if(actioninstanceofSystemAction){
if(method.equals("login")){
logName="登錄系統(tǒng)";
logContent=logContentHead;
(logContent);
addSysLog(logName,logContent);
}
if(method.equals("changePassword")){
logName="修改密碼";
logContent=logContentHead+"刪除1條單位信息";
(logContent);
addSysLog(logName,logContent);
}
}
}catch(Exceptione){
e.printStackTrace();
}
returnAction.SUCCESS;
}
/**
*插入系統(tǒng)日志model2po()
*@paramlogName
*@paramlogContent
*/
privatevoidaddSysLog(StringlogName,StringlogContent){
OperationLogModeloperationMod
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年簡歷分析與視頻面試AI評估的效能提升方法
- 人教版英語八年級上冊教學(xué)課件Unit 8 Let's Communicate!Section B
- 2026 年中職康復(fù)治療(康復(fù)治療基礎(chǔ))試題及答案
- 初級會(huì)計(jì)資產(chǎn)題庫及答案
- 2024年中考道德與法治(廣西)第二次模擬考試(含答案)
- 2025年海南省公需課學(xué)習(xí)-體育強(qiáng)國建設(shè)綱要解讀437
- 中藥注射劑生產(chǎn)檢驗(yàn)電子化記錄技術(shù)指南
- 2025年?duì)I養(yǎng)周飲食健康知識(shí)競賽題庫及答案(共120題)
- 2025年高二選修政治試卷及答案
- 鹽城三模歷史試卷及答案
- DB21∕T 3165-2025 鋼纖維混凝土預(yù)制管片技術(shù)規(guī)程
- 廣西崇左市江州區(qū)2025-2026學(xué)年七年級上學(xué)期第三階段素質(zhì)評價(jià)歷史試題 (含答案)
- 2025ACR指南:系統(tǒng)性紅斑狼瘡的治療課件
- 國開2025年秋《數(shù)學(xué)思想與方法》大作業(yè)答案
- 消防安全培訓(xùn)課件
- 2025及未來5年印染布料項(xiàng)目投資價(jià)值分析報(bào)告
- (2025年)醫(yī)學(xué)裝備管理試題(帶答案)
- 車間后備人才現(xiàn)狀匯報(bào)
- 2025四川產(chǎn)業(yè)振興基金投資集團(tuán)有限公司應(yīng)屆畢業(yè)生招聘9人筆試歷年難易錯(cuò)考點(diǎn)試卷帶答案解析2套試卷
- 《建筑設(shè)計(jì)》課程教案(2025-2026學(xué)年)
- 軟裝工程質(zhì)量管理方案有哪些
評論
0/150
提交評論