2010-01-23 22 views
12

Tomcat 6.0'da yeni web uygulaması dağıtmaya çalışıyorum, ancak başlat düğmesine tıkladığımda, tekrar tekrar hatası alıyorum başlatıldı. Başlatılan düğmeyi tıkladığımda, diğer dağıtılmış uygulamalar düzgün çalışıyor. Ama neden bu uygulama değil?FAIL - Bağlamında uygulama/Hello başlatılamadı

web xml:

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
     version="2.4"> 

<servlet> 
<servlet-name>j_security_check</servlet-name> 
<servlet-class>EmailHander</servlet-class> 
</servlet> 

<login-config> 
<auth-method>FORM</auth-method> 
<form-login-config> 
<form-login-page>/login.jsp</form-login-page> 
<form-error-page>/fail_login.html</form-error-page> 
</form-login-config> 
</login-config> 
<web-app> 

Bu benim catalina günlük dosyasında ne çekiyor İstisna ise:

Jan 23, 2010 6:49:31 PM org.apache.catalina.startup.ContextConfig applicationWebConfig 
SEVERE: Parse error in application web.xml file at jndi:/localhost/Hello/WEB-INF/web.xml 
org.xml.sax.SAXParseException: XML document structures must start and end within the same entity. 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644) 
    at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365) 
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1066) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4339) 
    at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1249) 
    at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:612) 
    at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) 
    at java.lang.Thread.run(Thread.java:619) 

web xml dosyasında bu hatanın sebebi nedir?

cevap

19

<web-app> ile biter, ancak bu arada istisna anlatır neredeyse anlamıyla nedir </web-app>

ile bitmelidir.

+0

Doğru. – Dusk

+0

Bu cevabı +2 yapsaydım, sadece ikinci yorumdan dolayı verirdim! ;) –

2

EmailHandler gerçekten servlet sınıfınızın tam adı, yani, com.something.EmailHandler gibi bir paket içinde değil. web.xml'da tam olarak nitelendirilmelidir. Sizin web.xml

7

<web-app> ile değil, XML'yi </web-app> ile kapatmanız gerekir.

Ben aynı sorunu yaşadım
1

,

<servlet-mapping> 
    <servlet-name>jsonservice</servlet-name> 
    <url-pattern>/jsonservice</url-pattern> 
</servlet-mapping> 
0

onay web.xml dosyasında belki servletContextlistener ile

<servlet-mapping> 
    <servlet-name>jsonservice</servlet-name> 
    <url-pattern>jsonservice</url-pattern> 
</servlet-mapping> 

yerine web.xml''deki servlet url bir çizgi eksikti iyi yapmamak. benim durumumda servletContextlistener ekledim ve onu boş bıraktım ve aynı hatayı verdim, proje dosyalarından silmeye çalıştım ama hala web.xml dosyasında .finally web.xml dosyasından silip dosyayı kaydettim. Projeyi çalıştırın ve başarıyla belirtildi

İlgili konular