Criação de Servlets

6 respostas
I

Olá pessoal!

Gostaria de saber como eu faço para criar um servlet utilizando o Eclipse? Até agora, fiz o seguinte:

  1. Criei um projeto (TomcatProject);
  2. Ele gerou 2 WEB-INF (WEB-INF/src e WEB-INF);
  3. Criei um servlet na pasta WEB-INF/src, e o web.xml na pasta WEB-INF;
  4. Iniciei o Tomcat e chamei a aplicação.

Só que dá erro 404! Vcs tem alguma idéia do que pode ser? Estou usando Eclipse 3.1 e Tomcat 6.0.

Desde já agradeço.

6 Respostas

C

Como está a configuração do seu Servlet no web.xml?

Você compilou a classe e já verificou se a mesma se encontra no diretório WEB-INF/classes?

I

Sim, o .class está dentro de WEB-INF. O meu web.xml está assim:

<?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>

&lt;servlet&gt; 
    &lt;servlet-name&gt;primServ&lt;/servlet-name&gt; 
    &lt;servlet-class&gt;primServ&lt;/servlet-class&gt; 
&lt;/servlet&gt;    
 
&lt;servlet-mapping&gt; 
    &lt;servlet-name&gt;primServ&lt;/servlet-name&gt; 
    &lt;url-pattern&gt;/primServ&lt;/url-pattern&gt; 
&lt;/servlet-mapping&gt; 

&lt;session-config&gt; 
    &lt;session-timeout&gt;30&lt;/session-timeout&gt; &lt;!-- 30 minutes --&gt; 
&lt;/session-config&gt;

</web-app>

C

Sua classe está dentro do WEB-INF ou WEB-INF/classes?

I

Está dentro do WEB-INF

C

Tem que colocar as classes dentro de WEB-INF/classes.

I

Já coloquei, mas continua com o mesmo erro… Acho que talvez seja algum problema de configuração do Tomcat, pois quando vou iniciá-lo, aparece as seguintes mensagens:

31/07/2007 12:00:46 org.apache.catalina.core.AprLifecycleListener init

INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\jdk1.5.0_06\bin;C:\jdk1.5.0_06\bin;

31/07/2007 12:00:46 org.apache.coyote.http11.Http11Protocol init

INFO: Initializing Coyote HTTP/1.1 on http-8080

31/07/2007 12:00:46 org.apache.catalina.startup.Catalina load

INFO: Initialization processed in 2142 ms

31/07/2007 12:00:46 org.apache.catalina.core.StandardService start

INFO: Starting service Catalina

31/07/2007 12:00:46 org.apache.catalina.core.StandardEngine start

INFO: Starting Servlet Engine: Apache Tomcat/6.0.13

31/07/2007 12:00:47 org.apache.catalina.core.StandardContext resourcesStart

SEVERE: Error starting static Resources

java.lang.IllegalArgumentException: Document base C:\dev\web does not exist or is not a readable directory

at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:141)

at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3941)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4110)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)

at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)

at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

at org.apache.catalina.core.StandardService.start(StandardService.java:516)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

at org.apache.catalina.startup.Catalina.start(Catalina.java:566)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

31/07/2007 12:00:47 org.apache.catalina.core.StandardContext start

SEVERE: Error in resourceStart()

31/07/2007 12:00:47 org.apache.catalina.core.StandardContext start

SEVERE: Error getConfigured

31/07/2007 12:00:47 org.apache.catalina.core.StandardContext start

SEVERE: Context [/dev] startup failed due to previous errors

31/07/2007 12:00:47 org.apache.catalina.core.StandardContext stop

INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dev] has not been started

31/07/2007 12:00:48 org.apache.coyote.http11.Http11Protocol start

INFO: Starting Coyote HTTP/1.1 on http-8080

31/07/2007 12:00:48 org.apache.jk.common.ChannelSocket init

INFO: JK: ajp13 listening on /0.0.0.0:8009

31/07/2007 12:00:48 org.apache.jk.server.JkMain start

INFO: Jk running ID=0 time=0/63  config=null

31/07/2007 12:00:48 org.apache.catalina.startup.Catalina start

INFO: Server startup in 2310 ms

Isto é tudo o que aparece no meu console quando inicio o Tomcat! Eu consigo executar jsp’s, mas não servlets. Será que você sabe o que é?

Obrigada.

Criado 30 de julho de 2007
Ultima resposta 31 de jul. de 2007
Respostas 6
Participantes 2