weblogic下抛java.lang.IllegalStateException: response already committed tomcat下正常

今天刚开始接触weblogic,把以前在tomcat环境下写的项目发布到了weblogic上面,出现了很多问题,其中之一就是过滤器,无论登陆是否成功,过滤器session的判断总是不成功,前台一直处于登录页面。解决办法:在WEBINF目录下添加weblogic.xml,在weblogic.xml文件中添加如下代码:

<session-descriptor>
    <timeout-secs>3600</timeout-secs>
    <invalidation-interval-secs>60</invalidation-interval-secs>
    <cookie-name>ADMINCONSOLESESSION</cookie-name>
    <cookie-max-age-secs>-1</cookie-max-age-secs>
    <cookie-http-only>false</cookie-http-only>
    <url-rewriting-enabled>false</url-rewriting-enabled>
  </session-descriptor>  

至于为什么我现在还没搞清楚  估计是tomcat和welogic容器有差异。

登录成功之后又出现了另外一个问题  menu页是用jsp动态生成的,后台抛出java.lang.IllegalStateException:   response   already   committed异常,在网上搜了一大堆资料,一般都是说response已经关闭,但又使用了输出流进行了写操作,让检查代码,看是否错误的使用了流。但我的项目在tomcat下运行正常,不可能流操作异常啊!但我还是仔细查看了一下代码,发现没有,我的jsp页面只是用来展示了数据,根本自己使用流,jsp解析器也不可能错误使用流。这个问题纠结了很长时间,突然用火狐查看请求返回的响应的时候发现了问题所在,后台返回的是jsp解析错误,无法对jstl进行解析,并不是页面后台抛出的ava.lang.IllegalStateException:   response   already   committed异常!!!发现问题所在了自然很简单了,解决办法是把jstl的jar包添加到已经weblogic部署项目的lib下。原因就是我在项目中添加了J2EE支持,所以编译没有错,但是使用myeclipse进行项目部署的时候,myeclipse并没有把jst的jar包添加到部署的项目中。


你可能感兴趣的:(weblogic下抛java.lang.IllegalStateException: response already committed tomcat下正常)