FORUM DARKERS

Tecnologia & Informática => Programação => Java => Topic started by: Triplo X on 24 de August , 2008, 12:21:38 PM

Title: [Dúvida] Erro ao processar dados em página JSP
Post by: Triplo X on 24 de August , 2008, 12:21:38 PM
Oi, estou com um erro em minha primeira página JSP.

Quando clico no botão enviar, a página processar.jsp mostra os seguintes erros:


    HTTP Status 500 -   
     
    -------------------------------------------------------------------------------- 
     
    type Exception report 
     
    message 
     
    descriptionThe server encountered an internal error () that prevented it from fulfilling this request. 
     
   exception   
   
  org.apache.jasper.JasperException: java.lang.NumberFormatException: null 
   root cause   
     
   java.lang.NumberFormatException: null 




Segue o código:

<%--
    Document   : processar.jsp
    Created on : 23/08/2008, 08:40:44
    Author     : Francis
--%>
<html>
<head>
    <title>Processamento das informações</title>
</head>
<body>

<%  // tag de abertura de código JSP, dentro do código HTML
String sNome = request.getParameter("nome"); /**  utiliza o objeto "request" para capturar
                                               *  o parâmetro "nome" (que é o respectivo nome
                                               *  do input em index.jsp) e armazena-o em uma variável
                                               *  Objeto String.
                                               **/

int idade = Integer.parseInt(request.getParameter("idade"));  /** utiliza o objeto "request"
                                  * para capturar o parâmetro "idade" (a respectiva idade do input em "index.jsp")
                                  * e armazena-o em uma variável nativa do tipo int. Ocorre a conversão
                                  * para Inteiro a partir da ajuda da classe Integer.
                                   **/

out.println("Olá " +sNome+ "<br>");  /**  "out" é um objeto do tipo JspWriter, usado para escrever
                                        *   dados de retorno para o navegador, geralmente código HTML.
                                        * Aqui, há um código que faz com que a aplicação cumprimente o usuário pelo nome.
                                        */

out.println("Hoje você tem " +Integer.toString(idade)+ " anos de idade<br>");  /** Um pequeno cálculo realizado
                                  * com o valor inteiro da idade e a exibição deste resultado.
                                  */

%>

</body>
</html>

     
       



Segunda tentativa e mais erros:

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /processar.jsp at line 18

                                               *  Objeto String.
                                              **/

 int idade = Integer.parseInt(request.getParameter("idade"));  /** utiliza o objeto "request"
                                   * para capturar o parâmetro "idade" (a respectiva idade do input em "index.jsp")
                                   * e armazena-o em uma variável nativa do tipo int. Ocorre a conversão
                                   * para Inteiro a partir da ajuda da classe Integer.


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)


root cause

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.parseInt(Integer.java:497)
org.apache.jsp.processar_jsp._jspService(processar_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)


Espero poder resolver este erro e continuar com meus estudos.

Obrigado.
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Reeves on 24 de August , 2008, 10:25:33 PM
eu faria +/- assim:

<%@ page contentType="text/html; charset=utf-8" language="java"%>
<html>
<head>
    <title>Processamento das informações</title>
</head>
<body>
<form >
nome:  <input type="text" name="nome"></br>
idade: <input type="text" name="idade">
<input type="submit">
</form>

<%  String sNome = request.getParameter("nome");

if (request.getParameter("idade") != null ){
int idade = Integer.parseInt(request.getParameter("idade")); 

%>
Olá <%= sNome %> <br>

Hoje você tem <%= idade  %> anos de idade <br>

<% } %>

</body>
</html>
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Triplo X on 25 de August , 2008, 07:56:18 AM
Sim, deste modo dá certo, mas o que eu estou tentando fazer é processar os valores em uma outra página. O seu código processa na mesma página.
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Reeves on 25 de August , 2008, 08:30:15 AM
mas... eu fiz isso de exemplo... não tava com paciencia de usar 2 paginas...

enfim...

a ideia é a mesma kra...
unica coisa que muda é o action do form..
e esse q fiz funciona.. achei q serviria de exemplo.
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Triplo X on 25 de August , 2008, 08:53:53 AM
Não estou queixando não.  ;)
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Reeves on 25 de August , 2008, 12:57:01 PM
se procura algo mais "fino"
esse processar.jsp deveria ser um Servlet e não um jsp...
assim usando o processar para diversas páginas.. reutilizando ele..
ai no action do index chamaria o processar.java

=D
Title: Re: [Dúvida] Erro ao processar dados em página JSP
Post by: Triplo X on 25 de August , 2008, 06:17:51 PM
Mas no momento não trabalho diretamente com Servlets. Estou utilizando o NetBeans para programar em JSP e o BlueJ para o Java puro.

Logo logo eu entrarei mais a fundo na programação WEB e seguirei seu conselho. ;)

Mais uma vez, obrigado pela ajuda.

Até.