网上解决方案

1.起初没有创建序列s_log,因此需要在Oracle补上s_log序列。

<!-- 增加 日志 -->
  <insert id="logSave"
   parameterClass="com.reportcenter.sys.dto.OperateLogDto">
   INSERT INTO
   T_LOG(C_AUTOID,USRCDE,USRADDRESS,OPERATION,BEGINTME,ENDTME,OPERATETIMER,STATE,MESSAGE) VALUES(s_log.nextval,#usrCde#,#usrAddress#,#operation#,#beginTme#,#endTme#,#operateTimer#,#state#,#message#)
  </insert>



2.接着就出现下面的问题,主要是usrCde(日志表里的用户代码)属性在系统登陆验证时为空值所致。因此在相应代码处加上对空值的判断,如果为空,就从登陆页面取得userCde值。

if (request.getSession().getAttribute(Constants.usrCde) == null) {
     usr = request.getParameter("userCde");
    } else {
     usr = (String) request.getSession().getAttribute(
       Constants.usrCde);
    }