Problemas com web.xml

4 respostas
R

Ae pessoal, to comecando agora com programacao java para web, estou usando eclipse (plugins do tomcat e amateras), tomcat e mysql. Bem, estou tentando fazer uma servlet beem simples soh para exibir uma mensagem na tela.

nome do projeto eh jspteste, ele tem duas pastas fora as das lib, sao: "src" que tem um package br.com.rollei.servlet que tem uma classe OiMundo.java e uma outra pasta "web" que tem uma subpasta "WEB-INF" ... eh um projeto bem simples mesmo, soh de teste.

sim .. como eu disse estou tento problemas com o arquivo web.xml que esta dentro da pasta "web"

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" 
		 version="2.4"
		 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">
	<display-name>Aplicacao web simples</display-name>
	<servlet>
[b]		<servletname>servletDeTeste</servletname>[/b]
		<servletclass>br.com.bernardo.servlet.OiMundo</servletclass>
	</servlet>
[b]	<servletmapping>[/b]
		<servletname>servletDeTeste</servletname>
		<urlpattern>/oi</urlpattern>
	</servletmapping>	
</web-app>

as linhas em negrito o eclipse esta acusando erros

cvc-complex-type.2.4.a: Invalid content was found starting with element 'servletmapping'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":distributable, "http://java.sun.com/xml/ns/j2ee":context-param, "http://java.sun.com/xml/ns/j2ee":filter, "http://java.sun.com/xml/ns/j2ee":filter-mapping, "http://java.sun.com/xml/ns/j2ee":listener, "http://java.sun.com/xml/ns/j2ee":servlet, "http://java.sun.com/xml/ns/j2ee":servlet-mapping, "http://java.sun.com/xml/ns/j2ee":session-config, "http://java.sun.com/xml/ns/j2ee":mime-mapping, "http://java.sun.com/xml/ns/j2ee":welcome-file-list, "http://java.sun.com/xml/ns/j2ee":error-page, "http://java.sun.com/xml/ns/j2ee":jsp-config, "http://java.sun.com/xml/ns/j2ee":security-constraint, "http://java.sun.com/xml/ns/j2ee":login-config, "http://java.sun.com/xml/ns/j2ee":security-role, "http://java.sun.com/xml/ns/j2ee":env-entry, "http://java.sun.com/xml/ns/j2ee":ejb-ref, "http://java.sun.com/xml/ns/j2ee":ejb-local-ref, "http://java.sun.com/xml/ns/j2ee":service-ref, "http://java.sun.com/xml/ns/j2ee":resource-ref, "http://java.sun.com/xml/ns/j2ee":resource-env-ref, "http://java.sun.com/xml/ns/j2ee":message-destination-ref, "http://java.sun.com/xml/ns/j2ee":message-destination, "http://java.sun.com/xml/ns/j2ee":locale-encoding-mapping-list}' is expected. jspteste/web/WEB-INF web.xml line 14 1203603422463 988

cvc-complex-type.2.4.a: Invalid content was found starting with element 'servletname'. One of '{"http://java.sun.com/xml/ns/j2ee":description, "http://java.sun.com/xml/ns/j2ee":display-name, "http://java.sun.com/xml/ns/j2ee":icon, "http://java.sun.com/xml/ns/j2ee":servlet-name}' is expected. jspteste/web/WEB-INF web.xml line 11 1203603422463 987

alguem pode me explicar o porque dos erros, e mais importante ainda, alguam pode me explicar detalhadamente esse do o que eh exatamente xmlns, xmlns:xsi e xsi:schemaLocation

eu peguei esse cabecalho de um tutorial e foi o que funcionou quando eu tentei exibir uma pagina .JSP ... era soh um "oi mundo" tambem, funcionou a pagina jsp ... agora, nao consigo fazer esse servlet funcionar

ajuda!

[]'s

**edit**

sim o que eh tambem version="2.4" dentro da tag de web-app?

4 Respostas

A

deveria ser
deveria ser
deveria ser

R

vlw os erros de compilacao sairam, mas ainda nao consigo exibir o servlet

“HTTP Status 404 - /jspteste/oi”

sabe dizer o que pode ser?

R

aqui o web.xml atual

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_ID" 
		 version="2.4"
		 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">
	<display-name>Aplicacao web simples</display-name>
	<servlet>
		<servlet-name>servletDeTeste</servlet-name>
		<servlet-class>br.com.bernardo.servlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>servletDeTeste</servlet-name>
		<url-pattern>/oi</url-pattern>
	</servlet-mapping>	
</web-app>

e aqui o OiMundo.java

package br.com.bernardo.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class OiMundo extends HttpServlet {

	private static final long serialVersionUID = 1L;
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.println("<html>");
		out.println("Eu sou um servlet.");
		out.println("</html>");
	}
}

o erro que ta dando atualmente eh essse:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:534)

root cause

java.lang.UnsupportedClassVersionError: br/com/bernardo/servlet/OiMundo (Unsupported major.minor version 50.0)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:539)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:534)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.
Apache Tomcat/5.5.23

uma luz se alguem poder me dar.

[]'s

S

Você precisa colocar estas duas linha no inicio do seu web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>

sem isso ele não sabe que tem que usar as tags do j2ee.

Criado 21 de fevereiro de 2008
Ultima resposta 4 de jan. de 2009
Respostas 4
Participantes 3