Problemas com um arquivo Servlet

15 respostas
henry.everton
Boa tarde... eu criei este servlet pra ver como é que funciona na verdade um e ele esta me dando um erro... o código é esse:
package teste;

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

public class PrimeiroServlet extends javax.servlet.http.HttpServlet{

public class destroy(){
	super.destroy();
}

public class init() throws ServletException{
	super.init();
}

protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
	String html="<html><head><title>teste</title></head>"+
	"<body><h1> Meu Primeiro Servlet</h1></body></html>";
	PrinterWriter out = response.getWriter();
	out.printl(html);
	out.close();
	}
}
o erro é este:

PrimeiroServlet.java:12: '{' expected
public class destroy(){
^
PrimeiroServlet.java:13: illegal start of type
super.destroy();
^
PrimeiroServlet.java:16: '{' expected
public class init() throws ServletException{
^
PrimeiroServlet.java:17: illegal start of type
super.init();
^
4 errors

Bom desde já agradeço!!!

15 Respostas

Giulliano

Eu acho que é assim né:

package teste;   
  
import java.io.Exception;   
import java.io.PrintWriter;   
import javax.servlet.ServletException;   
import javax.servlet.http.HttpServletResponse;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServlet;   
  
public class PrimeiroServlet extends javax.servlet.http.HttpServlet{   

//Aqui  
public void destroy(){   
    super.destroy();   
}   
 
//Aqui 
public void init() throws ServletException{   
    super.init();   
}   
  
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{   
    String html="<html><head><title>teste</title></head>"+   
    "<body><h1> Meu Primeiro Servlet</h1></body></html>";   
    PrinterWriter out = response.getWriter();   
    out.printl(html);   
    out.close();   
    }   
}
dicabeca

ai tu ta usando qual IDE??
e troca esse

protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{   
    String html="<html><head><title>teste</title></head>"+   
    "<body><h1> Meu Primeiro Servlet</h1></body></html>";   
    PrinterWriter out = response.getWriter();   
    out.printl(html);   
    out.close();   
    }

por esse

protected void service(HttpServletRequest request, HttpServletResponse response) 
{
   try
   {
    String html="<html><head><title>teste</title></head>"+   
    "<body><h1> Meu Primeiro Servlet</h1></body></html>";   
    PrinterWriter out = response.getWriter();   
    out.printl(html);   
    out.close();
   }
  catch(Exception e)
   {
			e.printStackTrace();
   }
}
henry.everton

KKKKKKKKKKKKKKK… erro de idiota… foi mau…
puta…é void…to viajando…

é que estou fazendo na mao mesmo…
é só um exemplo mesmo!!!

mas de qualquer forma valeu

dicabeca

e ai funcionou ???

Giulliano

dicabeca:
ai tu ta usando qual IDE??
e troca esse … por esse

Dica beca o método service não deve ser subrescrito (sei lá como escreve). Vc pode subescrever os métodos doGet, doPost, doPut, doDelete …entre os outros disponívies na API da Servlet…mas a SUN não recomenda que o método service seja usado pois ele ignora todo o possível controle de fluxo que o desenvolvedor pode usar.

Procure alguma coisa no site de especificações da JEE caso tenha mais interesse no assunto.

dicabeca

é realmente vacilei, para falar a verdade eu nem prestei atencao no metodo,so vi o “throws”,mais pode crer,e perguntei qual a ide pq netbeans e eclipse ja incrementa qnd tu coloco o extends …

henry.everton

entao…
funcionou… aquele erro nao veio…
só que agora deu uma par de erro nos imports e nos métodos relacionados a Servlets sera que eu devo baixar algo em especial?

Giulliano

vc precisa dizer ao seu projeto que ele é um projeto web e vc precisa roda-lo na web.

A melhor maneira: Crie um novo Projeto Web Dinâmico

Aponte o diretório de instalação do seu Tomcat. Crie sua servlet e boa sorte. Se vc não entedeu nada do que disse: procure pela apostila FJ-21 da Caelum e bons estudos.

dicabeca

posta o exception!!

henry.everton

naonao… eu entendi… mas é que eu nao estou usando nenhuma IDE por enquanto… estou fazendo na mao mesmo…
ai eu vi que para colocar no diretório lib para fazer o mapeamento do servlet eu teria que colocar meu .class em um arquivo jar e depois joga-lo no diretório lib.

Seria a mesma coisa se eu jogar o .java em um arquivo jar e colocar no diretório lib?

dicabeca

na verdade isso tudo ai nao precisa,e so vc alterar no web.xml,na pasta conf do tomcat,e apontar para qual diretorio esta suas .class !!

henry.everton

um… mas desta forma nao vai funcionar?

dicabeca

ue pq???,vc nao esta usando tomcat ?

henry.everton

kkkkkkkkkkkkkk… naonao…srssrs… da forma que voce esta falando tudo bem… funciona…
mas é que eu peguei este livro aqui e ia fazer um teste… por isso eu queria fazer como se fosse do livro… mas agradeço pela dica… vou testar tb

aproveitando…eu entrei no arquivo. eu colocaria este parametro indicando a classe la no servlet-name e no mapping certo?

dicabeca

tu vai la no C:\apache-tomcat-6.0.16\conf,e altera o server.xml colocando la no final

<Context path="/[NOME DO PROJETO]" reloadable="true" docBase="C:\Java\Projetos\[NOME DO PROJETO]" workDir="C:\Java\Projetos\[NOME DO PROJETO]\[DIRETORIO DOS SEUS .CLASS]" />
//No meu caso eu sempre deixo 
<Context path="/web2" reloadable="true" docBase="C:\Java\Projetos\web2" workDir="C:\Java\Projetos\web2\WEB-INF\classes" />
</Host>
Criado 6 de março de 2008
Ultima resposta 7 de mar. de 2008
Respostas 15
Participantes 3