java - 使用servelt java将html日期值存储到mysql数据库时出现NullPointerException
问题描述
我有这个html
表格date input type
<form method="POST" action="FillTanks" onsubmit="return(showAlert());">
<div class="container">
<div class="row">
<div class="col-4">
</div>
<div class="form-group md-form">
<i class="fa fa-calendar prefix grey-text"></i>
<input style="color: gray;" type="date" id="datedd" class="form-control">
</div>
<div class="text-center">
<button type="submit" id="btn-fill" class="btn btn-blue btn-lg"><strong>Fill</strong></button>
</div>
</div>
<div class="col-4">
</div>
</div>
</div>
</form>
这是我的servlet
public class FillTanks extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String fuelType = request.getParameter("fueltype");
String liters = request.getParameter("liters");
String date = request.getParameter("datedd");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/Vehicle", "root", "");
PreparedStatement ps = con.prepareStatement("INSERT INTO fuel(fueltype,liters,date) VALUES(?,?,?)");
Date date2 = new SimpleDateFormat("MM/dd/yyyy").parse(date);
ps.setString(1, fuelType);
ps.setString(2, liters);
ps.setDate(3, (java.sql.Date) date2);
int i = ps.executeUpdate();
if (i > 0) {
System.out.println("Success");
} else {
System.out.println("not success");
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(FillTanks.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(FillTanks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ParseException ex) {
Logger.getLogger(FillTanks.class.getName()).log(Level.SEVERE, null, ex);
}
}
但是每次我执行项目时,它都会给我这个错误。
> Warning: StandardWrapperValve[FillTanks]: Servlet.service() for servlet FillTanks threw exception
java.lang.NullPointerException
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1439)
at java.text.DateFormat.parse(DateFormat.java:364)
at FillTanks.doPost(FillTanks.java:37)
我date
在创建与此 servlet 相关的数据库表时使用了数据类型。
任何人都可以帮我解决我的实现有什么问题吗?
解决方案
推荐阅读
- react-native - 如何避免使用 AppCenter 和 Detox 进行多次构建?
- ios - 如何在 Swift 中初始化 Realm 配置?
- swift - Swift Pong(No SpriteKit):如何计算球的角度来移动球
- html - 如何在 html 模板中引用变量?
- azure - 服务终结点不适用于应用程序网关后面的 Azure Functions 代理
- java - Passay密码不重复字符序列
- mysql - MySQL如何检查值是否以字母开头并以数字结尾?
- sql - PostgreSQL 如何对文本值进行排序?
- python - 如何在本地安装和访问python模块?
- azure - Azure Durable Functions - 指向持久函数存储帐户的配置在哪里