Tôi có một ứng dụng lớn được sử dụng trong môi trường sản xuất. Thiết lập lát của tôi phức tạp, với nhiều lát mỗi trang. Ứng dụng hoạt động tuyệt vời với ngoại lệ là một điều. Sau khi khởi động máy chủ tải trang đầu tiên ném một ngoại lệ, một lỗi trongSpring 3.0.5/Tiles 2.2 Lỗi
apache.commons.digester.Digester at line 789/Digester.getParser
Nó ném này:
UnsupportedOperationException:: This parser does not support specification "null" version null"
Điều đáng ngạc nhiên là, lỗi này chỉ xảy ra trên tải trang đầu tiên, tất cả các tiếp theo tải hoạt động tốt. Tìm kiếm trợ giúp với điều này, hãy cho tôi biết bạn cần thông tin gì. Cảm ơn trước.
Đây là ngăn xếp lồng nhau dấu vết:
ERROR 08-12-11 15:30:05 (apache.commons.digester.Digester:789) ***Digester.getParser: ***
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
at javax.xml.parsers.SAXParserFactory.setXIncludeAware(SAXParserFactory.java:448)
at org.apache.commons.digester.Digester.getFactory(Digester.java:534)
at org.apache.commons.digester.Digester.getParser(Digester.java:786)
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.security.internal.AuthFilterChain$LastFilter.doFilter(AuthFilterChain.java:45)
at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.callChain(NegotiateIdentityAsserterServiceImpl.java:145)
at com.bea.common.security.internal.service.NegotiateIdentityAsserterServiceImpl.process(NegotiateIdentityAsserterServiceImpl.java:132)
at sun.reflect.GeneratedMethodAccessor679.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
at $Proxy19.process(Unknown Source)
at weblogic.security.providers.authentication.NegotiateIdentityAsserterServletAuthenticationFilter.doFilter(NegotiateIdentityAsserterServletAuthenticationFilter.java:35)
at weblogic.servlet.security.internal.AuthFilterChain.doFilter(AuthFilterChain.java:37)
at weblogic.servlet.security.internal.SecurityModule$ServletAuthenticationFilterAction.run(SecurityModule.java:612)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.security.internal.SecurityModule.invokeAuthFilterChain(SecurityModule.java:501)
at weblogic.servlet.security.internal.CertSecurityModule.checkUserPerm(CertSecurityModule.java:97)
at weblogic.servlet.security.internal.SecurityModule.checkAccess(SecurityModule.java:106)
at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:82)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2116)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Full Stack Trace (lỗi trên được lồng trong vòng ngoại lệ này):
GET /*****_Cust_Search/CustomerDetail?customerId=9 HTTP/1.1
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: nde-textsize=16px; JSESSIONID_CUSTDETAIL=Bnx0TByHMyvvyDBGb0p9TgCDy1h0n2hlzpckxhdYTsCQ5nJLVSzB!1674277528; ADMINCONSOLESESSION=Gh8nTD9Zpcn26tJBNLVl6q1ZqpQ1jrKTT27ZDL6yLvvvLLC2gjwZ!-975699351; JSESSIONID_CUST=l6GGTGKFYQV1cZ8cnJs2G2891JWclP6FnsDr1vL8bPXvTQpJjn9H!-975699351; JSESSIONID_INSURANCEDETAIL=J1lvTGKQ9G13SM8vYMzG1QPB2R939HQDMgHyJM1GpLG6fyvTJHVX!-975699351; JSESSIONID=gpGtTGYfTKwqh9dG6Q1T305LnbHpGJr6WVNHbx6TQwglXc9lPqgL!-975699351
]] Root cause of ServletException.
java.lang.NullPointerException
at org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
at org.apache.commons.digester.Digester.parse(Digester.java:1887)
at org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:329)
at org.apache.tiles.definition.dao.BaseLocaleUrlDefinitionDAO.loadDefinitionsFromURL(BaseLocaleUrlDefinitionDAO.java:276)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:251)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadParentDefinitions(ResolvingLocaleUrlDefinitionDAO.java:58)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(CachingLocaleUrlDefinitionDAO.java:239)
at org.apache.tiles.definition.dao.ResolvingLocaleUrlDefinitionDAO.loadDefinitionsFromURLs(ResolvingLocaleUrlDefinitionDAO.java:65)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.loadDefinitions(CachingLocaleUrlDefinitionDAO.java:222)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.checkAndloadDefinitions(CachingLocaleUrlDefinitionDAO.java:204)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinitions(CachingLocaleUrlDefinitionDAO.java:154)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:123)
at org.apache.tiles.definition.dao.CachingLocaleUrlDefinitionDAO.getDefinition(CachingLocaleUrlDefinitionDAO.java:54)
at org.apache.tiles.definition.UnresolvingLocaleDefinitionsFactory.getDefinition(UnresolvingLocaleDefinitionsFactory.java:105)
at org.apache.tiles.impl.BasicTilesContainer.getDefinition(BasicTilesContainer.java:364)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:618)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
at org.springframework.web.servlet.view.tiles2.TilesView.renderMergedOutputModel(TilesView.java:124)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
này là gốc rễ-context.xml.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/Templates.xml</value>
</list>
</property>
<property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles2.SpringBeanPreparerFactory"/>
</bean>
</beans>
Đây là servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<!-- <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
<!-- <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>-->
<!-- <beans:property name="prefix" value="/WEB-INF/views/" />-->
<!-- <beans:property name="suffix" value=".jsp" />-->
<!-- </beans:bean>-->
<!-- Imports user-defined @Controller beans that process client requests -->
<beans:import resource="controllers.xml" />
<beans:bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<beans:property name="basename" value="tiles"/>
</beans:bean>
<beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<beans:property name="basenames">
<beans:list>
<beans:value>customer</beans:value>
</beans:list>
</beans:property>
</beans:bean>
</beans:beans>
controllers.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- Scans within the base package of the application for @Components to configure as beans -->
<context:component-scan base-package="redacted.controllers" />
</beans>
tiles.properties
CustomerTile.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerTile.url=CustomerTile
CustomerSearchForm.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchForm.url=CustomerSearchForm
CustomerSearchResults.(class)=org.springframework.web.servlet.view.tiles2.TilesView
CustomerSearchResults.url=CustomerSearchResults
EditCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
EditCustomer.url=EditCustomer
NewCustomer.(class)=org.springframework.web.servlet.view.tiles2.TilesView
NewCustomer.url=NewCustomer
(Tile My Templates) templates.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">
<tiles-definitions>
<definition name="baseLayout" template="/WEB-INF/tiles/main-container-tile.jsp">
<put-attribute name="title" value="AMHOM" />
<put-attribute name="header" value="normalheader" />
<put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
<put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
</definition>
<definition name="baseLayout2" template="/WEB-INF/tiles/main-container-tile.jsp">
<put-attribute name="title" value="AMHOM" />
<put-attribute name="header" value="custdetailheader" />
<put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
<put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
</definition>
<definition name="baseLayout3" template="/WEB-INF/tiles/main-container-tile.jsp">
<put-attribute name="title" value="AMHOM" />
<put-attribute name="header" value="editcustheader" />
<put-attribute name="body" value="/WEB-INF/tiles/body.jsp" />
<put-attribute name="footer" value="/WEB-INF/tiles/footer-tile.jsp" />
</definition>
<definition name="normalheader" template="/WEB-INF/tiles/header-tile.jsp">
<put-attribute name="menutabs" value="/WEB-INF/tiles/tabs.jsp" />
</definition>
<definition name="notabsheader" template="/WEB-INF/tiles/header-tile.jsp">
<put-attribute name="menutabs" value="/WEB-INF/tiles/notabs.jsp" />
</definition>
<definition name="custdetailheader" template="/WEB-INF/tiles/header-tile.jsp">
<put-attribute name="menutabs" value="/WEB-INF/tiles/custdetail_tabs-tile.jsp" />
</definition>
<definition name="editcustheader" template="/WEB-INF/tiles/header-tile.jsp">
<put-attribute name="menutabs" value="/WEB-INF/tiles/editcust_tabs-tile.jsp" />
</definition>
<definition name="completecust" template="/WEB-INF/tiles/custdetail_complete-tile.jsp">
<put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
<put-attribute name="customertile" value="/WEB-INF/tiles/custdetail_content-tile.jsp" />
<put-attribute name="diagtile" value="/WEB-INF/tiles/custdetail_diagnosis-tile.jsp" />
<put-attribute name="resptile" value="/WEB-INF/tiles/custdetail_responsibleparty-tile.jsp" />
<put-attribute name="doctortile" value="/WEB-INF/tiles/custdetail_doctor-tile.jsp" />
<put-attribute name="insurancetile" value="/WEB-INF/tiles/custdetail_insurance-tile.jsp" />
</definition>
<definition name="customersearch" template="/WEB-INF/tiles/customersearch_complete-tile.jsp">
<put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
<put-attribute name="content-tile" value="/WEB-INF/tiles/customersearchform_content-tile.jsp" />
</definition>
<definition name="custsearchresults" template="/WEB-INF/tiles/custsearchresults_complete-tile.jsp">
<put-attribute name="errors-tile" value="/WEB-INF/tiles/customersearchform_errors-tile.jsp" />
<put-attribute name="content-tile" value="/WEB-INF/tiles/custsearchresults_content-tile.jsp" />
</definition>
<definition name="editcust" template="/WEB-INF/tiles/editcust_complete-tile.jsp">
<put-attribute name="navigation" value="/WEB-INF/tiles/custdetail_cpapnav-tile.jsp" />
<put-attribute name="editcustomertile" value="/WEB-INF/tiles/editcust_content-tile.jsp" />
</definition>
<definition name="newcust" template="/WEB-INF/tiles/newcust_complete-tile.jsp">
<put-attribute name="navigation" value="" />
<put-attribute name="newcustomertile" value="/WEB-INF/tiles/newcust_content-tile.jsp" />
</definition>
<definition name="CustomerSearchForm" extends="baseLayout">
<put-attribute name="title" value="" />
<put-attribute name="appName" value="Customer Search" />
<put-attribute name="body" value="customersearch" />
</definition>
<definition name="CustomerSearchResults" extends="baseLayout">
<put-attribute name="title" value="" />
<put-attribute name="appName" value="Customer Search" />
<put-attribute name="body" value="custsearchresults" />
</definition>
<definition name="CustomerTile" extends="baseLayout2">
<put-attribute name="title" value="Customer Display" />
<put-attribute name="appName" value="Customer Display" />
<put-attribute name="body" value="completecust" />
</definition>
<definition name="EditCustomer" extends="baseLayout3">
<put-attribute name="title" value="Edit Customer" />
<put-attribute name="appName" value="Edit Customer" />
<put-attribute name="body" value="editcust" />
</definition>
<definition name="NewCustomer" extends="baseLayout3">
<put-attribute name="title" value="New Customer" />
<put-attribute name="appName" value="New Customer" />
<put-attribute name="body" value="newcust" />
</definition>
</tiles-definitions>
Vui lòng hiển thị tệp 'spring configuration' và' tilesxyz.xml'. – Shams
Tôi đã chỉnh sửa câu hỏi và đăng thông tin bạn yêu cầu. Cảm ơn –