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.
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>
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.
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.
Não estou queixando não. ;)
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
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é.