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系統總是重複出現錯誤報告怎麼解決_win10老出現錯誤報告的關閉步驟Win10
- 作業系統錯誤點作業系統
- Checkpoint log:invalid bitmap page錯誤修復
- 開啟PHP的錯誤log日誌PHP
- jmeter分析效能報告時的誤區JMeter
- ORA-32701錯誤原因分析及處理方法
- win10 關閉自動傳送錯誤報告方法 windows10錯誤報告怎麼關閉Win10Windows
- 搭建前端錯誤監控系統前端
- win10系統下彈出windows event log錯誤程式碼:2 系統找不到指定路徑如何解決Win10Windows
- 每過一天 laravel log 就會報沒許可權錯誤Laravel
- 2、MySQL錯誤日誌(Error Log)詳解MySqlError
- Linux系統程式底層debug除錯及程式原理分析利器Linux除錯
- mysql-發生系統錯誤1067MySql
- thinkphp原始碼分析(四)—錯誤及異常處理篇PHP原始碼
- 醫療IT系統的功能分析
- 從埃航空難報告看AI系統的容錯性AI
- 量化合約系統開發(功能詳細)丨量化合約系統開發(策略及分析)
- Windows下 本地安裝mysql 詳細步驟其中報錯:服務名無效,發生系統錯誤5,拒絕訪問錯誤解決及navicat 的連線WindowsMySql
- 解決ubuntu系統“XXX is not in the sudoers file”錯誤Ubuntu
- net 日誌分析錯誤
- web拼圖錯誤分析Web
- win10系統怎麼檢視系統錯誤日誌_win10如何檢視錯誤日誌Win10
- 錯誤Error during artifact deployment. See server log for details.ErrorServerAI
- log4j2使用及log4j2.xml分析XML
- 常見DB2的錯誤的報告程式碼DB2
- win10系統錯誤oxc0000005解決方案_win10系統錯誤oxc0000005修復方法Win10
- win10系統安裝xftp5提示“功能傳送錯誤1605”如何解決Win10FTP
- 作業系統錯誤5:拒絕訪問作業系統
- 我的第一個系統管理員錯誤
- oracle 報大小寫錯誤Oracle
- ZKEYS公有云系統新功能體驗報告
- 基於HTTP的功能追加協議HTTP協議
- ORA-03113錯誤分析(轉)
- Ubuntu 系統 apt 報錯:relocation errorUbuntuAPTError
- dbfread報錯ValueError錯誤解決方法Error
- win10系統dwm.exe錯誤黑屏怎麼辦_win10系統dwm.exe錯誤黑屏如何解決Win10
- win10系統顯示“錯誤720”怎麼辦 win10系統寬頻連線720錯誤如何解決Win10