0 0

s2sh从Tomcat迁移到Weblogic10.3,部署正常,访问报错!!!5

<Mar 7, 2012 2:17:45 PM EST> <Error> <HTTP> <BEA-101017> <[ServletContext@30684128[app:osbmngt module:osbmngt.war path:/osbmngt spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@12f96b5[
GET /osbmngt/login.jsp HTTP/1.1
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

]] Root cause of ServletException.
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /login.jsp
login.jsp:1:1: The validator class: "org.apache.taglibs.standard.tlv.JstlFmtTLV" has failed with the following exception: "java.lang.ClassCastException: weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory".
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
^--------------------------------------------------------------------^
login.jsp:1:1: The validator class: "org.apache.taglibs.standard.tlv.JstlCoreTLV" has failed with the following exception: "java.lang.ClassCastException: weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory".
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
^--------------------------------------------------------------------^

        at weblogic.servlet.jsp.JavelinxJSPStub.reportCompilationErrorIfNeccessary(JavelinxJSPStub.java:226)
        at weblogic.servlet.jsp.JavelinxJSPStub.compilePage(JavelinxJSPStub.java:162)
        at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:256)
        at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:216)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
        Truncated. see log file for complete stacktrace
>
<Mar 7, 2012 2:17:45 PM EST> <Notice> <Diagnostics> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'AdminServer' has triggered at Mar 7, 2012 2:17:45 PM EST. Notification details:
WatchRuleType: Log
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-101020') OR (MSGID = 'WL-101017') OR (MSGID = 'WL-000802') OR (MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
WatchData: DATE = Mar 7, 2012 2:17:45 PM EST SERVER = AdminServer MESSAGE = [ServletContext@30684128[app:osbmngt module:osbmngt.war path:/osbmngt spec-version:2.5], request: weblogic.servlet.internal.ServletRequestImpl@12f96b5[
GET /osbmngt/login.jsp HTTP/1.1
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

]] Root cause of ServletException.
weblogic.servlet.jsp.CompilationException: Failed to compile JSP /login.jsp
login.jsp:1:1: The validator class: "org.apache.taglibs.standard.tlv.JstlFmtTLV" has failed with the following exception: "java.lang.ClassCastException: weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory".
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
^--------------------------------------------------------------------^
login.jsp:1:1: The validator class: "org.apache.taglibs.standard.tlv.JstlCoreTLV" has failed with the following exception: "java.lang.ClassCastException: weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory".
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
^--------------------------------------------------------------------^

        at weblogic.servlet.jsp.JavelinxJSPStub.reportCompilationErrorIfNeccessary(JavelinxJSPStub.java:226)
        at weblogic.servlet.jsp.JavelinxJSPStub.compilePage(JavelinxJSPStub.java:162)
        at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:256)
        at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:216)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:243)
        at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at com.bps.osbmngt.base.LoginFilter.doFilter(LoginFilter.java:110)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
SUBSYSTEM = HTTP USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-101017 MACHINE = test.bps.com.cn TXID =  CONTEXTID = 11d1def534ea1be0:-38584b71:135ee94134e:-8000-000000000000003d TIMESTAMP = 1331147865448 
WatchAlarmType: AutomaticReset
WatchAlarmResetPeriod: 30000
>

问题补充:写一test.jsp( 没有任何内容 )都不可以,test.html( 没有任何内容 )可以。
就是编译不了jsp页面。

像什么删除xml-apis*.jar配置<wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
的方法都试过,不管用。
并且xml-apis*.jar部署是就报错。
2012年3月07日 14:28

4个答案 按时间排序 按投票排序

0 0

我今天也遇到这问题了

解决办法:

删除xml-apis-1.3.03 从WEB-INF/lib下 。

用这方法问题解决了

2012年8月24日 16:15
0 0

问题很明显,不同的中间件对CLASSLOADER的加载方式不同,及这些中间件自带的JAR会与你的工程冲突 ,,,

网上提供的只是思路,可能不同版本的WEBLOGIC在加载类方式上有些变化。

但从报的错误上看出,应该就是包冲突导致加载类时出现了问题,

用了那个配置后,你用JCONSOLE远程连接看工程加载 的JAR包是使用的哪个路径下的

2012年3月07日 15:55
0 0

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
^--------------------------------------------------------------------^

在weblogic下面,一个JSP页面中只能包含一个pageEncoding="utf-8"的代码

你检查一下是不是有些页面,include什么的,导致一个页面中包含了多个这样的代码,删除就可以了


其实在JSP页面中pageEncoding="utf-8"这个代码完全可以不要的,有前面的charset=UTF-8"就可以了

2012年3月07日 15:19
0 0

报错信息如下:

weblogic.xml.jaxp.RegistrySAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory

解决办法:

删除xml-apis-1.3.03 从WEB-INF/lib下 。





配置weblogic.xml ,强制weblogic 首先加载应用WEB-INF 中的class。内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
  <container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
  </container-descriptor>
</weblogic-web-app>


直接将 weblogic.xml放到和web.xml同目录下就可以了。这样可以优先执行web-inf下的包或者类。可以解决包冲突的解决办法。

2012年3月07日 14:50

相关推荐

Global site tag (gtag.js) - Google Analytics