Como enviar dados de uma pagina jsp para um servlet

5 respostas
T

Estou fiz assim:

meu servlet

public class ClasseServlet extends HttpServlet {

/**

*

*/

private static final long serialVersionUID = 1L;
ClasseServlet() {
	
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

// pega os parâmetros no request	
    String nome = request.getParameter("nome");
String numero = request.getParameter("numero");

    // monta um objeto contato com os parametros enviados
Contato contato = new Contato();
contato.setNome(nome);
contato.setNumero(numero);

    // salva contato
ContatoDAO dao = new ContatoDAO();
dao.adiciona();
}

minha pagina jsp

<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>

Adicionar Contato

Adicionar Contato

Nome
Numero

meu dao (só pra teste)
public class ContatoDAO {

public String adiciona (){
	System.out.println("adicionado!");
	return "AdicionarContato";
}

meu web.xml
`?xml version=“1.0” encoding=“UTF-8”?>

teste

index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

meuServlet teste.ClasseServlet
<servlet-mapping>
  <servlet-name>meuServlet</servlet-name>
  <url-pattern>/chamarServlet</url-pattern>
</servlet-mapping>

<error-page>
  <exception-type>java.lang.Exception</exception-type>
  <location>/erro.html</location>
</error-page>

<error-page>
  <error-code>404</error-code>
  <location>/404.html</location>
</error-page>

`

quando eu clico no botao gravar da página jsp aparece isso no console do eclipse

Jan 27, 2016 3:27:23 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ‘source’ to ‘org.eclipse.jst.jee.server:teste’ did not find a matching property.
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version: Apache Tomcat/8.0.30
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built: Dec 1 2015 22:30:46 UTC
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number: 8.0.30.0
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name: Windows 8.1
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version: 6.3
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture: amd64
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home: C:\Program Files\Java\jre1.8.0_51
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version: 1.8.0_51-b16
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor: Oracle Corporation
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE: C:\Users\Void\Desktop\workspace bia.metadata.plugins\org.eclipse.wst.server.core\tmp1
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME: C:\Users\Void\Downloads\apache-tomcat-8.0.30-windows-x64\apache-tomcat-8.0.30
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Void\Desktop\workspace bia.metadata.plugins\org.eclipse.wst.server.core\tmp1
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Users\Void\Downloads\apache-tomcat-8.0.30-windows-x64\apache-tomcat-8.0.30
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\Void\Desktop\workspace bia.metadata.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Users\Void\Downloads\apache-tomcat-8.0.30-windows-x64\apache-tomcat-8.0.30\endorsed
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Jan 27, 2016 3:27:23 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_51/bin/server;C:/Program Files/Java/jre1.8.0_51/bin;C:/Program Files/Java/jre1.8.0_51/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\nodejs;C:\Program Files (x86)\Skype\Phone;C:\Users\Void\AppData\Roaming\npm;C:\Users\Void\Downloads\eclipse-jee-luna-R-win32-x86_64\eclipse;;.
Jan 27, 2016 3:27:23 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [“http-nio-8080”]
Jan 27, 2016 3:27:23 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Jan 27, 2016 3:27:23 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler [“ajp-nio-8009”]
Jan 27, 2016 3:27:23 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Jan 27, 2016 3:27:23 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 806 ms
Jan 27, 2016 3:27:23 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 27, 2016 3:27:23 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.30
Jan 27, 2016 3:27:24 PM org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [116] milliseconds.
Jan 27, 2016 3:27:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [“http-nio-8080”]
Jan 27, 2016 3:27:24 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler [“ajp-nio-8009”]
Jan 27, 2016 3:27:24 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 560 ms

e no console da página aparece o erro 404 -Failed to load resource: the server responded with a status of 404 (Not Found)

o que eu posso estar fazendo errado?

5 Respostas

D
<blockquote><div class="quote-author">"Taylor53:</div>
ClasseServlet
</blockquote>

faltou você dizer no web.xml que a servlet meuServlet é correspondente a classe ClasseServlet

<servlet>
  <servlet-name>meuServlet</servlet-name>
  <servlet-class>pacote.ClasseServlet</servlet-class>
</servlet>
<servlet-mapping> 
<servlet-name>meuServlet</servlet-name>
  <url-pattern>/chamarServlet</url-pattern>
</servlet-mapping>
T

Realmente, eu me esqueci disso, mas ainda continuo com o mesmo problema :confused:

E

Se você está chamando o método get no seu form tem que usar o método doGet do seu servlet, use a ide para gerar o seu servlet que já com os metodos certos.

D

Não necessariamente, ele conseguiria fazer o que quer apenas com o service, o problema que ele tem atualmente é 404, serviço indisponível, logo é bem provável que o mapeamento da Servlet esteja errado.

T

Bom, eu criei um outro servlet com a ide e usei o metodo doGet como o edulemos indicou, e deu problema no tomcat ele não queria iniciar a menos que eu removesse meu projeto dele, então eu exclui toda aquela parte de mapeamento do servlet no web.xml e funcionou de boa, o tomcat voltou a rodar meu projeto e consegui receber os dados do formulário. Obrigado pessoal me ajudaram muito. segue abaixo como ficou meu servlet

package teste;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import teste.Contato;
import teste.ContatoDAO;

/**

  • Servlet implementation class Servlet
    
    */
    
    @WebServlet("/Servlet")
    
    public class Servlet extends HttpServlet {
    
    private static final long serialVersionUID = 1L;
    

    /**

    • @see HttpServlet#HttpServlet()
      */
      public Servlet() {
      super();
      // TODO Auto-generated constructor stub
      }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      
      */
      
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
      //buscando os parâmetros no request
      
      String nome = request.getParameter(nome);
      
      String numero = request.getParameter(numero);
      
      // monta um objeto contato
      
      Contato contato = new Contato();
      
      contato.setNome(nome);
      
      contato.setNumero(numero);
      

      ContatoDAO dao = new ContatoDAO();
      dao.adiciona();

    }

    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      // TODO Auto-generated method stub
      }

}

Criado 27 de janeiro de 2016
Ultima resposta 27 de jan. de 2016
Respostas 5
Participantes 3