大神们,一个weblogic下的项目,现在放到tomcat7下,有些功能不正常啦,这是啥原因啊,本来报错,我把错误都去掉了,现在也不报错但功能不正常啊,有一个页面通过更新session里的sql来更新页面,但是现在只能获得第一次的session值了,第一次显示,第二次不更新啦还是第一次的东西,怎么回事啊?求救
嗯,测试发现页面上数据条数会更新,但是数据不会更新,把项目反编译看了一下源码,仔细捋了捋,又仔细看了sql日志,发现是sql没有执行,但是是为什么呢,原来是有一个条件限制着,所以我把条件改成不判断原来的sql有还是没有,重新获取sql,然后执行,页面数据能够刷新了。但是不明白这是为啥呢,在weblogic下的那个条件能够成立,在tomcat下为什么就不成立呢?
if (this.sql.equals("")) {
this.sql = ((String)this.pageContext.getSession().getAttribute(getSQLKey()));
if (this.sql == null) this.sql = ((String)this.pageContext.getSession().getAttribute("sql"));
}
this.sql.equals("")这个条件在tomcat下怎么就不成立呢?只是刚进项目的时候能成立,但是执行过一次sql之后,sql值不为空了?所以导致第二次刷新数据失败,但是weblogic下怎么就可以这样判断呢?可以做到重复刷新呢?
这一次的配置经验只能说,有啥错改啥错,仔细捋,改到没错,OK!不过,还是要明白其原理,所以,自己再仔细钻研钻研吧。