Boa tarde,
Estava utilizando o Eclipse normalmente, mas de uma hora para outra ele começou a apresentar:
java.lang.ClassNotFoundException: HttpServlet
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1850)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1095)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
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(Unknown Source)
20/10/2009 13:17:36 org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
20/10/2009 13:17:37 org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
20/10/2009 13:17:37 org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
O interessante é que para todo e qualquer servlet. Ele nem ao menos consegue importar o pacote javax.servlet.*.
Exemplo bem básico:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Cookie meuCookie = new Cookie("nome", "Arthur");
meuCookie.setMaxAge(60);
meuCookie.setSecure(false);
meuCookie.setComment("Nome do meu filhote");
response.addCookie(meuCookie);
response.setContentType("text/html;charset=ISO-8859-1");
String html = "<html><body><h2>Seu cookie foi criado com sucesso!</h2><br/>";
html += "<a href=\"VisualizaCookie\">" + "Clique aqui para ver o Cookie criado. </a>";
html += "</body></html>";
PrintWriter writer = response.getWriter();
writer.print(html);
writer.close();
}
O problema começou mais ou menos quando estava implementando um pool de conexões no Tomcat 6.0:
server.xml
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
context.xml
<?xml version='1.0' encoding='utf-8'?>
<Context path="/livro1">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/gmMaterias" auth="Container"
type = "javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName = "org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/gmMaterias"
username="postgres"
password="pi31412"
maxActive="30"
maxIdle="20000"
removeAbandoned="true"
maxWait="120" />
</Context>
E o web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>livro1</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>CriandoCookie</display-name>
<servlet-name>CriandoCookie</servlet-name>
<servlet-class>servlets.CriandoCookie</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CriandoCookie</servlet-name>
<url-pattern>/CriandoCookie</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>VisualizaCookie</display-name>
<servlet-name>VisualizaCookie</servlet-name>
<servlet-class>servlets.VisualizaCookie</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>VisualizaCookie</servlet-name>
<url-pattern>/VisualizaCookie</url-pattern>
</servlet-mapping>
<resource-ref>
<res-ref-name>jdbc/gmMaterias</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
</resource-ref>
</web-app>
Alguém pode dar uma luz porque eu não consigo mais importar a javax.servlet.* ?