Mapeamento básico de servlet[RESOLVIDO]

Olá a todos,

Estou tentado relembrar algumas coisas JEE, para isso estou tentado desenvolver algo por diversão sem usar algum framework.

Então fiz um jsp usando o bootstrap com o form abaixo:

<form class="form-vertical" action="adicionausuario" method="post">
	<div class="control-group">
		<label class="control-label" for="iNome">Nome Completo:</label>
			<div class="controls">
				<input class="input-xlarge" id="iNome" name="iNome" type="text"  placeholder="Nome Completo..." />
			</div>
			<label class="control-label" for="iEmail ">Email:</label>
			<div class="controls">
				<input class="input-xlarge" id="iEmail" type="text"  placeholder="Email..." />
			</div>
			<label class="control-label" for="iSenha">Senha:</label>
			<div class="controls">
			     <input class="input-xlarge" id="iSenha" name="iSenha"  type="password" placeholder="Senha..." />
			</div>

	</div>
	<input type="submit"  value ="Salvar" class="btn"/>
	<button class="btn" onclick="">Limpar</button>
</form>

fiz a servlet :

package br.com.controlegastos.controller;

public class AdicionaUsuario extends HttpServlet {

	
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {	
		String nome = req.getParameter("iNome");
		String email = req.getParameter("iEmail");
		String senha = req.getParameter("ISenha");

		Cripto cripto = new Cripto();
		String senhaCodificada = cripto.encrypt(senha);

		Usuario usuario = new Usuario(nome, email, senhaCodificada);

		UsuarioDAO dao = UsuarioDAO.getInstance();
		dao.insert(usuario);
		
		RequestDispatcher rd = req.getRequestDispatcher("jsp/salvo.jsp");
		rd.forward(req, resp);
	}

}

e o mapiei:

	<servlet>
		<servlet-name>adicionausuario</servlet-name>
		<servlet-class>br.com.controlegastos.controller.AdicionaUsuario</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>adicionausuario</servlet-name>
		<url-pattern>/adicionausuario.jsp</url-pattern>
	</servlet-mapping>

Até então acredito que esteja tudo certo, mas o problema é que quando tento debugar para se está persistindo os dados o servlet não é chamado… além dar um page not found. Não sei se tem haver, mas adicionei uma pasta no WebContent chamada view e nela está os arquivos: jsp,css e javascript.

Desculpa se está muito extenso e se a perguta é meio básica.

Obrigado a todos.

Boa noite

Bom de acordo com oque você disse os .jsp estão dentro de WebContent/view/jsp/.jsp certo ?

Então tente fazer a seguinte mudança:

 RequestDispatcher rd = req.getRequestDispatcher("jsp/salvo.jsp");

Para:

 RequestDispatcher rd = req.getRequestDispatcher("/view/jsp/salvo.jsp");

Falou.

olá cvinicius,

Obrigado por sua resposta, mas não funcionou… Sempre acaba voltando um 404.

No servlet-mapping a url-pattern da servlet foi definida como /adicionausuario.jsp: <url-pattern>/adicionausuario.jsp</url-pattern>Enquanto no form, a action foi definida como adicionausuario:<form class="form-vertical" action="adicionausuario" method="post">Acredito que deveria deixar os dois da mesma forma, no caso, o ideal seria mudar o url-pattern para apenas “/adicionausuario” como no form: <url-pattern>/adicionausuario</url-pattern>

olá di.magdaleno,

Obrigado pela resposta, na verdade estava como você citado, em um momento de desespero :smiley: , acabei alterando. Mas mesmo assim não funcionou.

[quote=cido18]olá di.magdaleno,

Obrigado pela resposta, na verdade estava como você citado, em um momento de desespero :smiley: , acabei alterando. Mas mesmo assim não funcionou.[/quote]
Ah entendi!

Você está usando o Eclipse? Não ta exibindo nada na console quando gera o erro?

Obrigado a todos que responderam, consegui resolver XD. Verifiquei o mapeamento e vi que tinha alterado o nome do pacote da servlet… Mas agora está funcionando vlw

Ah, que ótimo! tendo mais dúvidas posta ai que pelo menos tentar ajudar a gente tenta!