【发布时间】:2017-01-19 02:30:36
【问题描述】:
我已经通过 html 页面输入了日期并尝试将其存储到数据库中,但我得到了这个异常 java.lang.NumberFormatException: For input string: "09/12/2016" 并且我在 netbeans 中也遇到了错误"用try 和catch 包围Date date = (Date)formatter.parse(pswd);”这是我的代码:
public class OfferRide extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String status = "";
try {
String userName = req.getParameter("Source");
String email = req.getParameter("Destination");
String pswd = req.getParameter("Date");
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD");
java.sql.Date date = (java.sql.Date)formatter.parse(pswd);
String id = req.getParameter("Seats");
int seat =Integer.parseInt(id);
String id1= req.getParameter("Phone");
long phone = Long.parseLong(id1);
Connection con = DataBaseServices.getConnection();
PreparedStatement ps = con.prepareStatement("insert into offerride values(?,?,?,?,?)");
ps.setString(1, userName);
ps.setDate(2, date);
ps.setString(3, email);
ps.setInt(4, seat);
ps.setLong(5, phone);
int x = ps.executeUpdate();
if (x == 1) {
req.getRequestDispatcher("OfferRide1.html").include(req, resp);
}
} catch (Exception e) {
status = e.toString();
//req.getRequestDispatcher("OfferRide1.html").include(req, resp);
}
PrintWriter out = resp.getWriter();
out.print(status);
}
}
【问题讨论】:
-
粘贴完整的堆栈跟踪..您是如何更改代码的,因此当您将日期语句包围在 try catch 周围时,它开始出现编译时错误?
-
你能在解析后添加
date的值吗? -
代码已成功部署并显示我的页面,但在填写信息后单击提交按钮时,此异常 "exception java.lang.NumberFormatException: For input string: "7898897899" " 显示在浏览器 @SMA 上
-
7898897899 超出整数范围,因此出现数字格式异常。
-
是的,谢谢@SMA,我更改了数据类型类型,因此解决了此异常,但在执行上述最近编辑的代码后出现了“java.text.ParseException: Unparseable date: "09/13/2016"”