Java Tomcat错误:警告:检索容器的JNDI命名上下文失败
当我尝试在Tomcat 7上启动最近部署的web应用程序时,我在Java Tomcat错误:警告:检索容器的JNDI命名上下文失败,java,tomcat7,Java,Tomcat7,当我尝试在Tomcat 7上启动最近部署的web应用程序时,我在Tomcat70/logs/文件夹中的catalina.2013-12-31.log文件中遇到以下错误 Dec 31, 2013 10:11:20 AM org.apache.catalina.deploy.NamingResources cleanUp WARNING: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].St
Tomcat70/logs/
文件夹中的catalina.2013-12-31.log
文件中遇到以下错误
Dec 31, 2013 10:11:20 AM org.apache.catalina.deploy.NamingResources cleanUp
WARNING: Failed to retrieve JNDI naming context for container [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/crm]] so no cleanup was performed for that container
javax.naming.NameNotFoundException: Name [comp/env] is not bound in this Context. Unable to find [comp].
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.catalina.deploy.NamingResources.cleanUp(NamingResources.java:977)
at org.apache.catalina.deploy.NamingResources.stopInternal(NamingResources.java:959)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5483)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:747)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:222)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:186)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
我的应用程序是一个JDK7Web应用程序。我试图寻找类似的问题,并尝试了一些建议,例如重新启动服务器(以便清除一些XML文件),但没有成功
有什么想法吗
更新:
这是我在web.xml中看到的:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<!-- Define CRM session timeout -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<!-- Define servlet-mapped and path-mapped example filters -->
<filter>
<filter-name>Servlet Mapped Filter</filter-name>
<filter-class>Filters.ExampleFilter</filter-class>
<init-param>
<param-name>attribute</param-name>
<param-value>Filters.ExampleFilter.SERVLET_MAPPED</param-value>
</init-param>
</filter>
<filter>
<filter-name>Path Mapped Filter</filter-name>
<filter-class>Filters.ExampleFilter</filter-class>
<init-param>
<param-name>attribute</param-name>
<param-value>Filters.ExampleFilter.PATH_MAPPED</param-value>
</init-param>
</filter>
<filter>
<filter-name>Request Dumper Filter</filter-name>
<filter-class>Filters.RequestDumperFilter</filter-class>
</filter>
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>Filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>EUC_JP</param-value>
</init-param>
</filter>
<filter>
<filter-name>Compression Filter</filter-name>
<filter-class>CompressionFilters.CompressionFilter</filter-class>
<init-param>
<param-name>compressionThreshold</param-name>
<param-value>10</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
</filter>
<!-- Define filter mappings for the defined filters -->
<filter-mapping>
<filter-name>Servlet Mapped Filter</filter-name>
<servlet-name>invoker</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>Path Mapped Filter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
<!-- Define example application events listeners -->
<listener>
<listener-class>Listeners.ContextListener</listener-class>
</listener>
<listener>
<listener-class>Listeners.SessionListener</listener-class>
</listener>
<!-- Define servlets that are included in the example application -->
<servlet>
<servlet-name>SendMailServlet</servlet-name>
<servlet-class>SendMailServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>
snoop
</servlet-name>
<servlet-class>
SnoopServlet
</servlet-class>
<run-as>
<description>Security role for anonymous access</description>
<role-name>tomcat</role-name>
</run-as>
</servlet>
<servlet>
<servlet-name>
servletToJsp
</servlet-name>
<servlet-class>
servletToJsp
</servlet-class>
</servlet>
<servlet>
<servlet-name>
CompressionFilterTestServlet
</servlet-name>
<servlet-class>
CompressionFilters.CompressionFilterTestServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
CompressionFilterTestServlet
</servlet-name>
<url-pattern>
/CompressionTest
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SendMailServlet</servlet-name>
<url-pattern>/SendMailServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
snoop
</servlet-name>
<url-pattern>
/snoop
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
servletToJsp
</servlet-name>
<url-pattern>
/servletToJsp
</url-pattern>
</servlet-mapping>
<!-- Added 11/02/2013 - Ryan Sammut -->
<!-- Servlet Mapping -->
<servlet>
<servlet-name>AddNewContact</servlet-name>
<servlet-class>Crm.Servlets.AddNewContact</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddNewContact</servlet-name>
<url-pattern>/servlet/AddNewContact</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>AddTip</servlet-name>
<servlet-class>Crm.Servlets.AddTip</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddTip</servlet-name>
<url-pattern>/servlet/AddTip</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CaaPdfOutputter</servlet-name>
<servlet-class>Crm.Servlets.CaaPdfOutputter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CaaPdfOutputter</servlet-name>
<url-pattern>/servlet/CaaPdfOutputter</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CaaTestSubmit</servlet-name>
<servlet-class>Crm.Servlets.CaaTestSubmit</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CaaTestSubmit</servlet-name>
<url-pattern>/servlet/CaaTestSubmit</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DeleteTip</servlet-name>
<servlet-class>Crm.Servlets.DeleteTip</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DeleteTip</servlet-name>
<url-pattern>/servlet/DeleteTip</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationCustomerFinancialAdvisorRefresh</servlet-name>
<servlet-class>Crm.Servlets.DestinationCustomerFinancialAdvisorRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationCustomerFinancialAdvisorRefresh</servlet-name>
<url-pattern>/servlet/DestinationCustomerFinancialAdvisorRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationCustomerRefresh</servlet-name>
<servlet-class>Crm.Servlets.DestinationCustomerRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationCustomerRefresh</servlet-name>
<url-pattern>/servlet/DestinationCustomerRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationCustomerShadowFinancialAdvisorRefresh</servlet-name>
<servlet-class>Crm.Servlets.DestinationCustomerShadowFinancialAdvisorRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationCustomerShadowFinancialAdvisorRefresh</servlet-name>
<url-pattern>/servlet/DestinationCustomerShadowFinancialAdvisorRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationOfficerControl</servlet-name>
<servlet-class>Crm.Servlets.DestinationOfficerControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationOfficerControl</servlet-name>
<url-pattern>/servlet/DestinationOfficerControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationOfficerFinancialAdvisorControl</servlet-name>
<servlet-class>Crm.Servlets.DestinationOfficerFinancialAdvisorControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationOfficerFinancialAdvisorControl</servlet-name>
<url-pattern>/servlet/DestinationOfficerFinancialAdvisorControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>DestinationOfficerShadowFinancialAdvisorControl</servlet-name>
<servlet-class>Crm.Servlets.DestinationOfficerShadowFinancialAdvisorControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DestinationOfficerShadowFinancialAdvisorControl</servlet-name>
<url-pattern>/servlet/DestinationOfficerShadowFinancialAdvisorControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FactFindControl</servlet-name>
<servlet-class>Crm.Servlets.FactFindControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FactFindControl</servlet-name>
<url-pattern>/servlet/FactFindControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>InsertAddedCustomerFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.InsertAddedCustomerFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InsertAddedCustomerFinancialAdvisor</servlet-name>
<url-pattern>/servlet/InsertAddedCustomerFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>InsertAddedCustomerRelationshipOfficer</servlet-name>
<servlet-class>Crm.Servlets.InsertAddedCustomerRelationshipOfficer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InsertAddedCustomerRelationshipOfficer</servlet-name>
<url-pattern>/servlet/InsertAddedCustomerRelationshipOfficer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>InsertAddedCustomerShadowFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.InsertAddedCustomerShadowFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InsertAddedCustomerShadowFinancialAdvisor</servlet-name>
<url-pattern>/servlet/InsertAddedCustomerShadowFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>KYCControl</servlet-name>
<servlet-class>Crm.Servlets.KYCControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>KYCControl</servlet-name>
<url-pattern>/servlet/KYCControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LeadAssignmentTransfer</servlet-name>
<servlet-class>Crm.Servlets.LeadAssignmentTransfer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LeadAssignmentTransfer</servlet-name>
<url-pattern>/servlet/LeadAssignmentTransfer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LeadAssignmentView</servlet-name>
<servlet-class>Crm.Servlets.LeadAssignmentView</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LeadAssignmentView</servlet-name>
<url-pattern>/servlet/LeadAssignmentView</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LeadDetailsGenerator</servlet-name>
<servlet-class>Crm.Servlets.LeadDetailsGenerator</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LeadDetailsGenerator</servlet-name>
<url-pattern>/servlet/LeadDetailsGenerator</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ListAddedCustomerFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.ListAddedCustomerFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListAddedCustomerFinancialAdvisor</servlet-name>
<url-pattern>/servlet/ListAddedCustomerFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ListAddedCustomerRelationshipOfficer</servlet-name>
<servlet-class>Crm.Servlets.ListAddedCustomerRelationshipOfficer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListAddedCustomerRelationshipOfficer</servlet-name>
<url-pattern>/servlet/ListAddedCustomerRelationshipOfficer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>ListAddedCustomerShadowFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.ListAddedCustomerShadowFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListAddedCustomerShadowFinancialAdvisor</servlet-name>
<url-pattern>/servlet/ListAddedCustomerShadowFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RemoveCustomerFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.RemoveCustomerFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RemoveCustomerFinancialAdvisor</servlet-name>
<url-pattern>/servlet/RemoveCustomerFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RemoveCustomerRelationshipOfficer</servlet-name>
<servlet-class>Crm.Servlets.RemoveCustomerRelationshipOfficer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RemoveCustomerRelationshipOfficer</servlet-name>
<url-pattern>/servlet/RemoveCustomerRelationshipOfficer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RemoveCustomerShadowFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.RemoveCustomerShadowFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RemoveCustomerShadowFinancialAdvisor</servlet-name>
<url-pattern>/servlet/RemoveCustomerShadowFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>RetrieveTips</servlet-name>
<servlet-class>Crm.Servlets.RetrieveTips</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RetrieveTips</servlet-name>
<url-pattern>/servlet/RetrieveTips</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceCustomerFinancialAdvisorRefresh</servlet-name>
<servlet-class>Crm.Servlets.SourceCustomerFinancialAdvisorRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceCustomerFinancialAdvisorRefresh</servlet-name>
<url-pattern>/servlet/SourceCustomerFinancialAdvisorRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceCustomerRefresh</servlet-name>
<servlet-class>Crm.Servlets.SourceCustomerRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceCustomerRefresh</servlet-name>
<url-pattern>/servlet/SourceCustomerRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceCustomerShadowFinancialAdvisorRefresh</servlet-name>
<servlet-class>Crm.Servlets.SourceCustomerShadowFinancialAdvisorRefresh</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceCustomerShadowFinancialAdvisorRefresh</servlet-name>
<url-pattern>/servlet/SourceCustomerShadowFinancialAdvisorRefresh</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceOfficerControl</servlet-name>
<servlet-class>Crm.Servlets.SourceOfficerControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceOfficerControl</servlet-name>
<url-pattern>/servlet/SourceOfficerControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceOfficerFinancialAdvisorControl</servlet-name>
<servlet-class>Crm.Servlets.SourceOfficerFinancialAdvisorControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceOfficerFinancialAdvisorControl</servlet-name>
<url-pattern>/servlet/SourceOfficerFinancialAdvisorControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SourceOfficerShadowFinancialAdvisorControl</servlet-name>
<servlet-class>Crm.Servlets.SourceOfficerShadowFinancialAdvisorControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SourceOfficerShadowFinancialAdvisorControl</servlet-name>
<url-pattern>/servlet/SourceOfficerShadowFinancialAdvisorControl</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TransferCustomerFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.TransferCustomerFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TransferCustomerFinancialAdvisor</servlet-name>
<url-pattern>/servlet/TransferCustomerFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TransferCustomerRelationshipOfficer</servlet-name>
<servlet-class>Crm.Servlets.TransferCustomerRelationshipOfficer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TransferCustomerRelationshipOfficer</servlet-name>
<url-pattern>/servlet/TransferCustomerRelationshipOfficer</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>TransferCustomerShadowFinancialAdvisor</servlet-name>
<servlet-class>Crm.Servlets.TransferCustomerShadowFinancialAdvisor</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TransferCustomerShadowFinancialAdvisor</servlet-name>
<url-pattern>/servlet/TransferCustomerShadowFinancialAdvisor</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>UpdateCustomerMonitoringUnit</servlet-name>
<servlet-class>Crm.Servlets.UpdateCustomerMonitoringUnit</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UpdateCustomerMonitoringUnit</servlet-name>
<url-pattern>/servlet/UpdateCustomerMonitoringUnit</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SohPdfOutputter</servlet-name>
<servlet-class>Crm.Servlets.SohPdfOutputter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SohPdfOutputter</servlet-name>
<url-pattern>/servlet/SohPdfOutputter</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>variouscontrol</servlet-name>
<servlet-class>Crm.Servlets.variouscontrol</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>variouscontrol</servlet-name>
<url-pattern>/servlet/variouscontrol</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/debug-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/debug-taglib.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-taglib.tld
</taglib-location>
</taglib>
<resource-ref>
<res-ref-name>mail/Session</res-ref-name>
<res-type>javax.mail.Session</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<security-constraint>
<display-name>Example Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/jsp/security/protected/*</url-pattern>
<!-- If you list http methods, only those methods are protected -->
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>tomcat</role-name>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>
<!-- Default login configuration uses form-based authentication -->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Example Form-Based Authentication Area</realm-name>
<form-login-config>
<form-login-page>/jsp/security/protected/login.jsp</form-login-page>
<form-error-page>/jsp/security/protected/error.jsp</form-error-page>
</form-login-config>
</login-config>
<!-- Environment entry examples -->
<!--env-entry>
<env-entry-description>
The maximum number of tax exemptions allowed to be set.
</env-entry-description>
<env-entry-name>maxExemptions</env-entry-name>
<env-entry-value>15</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry-->
<env-entry>
<env-entry-name>minExemptions</env-entry-name>
<env-entry-value>1</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>foo/name1</env-entry-name>
<env-entry-value>value1</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>foo/bar/name2</env-entry-name>
<env-entry-value>true</env-entry-value>
<env-entry-type>java.lang.Boolean</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>name3</env-entry-name>
<env-entry-value>1</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>foo/name4</env-entry-name>
<env-entry-value>10</env-entry-value>
<env-entry-type>java.lang.Integer</env-entry-type>
</env-entry>
<!-- EJB Reference -->
<ejb-ref>
<description>Example EJB Reference</description>
<ejb-ref-name>ejb/Account</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.mycompany.mypackage.AccountHome</home>
<remote>com.mycompany.mypackage.Account</remote>
</ejb-ref>
<!-- Local EJB Reference -->
<ejb-local-ref>
<description>Example Local EJB Reference</description>
<ejb-ref-name>ejb/ProcessOrder</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>com.mycompany.mypackage.ProcessOrderHome</local-home>
<local>com.mycompany.mypackage.ProcessOrder</local>
</ejb-local-ref>
</web-app>
我最近遇到了这个奇怪的问题,答案是清单文件的编码不正确或具有不可见的junc字符。如果文件是在unix环境中创建的,并且您正在windows中运行它,则可能会发生这种情况
解决方案是用UTF-8编码重新创建文件。这是一个相当奇怪的问题,但我通过仔细检查我项目的web.xml解决了这个问题。当我向web.xml添加了一个错误的servlet配置行时,同样的问题也发生了,当删除它时,它消失了。因此,请非常仔细地检查您的web.xml,并撤销最近对它所做的所有更改-如果它能够正常工作,只需更正您刚才犯下的配置错误我在Eclipse重写我的server.xml时遇到了这个错误,特别是从我的一个上下文中删除JNDI依赖性:
<Context
docBase="myapp"
path="/myapp"
reloadable="true"
source="org.eclipse.jst.j2ee.server:myapp"
>
<Resource
name="jdbc/myDataSource"
auth="Container"
type="javax.sql.DataSource"
... />
</Context>
显而易见的解决方案是,再次手动修改Eclipse中的“Servers”->“Tomcat v7”->server.xml,并重新添加“Resource”元素。我删除了我的服务器并重新添加了它。工作也许这是个老问题。。。但我们可以成为别人的教训
我也犯了同样的错误。。。我从服务器上删除了运行时,我删除了.m2/repositories中的所有存储库,Maven更新、编译和运行我的存储库在清理Tomcat服务器后消失了
重新启动Tomcat
在测试servlet导致异常后,我的服务器被破坏。我今天也遇到了同样的错误。然后我在Tomcat服务器上执行了一次清理,这告诉我有几个Maven POM丢失了。所以我执行了一个Maven更新项目(Eclipse:右键单击Project->Maven->Update Projects..->选择您需要的项目)。这为我解决了问题
我也有同样的问题
我使用的是Tomcat 8.5,我使用JNDI配置对MySQL数据库的访问,
我在java应用程序中使用了MySQL连接器jar版本8
我使用MySQL连接器jar版本5解决了这个问题。双击服务器名称打开服务器配置。然后选中“将模块上下文发布到单独的XML文件”复选框。
然后重新启动服务器
有时,通过删除和添加服务器可以解决此问题可能是由于java已损坏,卸载java并安装新的java版本。这对我来说很管用。在建立了一个全新的eclipse之后也遇到了同样的问题。
无法在新签出后运行Web应用程序
在我的例子中,我必须在项目属性中设置“目标运行时”:
之后,您可以在项目中看到库:
下一个解决方案对我有效:
编辑server.xml并删除(文件末尾附近):
这是对已删除应用程序的引用。在JNDI查找方面,您的web.xml和Tomcat的context.xml中有哪些内容?@Zyga-在上面的更新中的以下文件中添加了我的代码错误似乎只是警告,它不是来自您的应用程序,而是来自Tomcat Manager。它真的会阻止你运行你的应用程序吗?@Zyga-是的,应用程序实际上不会启动。这个问题似乎是在新的开发中出现的,但实际上,我只是在应用程序中添加了一个新的servlet和一些类。这是Tomcat日志中唯一的错误吗?此错误是否存在于早期日志文件中(即应用程序仍在为您工作时?)。是否有其他日志文件,即localhost.log?我不相信上面的错误就是这里的问题。您能解释一下清单文件为什么会导致这样的问题吗?我没有一个完整的答案,但很明显,清单文件在部署归档文件时起到了一定的作用。简单地删除清单有时会有所帮助,因为这会在部署或war打包期间触发具有适当字符规范的新文件的创建。这对我很有帮助。谢谢,有人知道为什么会这样吗?下面发生了什么?
<Context
docBase="myapp"
path="/myapp"
reloadable="true"
source="org.eclipse.jst.j2ee.server:myapp"
>
<Resource
name="jdbc/myDataSource"
auth="Container"
type="javax.sql.DataSource"
... />
</Context>
<Context docBase="xxx" path="/xxx" reloadable="true" source="org.eclipse.jst.j2ee.server:xxx"/>