Chamando um Servlet de um JSP

6 respostas
S

ESSE É MEU CÓDIGO CHAMANDO UM SERVILET DE UM JSP:

Usuário:
Senha:

SOH QUE QUANDO EU EXECUTO O ENVIA(submit), não acha o servlet, o que eu estou fazendo errado??? Alguém pelo amor de Deus pode me ajudar…

Claro, o meu servlet compilado (.class) esta na pasta web-inf/classes.

Outra dúvida, tenho que carregar algo no web.xml da aplicação para poder chamar o servlet dessa forma não estou carregando nda ???

SAUDADES DO VISUAL DELPHI, ERA TÃO FACINHO (RISOS)

6 Respostas

S

Calma !!!

/WEB-INF é algo que o mundo não vê, só o dono da máquina.

O que vc precisa é mapear o seu servlet para alguma coisa, dentro do arquivo web.xml.

<servlet>
	<servlet-name>yourservlet</servlet-name>
	<servlet-class>org.algumacoisa.yourservlet</servlet-class>
	
</servlet>

<servlet-mapping>
	<servlet-name>yourservlet</servlet-name>
	<url-pattern>YourServlet</url-pattern>
</servlet-mapping>
K

Quando se cria um Servlet, vc deve declará-lo dentro do arquivo web.xml (que está dentro da pasta WEB-INF).
Exemplo do web.xml

<servlet>
		<servlet-name>servlet</servlet-name>
		<servlet-class>xxx.Servlet</servlet-class>
	</servlet>
<!-- Aqui está o segredo! -->
	<servlet-mapping>
		<servlet-name>servlet<servlet-name> 
		<url-pattern>/chamaServlet</url-pattern>
	</servlet-mapping>

No primeiro Nó (), estou dando um “apelido” para meu servlet
No segundo Nó () estão dando uma localização para ele ser chamado.

Arrumando o seu exemplo, para funcionar com o “meu” servlet:

<form name="index" action="/chamaServlet" method="post">

falou

S

Kras, eu fiz tudinho… mais não tah rodando… para testar, eu criei um servlet HelloServlet que copiei do tutorial aqui do Guj… ele funciona quando eu coloco na tag: /* ae ele entra executando o servlet e acha ele na pasta web-inf/classes normal. Quando eu troco o nome para eu poder usar somente quando chamar pelo nome, de dentro do jsp, ele não “funfa” dah 404 not found snif snif snif… vou postar todos os códigos para ver se vc’s me dão uma luz divina ae hehehe

WEB.XML

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

Projeto Sistema SCAP - Lelinho

Projeto Sistema SCAP - PCI INTEGRATED MANAGEMENT SERVICES

dev-invoker org.apache.catalina.servlets.InvokerServlet debug 0 2 dev-invoker /servlet/* HelloServlet HelloServlet HelloServlet /HelloServlet

INDEX.JSP

Usuário:
Senha:
SERVLET

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

import javax.servlet.</em>;

import javax.servlet.http.*;
public class HelloServlet extends HttpServlet {

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws IOException, ServletException{
String Nome = request.getLocalName();
	    String ConnectionType = request.getAuthType() ;
	    
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		out.println("<HTML>");
		out.println("<BODY>");
		out.println("<H1>" + Nome + "-" + ConnectionType + "</H1>");
		out.println("</BODY>");
		out.println("</HTML>");
}

}

kina:
Quando se cria um Servlet, vc deve declará-lo dentro do arquivo web.xml (que está dentro da pasta WEB-INF).
Exemplo do web.xml

<servlet>
		<servlet-name>servlet</servlet-name>
		<servlet-class>xxx.Servlet</servlet-class>
	</servlet>
<!-- Aqui está o segredo! -->
	<servlet-mapping>
		<servlet-name>servlet<servlet-name> 
		<url-pattern>/chamaServlet</url-pattern>
	</servlet-mapping>

No primeiro Nó (), estou dando um “apelido” para meu servlet
No segundo Nó () estão dando uma localização para ele ser chamado.

Arrumando o seu exemplo, para funcionar com o “meu” servlet:

<form name="index" action="/chamaServlet" method="post">

falou

R

Será q tua aplicaçao nao seria mais “limpa” se vc usasse o metodo get.RequestDispatcher do Servlet para chamar teu JSP?

T

Aqui em casa costuma dar uns erros assim, uma vez eu fiquei o dia inteiro tentando achar um erro na aplicação e fazia e fazia e fazia e nada. Então desisti por um instante, desliguei o pc, logo a noite voltei ao problema, rodei a aplicação antes para ver onde eu está e PIMBA, funcionou :). O lance que a ultima versão do tomcat apresenta alguns erros então no meu caso foi so reiniciar o maravilhoso windows que funcionou, mas nem precisa tanto é so reiniciar o tomcat quando der algumas coisa desse tipo.

É um parecer muito informal mas acontesse!

S

Finalmente deu certo kras… era o seguinte, onde eu estava chamando o Servlet => /Web-Inf/Classes faltava eu colocar um ‘.’ (ponto) antes (risos), ae “funfou” legal hehehe XD

Agora adorei o comentário do tRuNkSnEt “Maravilhoso Windows”, e bota “MARAVILHOSO NESSA NHACA” quanto mais estudo java maos odeio o windows… quando tiver legal em java vou para o Linux…

XD

tRuNkSnEt:
Aqui em casa costuma dar uns erros assim, uma vez eu fiquei o dia inteiro tentando achar um erro na aplicação e fazia e fazia e fazia e nada. Então desisti por um instante, desliguei o pc, logo a noite voltei ao problema, rodei a aplicação antes para ver onde eu está e PIMBA, funcionou :). O lance que a ultima versão do tomcat apresenta alguns erros então no meu caso foi so reiniciar o maravilhoso windows que funcionou, mas nem precisa tanto é so reiniciar o tomcat quando der algumas coisa desse tipo.

É um parecer muito informal mas acontesse!

Criado 16 de junho de 2005
Ultima resposta 20 de jun. de 2005
Respostas 6
Participantes 5