那位高手帮忙指点一下:
java.lang.NullPointerException
org.apache.jsp.goods.add_005fgoods_jsp._jspService(add_005fgoods_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)源程序: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>信息录入</title>
<style>
<!--
body {
background-image: url(../pic/bg2.jpg);
}
.STYLE1 {
color: #006400;
font-weight: bold;
}
.STYLE2 {color: #006400}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body topmargin="0" leftmargin="0" onLoad="frmLoad()">
<%String gid = request.getParameter("gid");%>
<table border="0" width="101%" id="table1" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td height="30" colspan="2" background="../pic/bg3.jpg">
<span class="STYLE1">商品管理
>>
商品录入
>> </span> </td>
</tr>
<form name="frmName1" action="" method="post">
<tr>
<td width="17%" align="center" height="26"><span class="STYLE2">商品ID</span></td>
<td width="82%">
<input type="text" name="gid" size="20" onBlur="haveOrno()" value="<%=gid%>">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填)</span> </td>
</tr>
</form>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:ecn","","");
Statement stmt=null;
//库存有记录则不需要输入该产品的详细信息,否则要输入,默认是无记录。
String exist = "";
if (!gid.equals("")) {
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select gid from goods_info where gid=" + gid);
if (rs.next())
exist = "yes";
else
exist="no";
rs.close();
stmt.close();
conn.close();
}
catch (SQLException e) {}
}
%>
<form name="frmName2" action="info_exe.jsp" method="post" ENCTYPE="multipart/form-data">
<input type="hidden" name="gids" value="<%=gid%>">
<tr id="tr0">
<td align="center" colspan="2"><span class="STYLE2">你添加的产品是新产品,需要 录入以下信息!</span></td>
</tr>
<tr id="tr1">
<td width="17%" align="center" height="26"><span class="STYLE2">商品名称</span></td>
<td width="82%">
<input type="text" name="goods_name" size="20">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填)</span> </td>
</tr>
<tr id="tr2">
<td width="17%" align="center" height="26"><span class="STYLE2">规格型号</span></td>
<td width="82%">
<input type="text" name="model" size="20">
</td>
</tr>
<tr id="tr3">
<td width="17%" align="center" height="26"><span class="STYLE2">出售价格</span></td>
<td width="82%">
<input type="text" name="outprice" size="20">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填) </span></td>
</tr>
<tr id="tr4">
<td width="17%" align="center" height="26"><span class="STYLE2">产品图片</span></td>
<td width="82%">
<input type="file" name="a0" size="20">
</td>
</tr>
<tr>
<td width="17%" align="center" height="26"><span class="STYLE2">入库数量</span></td>
<td width="82%" align="right">
<p align="left">
<input name="save_number" size="20" style="float: left">
<span class="STYLE2">( </span><font color="#ff0000">*</font>
<span class="STYLE2">必填) </span></td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="button" value="保存信息" name="B1" onClick="sub()">
<input type="reset" value="放弃信息" name="B2"> </td>
</tr></table>
</form></body>
</html>
<script language="JavaScript">
function frmLoad()
{
for(i=0;i<=4;i++)
{
var obj=document.all("tr"+i);
//默认不显示商品相关信息
obj.style.display="none";
//表示窗体第一次加载的时候,不能显示商品相关信息的输入框
if("<%=exist%>"=="")
{
obj.style.display="none";
//数据库中没有商品记录,则显示相关信息输入框
}else if("<%=exist%>"=="no")
{
obj.style.display="";
}
}
}
function haveOrno()
{
document.frmName1.submit();
}
function sub()
{
document.frmName2.submit();
}
</script>
java.lang.NullPointerException
org.apache.jsp.goods.add_005fgoods_jsp._jspService(add_005fgoods_jsp.java:89)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)源程序: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>信息录入</title>
<style>
<!--
body {
background-image: url(../pic/bg2.jpg);
}
.STYLE1 {
color: #006400;
font-weight: bold;
}
.STYLE2 {color: #006400}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<body topmargin="0" leftmargin="0" onLoad="frmLoad()">
<%String gid = request.getParameter("gid");%>
<table border="0" width="101%" id="table1" height="100%" cellspacing="0" cellpadding="0">
<tr>
<td height="30" colspan="2" background="../pic/bg3.jpg">
<span class="STYLE1">商品管理
>>
商品录入
>> </span> </td>
</tr>
<form name="frmName1" action="" method="post">
<tr>
<td width="17%" align="center" height="26"><span class="STYLE2">商品ID</span></td>
<td width="82%">
<input type="text" name="gid" size="20" onBlur="haveOrno()" value="<%=gid%>">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填)</span> </td>
</tr>
</form>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:ecn","","");
Statement stmt=null;
//库存有记录则不需要输入该产品的详细信息,否则要输入,默认是无记录。
String exist = "";
if (!gid.equals("")) {
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select gid from goods_info where gid=" + gid);
if (rs.next())
exist = "yes";
else
exist="no";
rs.close();
stmt.close();
conn.close();
}
catch (SQLException e) {}
}
%>
<form name="frmName2" action="info_exe.jsp" method="post" ENCTYPE="multipart/form-data">
<input type="hidden" name="gids" value="<%=gid%>">
<tr id="tr0">
<td align="center" colspan="2"><span class="STYLE2">你添加的产品是新产品,需要 录入以下信息!</span></td>
</tr>
<tr id="tr1">
<td width="17%" align="center" height="26"><span class="STYLE2">商品名称</span></td>
<td width="82%">
<input type="text" name="goods_name" size="20">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填)</span> </td>
</tr>
<tr id="tr2">
<td width="17%" align="center" height="26"><span class="STYLE2">规格型号</span></td>
<td width="82%">
<input type="text" name="model" size="20">
</td>
</tr>
<tr id="tr3">
<td width="17%" align="center" height="26"><span class="STYLE2">出售价格</span></td>
<td width="82%">
<input type="text" name="outprice" size="20">
<span class="STYLE2">(</span> <font color="#ff0000">*</font>
<span class="STYLE2">必填) </span></td>
</tr>
<tr id="tr4">
<td width="17%" align="center" height="26"><span class="STYLE2">产品图片</span></td>
<td width="82%">
<input type="file" name="a0" size="20">
</td>
</tr>
<tr>
<td width="17%" align="center" height="26"><span class="STYLE2">入库数量</span></td>
<td width="82%" align="right">
<p align="left">
<input name="save_number" size="20" style="float: left">
<span class="STYLE2">( </span><font color="#ff0000">*</font>
<span class="STYLE2">必填) </span></td>
</tr>
<tr>
<td colspan="2">
<p align="center">
<input type="button" value="保存信息" name="B1" onClick="sub()">
<input type="reset" value="放弃信息" name="B2"> </td>
</tr></table>
</form></body>
</html>
<script language="JavaScript">
function frmLoad()
{
for(i=0;i<=4;i++)
{
var obj=document.all("tr"+i);
//默认不显示商品相关信息
obj.style.display="none";
//表示窗体第一次加载的时候,不能显示商品相关信息的输入框
if("<%=exist%>"=="")
{
obj.style.display="none";
//数据库中没有商品记录,则显示相关信息输入框
}else if("<%=exist%>"=="no")
{
obj.style.display="";
}
}
}
function haveOrno()
{
document.frmName1.submit();
}
function sub()
{
document.frmName2.submit();
}
</script>
看有没有地方的对象为空的。
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select gid from goods_info where gid=" + gid);
if (rs.next())
exist = "yes";
else
exist="no";
rs.close();
stmt.close();
conn.close();
}
catch (SQLException e) {}
}
这里有可能出现null的情况,要判断下……改为:if (gid!=null&&!gid.equals(""))