Ajuda com Servlets

8 respostas
tiagokihara

Bom…eu estou iniciando em servlets e jsp e estou tentando implementar minha primeira aplicação…
estou usando o tomcat como container…

eu criei uma página html para o usuário escolher uma cor de cerveja e salvei como form.html, depois coloquei no diretório
C:/Tomcat/webapps/Beer-v1/form.html

depois criei este xml e coloquei no diretório
C:/Tomcat/webapps/Beer-v1/WEB-INF/web.xml


<servlet>
	<servlet-name>Ch3 Beer</servlet-name>
	<servlet-class>com.example.web.BeerSelect</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>Ch3 Beer</servlet-name>
	<url-pattern>/SelectBeer.do</url-pattern>
</servlet-mapping>

então criei este arquivo java e compilei…peguei o .class e coloquei no diretório
C:/Tomcat/webapps/Beer-v1/WEB-INF/classes/com/example/web/BeerSelect.class


import javax.servlet.<em>;

import javax.servlet.http.</em>;

import <a href="http://java.io">java.io</a>.*;

public class BeerSelect extends HttpServlet {

public void doPost( HttpServletRequest request, HttpServletResponse response ) 
	throws IOException, ServletException {
		
		response.setContentType( "text/html" );
		PrintWriter out = response.getWriter();
		
		out.println( "Beer Selection Advice<br>" );
		
		String c = request.getParameter( "color" );
		
		out.println( "<br>Got beer color " + c );
	}

}


mas não está rodando…

se alguém puder me dar uma força…desculpa se ficou meio grande…
vlws

8 Respostas

Pedrosa

Cara verifique se no do web.xml esse nome realmente está correto, creio que não tenha esse espaço em Ch3 Beer.

kissdemon

A servlet está correta dentro deste package mesmo???
com.example.web.BeerSelect

Qual erro retornou??

tiagokihara

ah…o erro do xml eu consegui resolver…agora to tendo outro problema…
eu reeditei a duvida…olhem lá em cima…
ah…obrigado pela ajuda…

Pedrosa

Qual o erro está causando agora?

tiagokihara

aparece essa msg ai qdo eu clido no botão…

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.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

java.lang.Thread.run(Thread.java:619)

root cause

java.lang.NoClassDefFoundError: com/example/web/BeerSelect (wrong name: BeerSelect)

java.lang.ClassLoader.defineClass1(Native Method)

java.lang.ClassLoader.defineClass(ClassLoader.java:620)

java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)

org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)

org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793)

org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702)

org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571)

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)

java.lang.Thread.run(Thread.java:619)

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

kissdemon

coloque isso na primeira linha do seu código:

e compile novamente.

tiagokihara

funcionou!!!
muito obrigado galera…
espero daqui a algum tempo poder estar ajudando em vez de ser ajudado…ehheh
mas valeu msm…
T++++

JMan

Olha o seu stacktrace, não ta achando a classe do servlet

java.lang.NoClassDefFoundError: com/example/web/BeerSelect (wrong name: BeerSelect)

no seu código não estou vendo o package

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class BeerSelect extends HttpServlet {

Kd o package?

Criado 9 de maio de 2007
Ultima resposta 9 de mai. de 2007
Respostas 8
Participantes 4