首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代码执行后的java.lang.NullPointerException

代码执行后的java.lang.NullPointerException
EN

Stack Overflow用户
提问于 2013-07-30 18:19:18
回答 1查看 96关注 0票数 0

我有这2页,当我在表单中输入数据并将其提交后,它写道:

Založeníletadla java.lang.NullPointerException

对于这个可以被谷歌搜索的problem....because用户手册,我能做什么对我没有帮助:

admin.jsp:

代码语言:javascript
复制
<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

代码语言:javascript
复制
<%@ 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>
EN

回答 1

Stack Overflow用户

发布于 2013-07-30 18:25:47

在调用连接对象上的方法之前,应该检查它是否为null。

代码语言:javascript
复制
 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.
}

理想情况下,ConnectionPrepareStatement应该关闭在finally块内。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17954475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档