Dificuldade em mapear servlet no arquivo web.xml

5 respostas
G

E ai galera,

Sou iniciante em desenvolvimento web em java e estou tentando fazer uma aplicação academica para me familiarizar com os recursos oferecidos. Pesquisei no fórum e li vários artigos e tutoriais sobre o assunto, mas continuo não conseguindo (e nao entendendo ) mapear servlets e actions no web.xml e como chamar pelos 'forms' do html/jsp.

Estou usando o Tomcat 6.0 e jdk1.6, além do eclipse 3.2 e o plugin para tomcat "com.sysdeo.eclipse.tomcat_3.2.0.beta3"

a estrutura do meu projeto é a seguinte:

-+ControleAlunos
  |
  |--+forms
  |   |-login.jsp (neste arquivo eu tento chamar o servlet de login)
  |
  |--+WEB-INF
  |   |--+classes
  |   |   |---- pacote.Login.class
  |   |
  |   |--+src
  |   |   |---pacote.Login.java (o servlet que eu quero chamar)
  |   |   
  |   |--+libs
  |   |
  |   |---web.xml
o meu arquivos jsp está assim:
<HTML>
<HEAD><TITLE>Sistema De Teste</TITLE></HEAD>
<BODY BGCOLOR="#B2C0CD">
<CENTER>
	<H1><STRONG> Loginaaaa </STRONG></H1>	
	<FORM NAME="login" ACTION="/servlet/Login" METHOD="POST">
		<table width="250" border="0">
			<TR>
			<TD>Usuário: </TD>
			<TD><INPUT TYPE="TEXT" NAME="username"></TD>
			</TR>
			
			<TR>
			<TD>Senha: </TD>
			<TD><INPUT TYPE="PASSWORD" NAME="password"></TD>	
			</TR>
			
			<TR>
			<TD> </TD><TD><INPUT TYPE="SUBMIT" VALUE="Entrar"></TD>
			</TR>
		</table>
				
	</FORM>
</CENTER>
</BODY>
</HTML>

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.2//EN"   
 "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">   

 <web-app>   
    <display-name>estagio</display-name>   
       <servlet>   
         <servlet-name>Login</servlet-name>   
        <servlet-class>pacote.Login</servlet-class>   
       </servlet>   
        
      <servlet-mapping>   
         <servlet-name>Login</servlet-name>   
        <url-pattern>/servlet/Login</url-pattern>   
       </servlet-mapping>   
          
      <session-config>   
         <session-timeout>30</session-timeout>   
       </session-config>   
      <welcome-file-list>   
         <welcome-file>login.jsp</welcome-file>   
        <welcome-file>login.html</welcome-file>   
        <welcome-file>login.htm</welcome-file>   
      </welcome-file-list>   
     
</web-app>

Alguém sabe como o mapeamento deveria ser feito?
Obrigado

5 Respostas

M

Opa,

qual é o erro? Aparentemente não tem nada errado.

:joia:

S

post o erro…

G

o erro era na action do html. Estava assim:

<FORM NAME="login" ACTION="/servlet/Login" METHOD="POST">

consegui que funcionasse de duas formas:

<FORM NAME="login" ACTION="../servlet/Login" METHOD="POST">

e

<FORM NAME="login" ACTION="http://localhost:8080/controleAlunos/servlet/Login" METHOD="POST">

alguém poderia me ajudar a entender o porque disso?
eu pensava que só de colocar ACTION = “Login” já iria funcionar, pois eu mapeei no web.xml.

valeu[/i][/quote]

S

bom isso ocorreu prq vc não colocou o nome de seu contexto raiz…

/controleAlunos/servlet/…

sempre que voce for usar uma servlet deve colocar o caminho todo, encluido seu contexto…abraço

G

“soudaniel”:
bom isso ocorreu prq vc não colocou o nome de seu contexto raiz…

/controleAlunos/servlet/…

sempre que voce for usar uma servlet deve colocar o caminho todo, encluido seu contexto…abraço

valeu

Criado 15 de abril de 2007
Ultima resposta 16 de abr. de 2007
Respostas 5
Participantes 3