我有这2页,当我在表单中输入数据并将其提交后,它写道:
Založeníletadla java.lang.NullPointerException
对于这个可以被谷歌搜索的problem....because用户手册,我能做什么对我没有帮助:
admin.jsp:
<html>
<head>
</head>
<body>
<form method="post" action="vlozit.jsp">
<p>Založit Letadlo</p><br>
<table>
<tr><td>ID:</td> <td><input type="text" name="id"></td></tr>
<tr><td>Model letadla:</td><td><input type="text" name="model"></td></tr>
<tr><td>Počet sedadel:</td><td><input type="text" name="sedadel"></td></tr>
</table>
<input type="submit" value="Založit letadlo">
</form>
</body>和vlozit.php
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<HTML>
<HEAD>
<TITLE>Administrace</TITLE>
</HEAD>
<BODY>
<H1>Založení letadla</H1>
<%
String ID= request.getParameter("id");
String model = request.getParameter("model");
String sedadel = request.getParameter("sedadel");
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:ATBS", "CENTOS", "Shaman123");
if(conn != null){
Statement statement = conn.createStatement();
String command = "INSERT INTO letadlo (ID, model, sedadel) VALUES ('"+ID+"', '"+model+"', '"+sedadel+"')";
PreparedStatement ps = conn.prepareStatement(command);
if(ps != null){
ps.execute();}}
conn.close();
}
catch(Exception e)
{
out.println(e);
}
%>
</BODY>发布于 2013-07-30 18:25:47
在调用连接对象上的方法之前,应该检查它是否为null。
Connection conn = DriverManager.getConnection("jdbc:odbc:ATBS", "CENTOS", "Shaman123");
if(conn != null)
{
Statement statement = conn.createStatement();
String command = "INSERT INTO letadlo (ID, model, sedadel) VALUES ('"+ID+"', '"+model+"', '"+sedadel+"')";
PreparedStatement ps = conn.prepareStatement(command);
ps.execute();
conn.close(); //Ideally it should be closed inside finally.
}理想情况下,Connection和PrepareStatement应该关闭在finally块内。
https://stackoverflow.com/questions/17954475
复制相似问题