项目从tomcat向weblogic迁移遇到的一些问题

项目从tomcat向weblogic迁移遇到的一些问题

问题:

一:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '
springSecurityFilterChain' is defined
解决:将web.xml<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath*:/applicationContext*.xml
    </param-value>
</context-param>
修改成:
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value> 
            classpath*:applicationContext.xml
    </param-value>
</context-param>
原因:weblogic解析web.xml时不支持通配符
问题2:ClassNotFoundException: org.hibernate.hql.ast.HqlToken
解决:将antlr-2.7.6.jar放到:
C:\oracle\Middleware\jrockit_160_17_R28.0.0-679\jre\lib\ext下面。
原因:Weblogic默认先加载EJB-QL parser,存在重名类.将antlr-2.7.6.jar放于weblogic所用jdk的lib/ext下
可先加载antlr-2.7.6.jar
问题3:报CSRF错误
解决:将以前web.xml关于dwr的servlet配置:
<servlet>
    <servlet-name >dwr</servlet-name>
    <servlet-class>
    org.directwebremoting.spring.DwrSpringServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
修改成
<servlet>
    <servlet-name >dwr</servlet-name>
    <servlet-class>
        org.directwebremoting.spring.DwrSpringServlet
    </servlet-class>
<init-param>
    <param-name>debug</param-name>
    <param-value>true</param-value>
</init-param>
<init-param>
    <param-name>crossDomainSessionSecurity</param-name>
    <param-value>false</param-value>
</init-param>
<init-param>
    <param-name>allowScriptTagRemoting</param-name>
    <param-value>true</param-value>
</init-param> <load-on-startup>1</load-on-startup>
</servlet>
原因:dwr跨域访问的安全问题,weblogic加强了安全机制
问题4:因为用的struts2 convention 零配置,启动后运行报no action found error 错误,找不到action;
解决:这个问题比较麻烦:
首先要更新struts2.1.6到struts2.2.1.
另外:将struts.xml加入
<constant name="struts.convention.action.fileProtocols" value="jar,zip" />
<constant name="struts.convention.action.includeJars" value=".*?/_wl_cls_gen.*?jar(!/)?" />
最后:将src文件夹加入META-INF文件夹。里面放入任意文件,目的是让其它编译到classes文件夹下
原因:我也说不清楚,参考的网友的这篇文章:http://aaa5131421.iteye.com/blog/558463
最后,为了达到最好的性能,将以前的dbcp换成weblogic的数据源吧。
配置方法很简单:
weblogic中首先创建一个数据源例如:jndi名称为:jdbc/db301,数据源的连接池初始大小以最大数根据实际情况作出配置
然后在applicationContext.xml中加入
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/db301" />,替换以前的datasource配置

weblogic的jmrc的确是一个非常强大的东东,对于性能瓶颈分析非常好,对于它的使用,目前还是一知半解,希望有更熟悉
的童鞋能作出一些讲解;在这里,我也只是一个抛砖引玉.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值