下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
struts2攔截器--將用戶操作日志存入數(shù)據(jù)庫(kù)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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆貴州省畢節(jié)市黔西縣樹立中學(xué)高三一輪復(fù)習(xí)階段性考試(數(shù)學(xué)試題文)試題
- 采購(gòu)抓捕網(wǎng)申請(qǐng)書范文
- 標(biāo)準(zhǔn)產(chǎn)品和定制產(chǎn)品成本分?jǐn)傆?jì)算服務(wù)合同
- 北京勞動(dòng)合同不續(xù)簽代通知金標(biāo)準(zhǔn)
- 學(xué)校2024-2025學(xué)年度高三上學(xué)期期中考試地理試題
- 配電室火災(zāi)應(yīng)急演練
- 13 C波的描述 提升版2025新課改-高中物理-選修第1冊(cè)(21講)
- 安徽省合肥市高新區(qū)2024-2025學(xué)年四年級(jí)(上)期中語文試卷 (含答案)
- 【初中地理】探索太空筑夢(mèng)航天 教學(xué)設(shè)計(jì)-2024-2025學(xué)年湘教版地理七年級(jí)上冊(cè)
- 糖尿病管理方案
- 新生兒胎糞吸入綜合征臨床路徑標(biāo)準(zhǔn)住院流程及路徑表單
- 氯化鈉特性表
- 鉆井井架起升鋼絲繩管理臺(tái)賬
- 單片機(jī)原理與應(yīng)用說課
- 修辭手法課件(共46張PPT)
- 船舶租賃盡職調(diào)查
- GB/T 20307-2006納米級(jí)長(zhǎng)度的掃描電鏡測(cè)量方法通則
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗(yàn)方法
- GB/T 11270.2-2021超硬磨料制品金剛石圓鋸片第2部分:燒結(jié)鋸片
- 植物生理學(xué)-植物的逆境生理
- 2017大專病理課件4局部血液循環(huán)障礙l
評(píng)論
0/150
提交評(píng)論