最近公司的一个应用需要从tomcat迁移到weblogic10.3下。
就我个人成功部署的经历说说我的部署心得。
1.web.xml里的contextConfigLocation,引入的资源中间不允许存在注释和空行;<display-name>DWR Servlet</display-name>不能与description存在重复,即2选1;
这里引入的资源文件特别要注意不要存在注释及空行,在weblogic下都会报错,说找不到资源。
display-name与description只需要2选1就可以了,不然会报莫名的错误。
2.关于xml解析的jar包冲突,这个烦了我半天,解决的办法是移除去掉wstx.jar包,在部署完成后再引入,重新部署。
我这里已经成功,以后重新启动就不需要再部署了。^_^(网络上也提供了一些处理办法,我觉得还是我这个简单,如果有更好的办法请留言给我)
3.weblogic.xml加入:
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
类包加载顺序以应用为准
这个基本是惯例了,不需要我多说了,迁移基本都要配置。
4.dwr.xml中在dwr下面只能带一个allow对象,不要写多个<allow></allow>
5.jsp页面如果有用到el表达式的,请注意,在jsp页面加上加EL<%@page isELIgnored="true" %>
6.ERROR org.directwebremoting.dwrp.Batch - A request has been denied as a potential CSRF attack.
修复:web.xml里的DWR Servlet加
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
加入了跨域调用功能
这个视个人应用不同自行配置。
7.关于图片输出的,在weblogic下我的测试结果是不需要out.clear();。可以直接删除。这个一般在jsp页面里有使用,干掉吧。
8.关于数据源的。weblogic10.3提供了很好的jndi数据源配置功能,命名上要规范统一,如果是部署时报数据库错误,先检查是否已经
设置了数据源了,并把数据源的“目标”指向服务器。如果OK,检查应用里使用的jndi命名是否与weblogic里配置的数据源名称一致。
OK,先到这里了,祝各位部署成功!
转贴请注明出处,谢谢。