fjkrws系統錯誤分析及log功能追加報告
社內homepage測試中,發現系統不太穩定,具體表現為
有些資料顯示插入成功,但是資料庫中並無此資料。
有些資料插入成功後,返回list頁面時,卻不顯示此資料資訊,但是在資料庫中有此資料。
分析原因:
1)在scheduleEdit.jsp頁面的javascript函式function insert(user11Code) 中,下列程式碼存在問題:
①document.updateForm.submit();
②alert(" 登録しました。");
③document.updateForm.action = "/views/schedule/scheduleList.jsp?lg=1&loginCode="+userCode;
④document.updateForm.submit();
這段程式碼在執行時,並不是先執行完①再執行②。而是先執行①,不管①是否執行完畢,就執行②,在②的彈出視窗中單擊確定後,在向下執行。這樣②的資訊只是說明①執行了,但具體執行得怎麼樣就不清楚了。即使②中有錯誤,也顯示不出錯誤資訊。而資料庫插入操作就是在①所執行的頁面中執行。
這樣造成的結果是:
資料庫操作是否成功,我們無法知道。
上述程式碼有可能存在不確定因素。
在更新和刪除功能中也應該存在這樣的問題。
2)解決辦法:
● scheduleEdit.jsp頁面中,將上面程式碼修改為
①document.updateForm.action = "/views/schedule/scheduleUpdateLogic.jsp?lg=1&loginCode="+userCode;
②document.updateForm.submit();
其中紅色部分根據實際情況再做修改。
● 增加一個scheduleUpdateLogic.jsp頁面,將插入,更新,刪除的邏輯放入這個頁面,並將
int intResultBat = m_dbAccess_2.executeUpdate(sqlStr);
if(m_dbAccess_2!=null) m_dbAccess_2.close();
修改為
try{
int intResultBat = m_dbAccess_2.executeUpdate(sqlStr);
if (intResultBat >= 1) {
request.setAttribute("success","insert");
request.getRequestDispatcher("scheduleList.jsp").forward(request,response);
}
} catch (SQLException se) {
m_dbAccess_2.rollback();
request.setAttribute("error","データを更新するとき、異常がある. " +se.getMessage()); request.getRequestDispatcher("../common/exception.jsp").forward(request,response);
} finally {
if(m_dbAccess_2!=null)
m_dbAccess_2.close();
}
上面程式碼根據實際具體情況再做修改。
● 在scheduleList.jsp頁面增加執行成功資訊
<body background="path%>/images/background.jpg" link="#FF00FF" onLoad="init();" onResize="resize();">
<!-- add wangsh 20070724 begin -->
<!-- 登録成功のメッセージを表示する begin -->
String success = (String)request.getAttribute("success")==null?"": ((String)request.getAttribute("success")).trim();
if (success.equals("insert")||success.equals("update")) {
%>
<script language="JavaScript">
alert(" 登録しました。");
script>
}
%>
<!-- 登録成功のメッセージを表示する end -->
<!-- add wangsh 20070724 end -->
更新,刪除按同樣方法修改。
經過這樣的修改,至少可以在出錯時顯示錯誤資訊,指示錯誤發生的原因。
1、 因為沒有log功能,所以出現錯誤無法查詢,故增加log4j系統日誌功能。
具體方法如下:
1) 將log4j.jar包放入專案的lib和WEB-INFlib目錄中。
2) 在專案的src目錄中增加log4j.properties屬性檔案,具體寫法如下:
log4j.rootLogger=debug, stdout, fjkrws
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%t] %C{1}.%M(%L) | %m%n
log4j.appender.fjkrws=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fjkrws.Append=true
log4j.appender.fjkrws.file=c: empfjkrws.log
log4j.appender.fjkrws.DatePattern='_'yyyyMMddHH
log4j.appender.fjkrws.layout=org.apache.log4j.PatternLayout
log4j.appender.fjkrws.layout.ConversionPattern=%d %p [%t] %C{1}.%M(%L) | %m%n
3) 在common_schedule.jsp、commonnosession.jsp、commonstatistical_schedule.jsp、commonstatistical.jsp檔案中增加
4) 具體的程式碼寫成
logger.debug("######");
logger.info("#######");
logger.error("######");
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10455649/viewspace-967259/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Win10系統怎麼禁用錯誤報告 禁用win10系統微軟錯誤報告的方法Win10微軟
- 【AIX 命令學習】errpt 顯示系統錯誤報告!AI
- win10系統出現錯誤報告怎麼辦 win10電腦提示錯誤報告解決方法Win10
- Win10系統如何阻止自動傳送錯誤報告Win10
- 軟體系統功能測試報告測試報告
- AIX作業系統效能分析報告AI作業系統
- Win10系統總是重複出現錯誤報告怎麼解決_win10老出現錯誤報告的關閉步驟Win10
- LOGMINER工具分析報錯誤解決方法 ORA-00333
- jmeter分析效能報告時的誤區JMeter
- error on auto execute of job "SYS"."PURGE_LOG"錯誤分析Error
- win10 關閉自動傳送錯誤報告方法 windows10錯誤報告怎麼關閉Win10Windows
- mount檔案系統報Unformatted or incompatible media錯誤ORM
- winlogon.exe錯誤藍屏 登入不了系統故障Go
- log4j不輸出日誌錯誤分析
- weblogic 11g部署報錯及解決Web
- AWR 報告修改moving window 出錯分析
- 從埃航空難報告看AI系統的容錯性AI
- 易犯的PHP小錯誤及相應分析PHP
- ORA-00257 錯誤分析及解決方法
- JVM致命錯誤日誌(hs_err_pid.log)分析JVM
- 搭建前端錯誤監控系統前端
- mysqlbinlog工具報錯MySql
- 一次awr報告分析(密碼錯誤引發sql執行時間過長)密碼SQL
- 常見DB2的錯誤的報告程式碼DB2
- 執行AWR報告出現ORA-6502錯誤
- ORA-32701錯誤原因分析及處理方法
- ORA-600[kqlnrc_1]錯誤分析及處理
- Oracle AWR 介紹及報告分析(2) finalOracle
- Oracle AWR 介紹及報告分析(1) finalOracle
- 醫療IT系統的功能分析
- ZKEYS公有云系統新功能體驗報告
- 直接從系統得到錯誤描述 (轉)
- aix errpt檢視系統錯誤AI
- 量化合約系統開發(功能詳細)丨量化合約系統開發(策略及分析)
- 月度工作計劃報告系統
- statspack 報告分析
- 關於weblogic pool 一錯誤除錯Web除錯
- 使用DBCA建立資料庫時,報告錯誤:ORA-12547: TNS: lost contact錯誤資料庫