Olá, estou fazendo um sistema web e estou com esse problema:
Jun 15, 2012 5:09:54 PM org.apache.catalina.core.StandardWrapperValve invoke
Grave: Servlet.service() for servlet [AgendaConsulta] in context with path [/OdontoEstetica] threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at br.com.OdontoEstetica.jdbc.Servlet.ServletAgendaConsulta.service(ServletAgendaConsulta.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)[/code]
[b]Minha Servlet é essa:[/b]
[code]
package br.com.OdontoEstetica.jdbc.Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.RequestDispatcher;
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 br.com.OdontoEstetica.jdbc.DAO.ConsultasDAO;
import br.com.OdontoEstetica.jdbc.modelo.Consultas;
/**
* @author Lilian
*
*/
/**
* Servlet implementation class ServletAgendaConsulta
*/
@WebServlet("/ServletAgendaConsulta")
public class ServletAgendaConsulta extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -1971147769581525008L;
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
super.doPost(request, response);
}
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
// pegando os parametros do request
int codConsulta = Integer.parseInt(request.getParameter("codConsulta"));
int codPaciente = Integer.parseInt(request.getParameter("codPaciente"));
String nomePaciente = request.getParameter("nomePaciente");
String rg = request.getParameter("rg");
String cpf = request.getParameter("cpf");
String dataNascimentoEmTexto = request.getParameter("dataNascimento");
String endereco = request.getParameter("endereco");
int telefone = Integer.parseInt(request.getParameter("telefone"));
String nomeFuncionario = request.getParameter("nomeFuncionario");
String servico = request.getParameter("servico");
String dataHoraConsultaEmTexto = request
.getParameter("dataHoraConsulta");
Double valorConsulta = Double.parseDouble(request
.getParameter("valorConsulta"));
boolean status = Boolean.parseBoolean(request.getParameter("status"));
Calendar dataNascimento = null;
Calendar dataHoraConsulta = null;
// conversão de data de nascimento do paciente
try {
Date datanasc = (Date) new SimpleDateFormat("dd/mm/yyyy")
.parse(dataNascimentoEmTexto);
dataNascimento = Calendar.getInstance();
dataNascimento.setTime(datanasc);
} catch (ParseException e) {
out.println("Erro ao converter data");
return;
}
// conversão de data de consulta
try {
Date dataHConsulta = (Date) new SimpleDateFormat("dd/mm/yyyy")
.parse(dataHoraConsultaEmTexto);
dataHoraConsulta = Calendar.getInstance();
dataHoraConsulta.setTime(dataHConsulta);
} catch (ParseException e) {
out.println("Erro ao converter data");
}
// monta um objeto consultas
Consultas consultas = new Consultas();
consultas.setCodConsulta(codConsulta);
consultas.setCodPaciente(codPaciente);
consultas.setNomePaciente(nomePaciente);
consultas.setRG(rg);
consultas.setCPF(cpf);
consultas.setDataNascimento(dataNascimento);
consultas.setEnderecoPaciente(endereco);
consultas.setTelefonePaciente(telefone);
consultas.setNomeFuncionario(nomeFuncionario);
consultas.setServico(servico);
consultas.setDataHoraConsulta(dataHoraConsulta);
consultas.setValorConsulta(valorConsulta);
consultas.setStatus(status);
// salva a consulta
ConsultasDAO dao = new ConsultasDAO();
dao.adiciona(consultas);
RequestDispatcher rd = request.getRequestDispatcher("/Gravado.jsp");
rd.forward(request, response);
}
}
[/code]
[b]Meu web.xml:[/b]
[code]<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>OdontoEstetica</display-name>
<welcome-file-list>
<welcome-file>odonto_login.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>br.com.OdontoEstetica.jdbc.Servlet.ServletLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>AgendaConsulta</servlet-name>
<servlet-class>br.com.OdontoEstetica.jdbc.Servlet.ServletAgendaConsulta</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AgendaConsulta</servlet-name>
<url-pattern>/agenda_consultas</url-pattern>
</servlet-mapping>
</web-app>[/code]
[b]Minha página jsp:[/b]
[code]<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Agendamento de Consultas</title>
<link rel="stylesheet" href="styles.css" type="text/css">
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css">
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
</head>
<body>
<div id="container">
<div id="container-inner">
<div id="header">
<h1>Odonto&Estética</h1>
<div class="clear"></div>
</div>
<!-- end header -->
<div id="banner">
<div id="slogan">
<p>
Nossa Única <span class="slogan-big"><strong>Missão</strong></span><br>
é mudar o seu <span class="slogan-big"><strong>Sorriso</strong></span>
para melhor
</p>
</div>
<!-- end slogan -->
<div id="nav">
<ul id="MenuBar1" class="MenuBarHorizontal">
<li><a href="odonto_menu.jsp" title="Home">Home</a>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Cadastros</a>
<ul>
<li><a href="odonto_cdlogin.jsp">Cadastro de Usuários</a></li>
<li><a href="odonto_cdfunc.jsp">Cadastro de Funcionários</a></li>
<li><a href="odonto_cdforn.jsp">Cadastro de Fornecedores</a></li>
<li><a href="odonto_cdprod.jsp">Cadastro de Produtos</a></li>
<li><a href="odonto_cdpac.jsp">Cadastro de Pacientes</a></li>
<li><a href="odonto_agcon.jsp">Cadastro de Consultas</a></li>
</ul>
</li>
<li><a class="MenuBarItemSubmenu" href="#">Manutenção de Cadastros</a>
<ul>
<li><a href="odonto_mlogin.jsp">Manutenção de Usuários</a></li>
<li><a href="odonto_mfunc.jsp">Manutenção de Funcionários</a></li>
<li><a href="odonto_mforn.jsp">Manutenção de Fornecedores</a></li>
<li><a href="odonto_mprod.jsp">Manutenção de Produtos</a></li>
<li><a href="odonto_mpac.jsp">Manutenção de Pacientes</a></li>
<li><a href="odonto_mconsultas.jsp">Manutenção de Consultas</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Relatórios</a>
<ul>
<li><a href="javascript:abreJanela()">Relatório Histórico de Consultas</a></li>
<li><a href="javascript:abreJanela()">Relatório Contas a Pagar</a></li>
<li><a href="javascript:abreJanela()">Relatório Contas a Receber</a></li>
</ul>
</li>
<li><a href="Pesquisa.jsp">Pesquisa</a></li>
</ul>
</div>
<!-- end nav -->
</div>
<!-- end banner -->
<div id="main">
<div id="content">
<h2>Agendamento de Consultas</h2>
<form action="agenda_consultas" method="post">
<table>
<tr>
<td><label>Código da Consulta:</label></td>
<td><input type="text" name="coConsulta" maxlength=10/></td>
</tr>
<tr>
<td><label>Código do Paciente:</label></td>
<td><input type="text" name="coPaciente" maxlength=10/></td>
</tr>
<tr>
<td><label>Nome do Paciente:</label></td>
<td><input type="text" name="nomePaciente" size="80"
maxlength=50 /></td>
</tr>
<tr>
<td><label>RG:</label></td>
<td><input type="text" name="rg" maxlengt=9/></td>
</tr>
<tr>
<td><label>CPF:</label></td>
<td><input type="text" name="cpf" maxlength=11/></td>
</tr>
<tr>
<td><label>Data de Nascimento:</label></td>
<td><input type="text" name="dtNascimento" maxlength=10/></td>
</tr>
<tr>
<td><label>Endereço:</label></td>
<td><input type="text" name="endereco" size="80"
maxlength=50 /></td>
</tr>
<tr>
<td><label>Telefone:</label></td>
<td><input type="text" name="telefone" maxlength=11/></td>
</tr>
<tr>
<td><label>Nome do Dentista:</label></td>
<td><input type="text" name="nomeFuncionario" size="80"
maxlength=50 /></td>
</tr>
<tr>
<td><label>Data e Hora da Consulta:</label></td>
<td><input type="text" name="dataHoraConsulta" /></td>
</tr>
<tr>
<td><label>Serviço:</label></td>
<td><select name="servicos" id="servicos">
<option value="#" selected="selected">------</option>
<option value="obturacao">Obturação</option>
<option value="limpeza">Limpeza</option>
<option value="extracao">Extração</option>
</select></td>
</tr>
<tr>
<td><label>Preço:</label></td>
<td><input type="text" name="precoConsulta" /></td>
</tr>
<tr>
<td><label>Status:</label></td>
<td><input type="radio" name="status" id="radio_a"
value="1" />Ativo <input type="radio" name="status"
id="radio_i" value="0" />Inativo</td>
</tr>
</table>
<table>
<tr>
<td><input type="submit" value="Cadastrar" /></td>
<td><input type="reset" value="Limpar" /></td>
</tr>
</table>
</form>
</div>
<!-- end content -->
<div class="sidebar"></div>
<!-- end sidebar -->
<div class="clear"></div>
</div>
<!-- end main -->
</div>
<!-- end container-inner -->
</div>
<!-- end container -->
<div id="footer">
<p>©Copyright 2012</p>
</div>
<!-- end footer -->
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
</html>
Alguém poderia me dizer porque acontece esse erro e como eu posso resolve-lo?
