大侠帮帮忙啊!求你们了!

时间:2022-09-05 21:57:31
在下面页面出现:
exception 

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

java.lang.NullPointerException
org.apache.jsp.jsp.contractxianshi_jsp._jspService(org.apache.jsp.jsp.contractxianshi_jsp:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



<%@ page contentType="text/html; charset=gb2312" language="java" 
import="java.sql.*" errorPage="" %>
<html>
<head>
<title>合同分配
</title>
<jsp:useBean id="dbBeans" scope="page" class="com.packBean.Dbconn"/>
<%
  Connection con =dbBeans.getConnection();
  java.sql.Statement stmt=con.createStatement();
  String sql=""; 
  int num =0;
  String namequantity ="txtquantity";
  String nameproduct="txtproduct";
  int contractid=0;
  String contractname=new String(request.getParameter("Contractname").getBytes("ISO-8859-1"));
  String contractno=new String(request.getParameter("Contractno").getBytes("ISO-8859-1"));
  String signtime=new String(request.getParameter("signtime").getBytes("ISO-8859-1"));
  sql="select c.fcontractid as contractid,c.fclass as class,g.fname as "+
  "  gname,u.frealname as uname ,m.fname as mname,c.expiretime as etime,c.forecastsigntime as ftime from "+
"(select fcontractid,fclass,fuserid,fcustomerid,fgroupid,"+
"convert(varchar(10),fexpiretime,120) as expiretime,convert(varchar(10),fforecastsigntime,120) as forecastsigntime from t_contracts "+
"where convert(varchar(10),fforecastsigntime,120)='" + signtime +
"' and fname='" + contractname
 +"' and fcontractno='"+ contractno+"') as c,t_groups g,t_users u,t_customers m where u.fuserid=c.fuserid and g.fgroupid=c.fgroupid"+ 
"  and m.fcustomerid=c.fcustomerid;";
 ResultSet rs=dbBeans.getResultSet(sql,stmt);
%>
</head>
<body>
<TABLE width=600 height=100 bordercolor="#000000"  border=0  cellpadding=1 cellspacing=1 bgcolor="#005fba">
<%
if (rs.first()==false)
{
   out.print("<script language=\"javascript\"> alert(\"输入的合同名称或者合同编号有误!\");</script>");
   response.sendRedirect("contractchaxun.jsp");
}
else
{
while(rs.next())
{
   contractid=rs.getInt("contractid");
%>
<tr  bgcolor=#ffffff  align="left">
<TD ><font size="4"><span class="font0">合同ID号</span></font></TD>
<TD width="191" align="center"><INPUT TYPE="text" NAME="txtContractID" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("contractid")%>></TD>
</tr>
<TR  bgcolor=#ffffff  align="left">
<TD ><font size="4"><span class="font0">合同名称</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtContractName" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("contractname")%>></TD>
<TD ><font size="4"><span class="font0">合同编号</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<input TYPE="text" NAME="txtContractNo" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("contractno")%>></TD>
</TR>
<TR  bgcolor=#ffffff  align="left">
<TD ><font size="4"><span class="font0">合同类别</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtType" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("class")%>></TD>
<TD><font size="4"><span class="font0">经销商</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<input TYPE="text" NAME="txtCustomer" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("mname")%>></TD>
</TR>
<TR  bgcolor=#ffffff  align="left">
<TD><font size="4"><span class="font0">所属销售代表</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtPerson" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("uname")%>></TD>
<TD ><font size="4"><span class="font0">负责区域</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtDistrict" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getString("gname")%>></TD>
</TR>
<TR  bgcolor=#ffffff  align="left">
<TD><font size="4"><span class="font0">合同开始时间</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtBeginTime" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getTime("ftime")%>></TD>
<TD><font size="4"><span class="font0">签约时间</span></font></TD>
<TD width="191" bgcolor=#ffffff align="center">
<INPUT TYPE="text" NAME="txtSignTime" size="25" style="border:1px double rgb(187,185,185);font:9pt" disabled value=<%=rs.getTime("etime")%>></TD>
</TR>
<%
  }
}
  rs.close();
  stmt.close();
  con.close();
%>
</TABLE>
<HR>
<FONT SIZE="4" COLOR="#000080"><B>子合同分配 </B></font>
<form method="POST" action="saveall.jsp">
<TABLE border=0  cellPadding=5 cellSpacing=1 bgColor="#005fba">
<TR vAlign=middle bgColor=#ffffff  align="left">
<TD>产品名称</TD>
<TD>一月</TD>
<TD>二月</TD>
<TD>三月</TD>
<TD>四月</TD>
<TD>五月</TD>
<TD>六月</TD>
<TD>七月</TD>
<TD>八月</TD>
<TD>九月</TD>
<TD>十月</TD>
<TD>十一月</TD>
<TD>十二月</TD>
<td>年度合同总额</td>
</TR>
<%
int i=0;
sql="select discinc t.fname as name,c.fquantity as quantity from t_products t,(select fproductid,fquantity from t_contracts_details where fcontractid=" + contractid + ")as c where t.fproductid=c.fproductid;";
num=1;
con =dbBeans.getConnection();
stmt=con.createStatement();
rs = dbBeans.getResultSet(sql,stmt); 
if (rs.first()==false)
{
   out.print("<script language=\"javascript\"> alert(\"输入的合同名称或者合同编号有误!\");</script>");
   response.sendRedirect("contractchaxun.jsp");
}
else
{
while(rs.next())
{
   nameproduct=nameproduct+num;
%>
<TR vAlign=middle bgColor=#ffffff  align="left">
<TD width="191" bgColor=#ffffff align="left">
<%out.println("<INPUT TYPE=\" text\" size=\"8\" NAME=\"" +nameproduct+"\" value=\""+rs.getString("name")+"\" style=\"border:1px double rgb(187,185,185);font:9pt\">");%>
</TD>
<% 
for(int k=1;k<=12;k++)
{
   namequantity=namequantity+(12*(num-1)+k);
%>
<TD width="191" bgColor=#ffffff align="center">
<%out.println("<INPUT TYPE=\" text\" size=\"8\" NAME=\"" +namequantity+"\" style=\"border:1px double rgb(187,185,185);font:9pt\">");%>
</TD>
    <%
}
%>
<TD width="191" bgColor=#ffffff align="left">
<INPUT TYPE="text" size="8" value="<%=rs.getFloat("quantity")%>" style="border:1px double rgb(187,185,185);font:9pt">
</TD>
</TR>
<%
num=num+1;
  }
}
   rs.close();
   stmt.close();
   con.close();
%>
<tr vAlign=middle bgColor=#ffffff  align="center">
<td colspan="14">
<INPUT TYPE="submit" value="确定" style="border:1 solid #BBB9B9;background:#ffffff" class="button">
<INPUT type="reset" value="取消"  style="border:1 solid #BBB9B9;background:#ffffff" class="button">
</td>
<tr>
</TABLE>
</form>
</body>
</html>

这个页面得到查询页面的合同号等信息,查询数据库得到记录集,(合同为年度合同)然后要想分配到12月的子合同(包括产品的名称,其中数量通过在input中输入),提交执行向数据库插入!!

8 个解决方案

#1


up

#2


上面是甚东西。。。

#3


太夸张了,在JSP里写了这么多java……,既然你用了dbBean,为什么不把查询操作也封装进取?
我估计你这个问题可能是数据库联接没有得到。

#4


楼主大人
您的jsp运行前
数据库的连接问题自己测试过没?
一点点来吧
建议用javabean
这样的代码量实在很夸张

#5


检查数据库的连接是否成功

#6


看完都要半天,帮你顶

看懂可能需要一个星期吧。

#7


建议先把你的sql语句封装成方法写进javabean里面

#8


多半是java.sql.Statement stmt=con.createStatement()
这句中的con是null,然后造成的错误
如果是这样,数据库联接的问题

#1


up

#2


上面是甚东西。。。

#3


太夸张了,在JSP里写了这么多java……,既然你用了dbBean,为什么不把查询操作也封装进取?
我估计你这个问题可能是数据库联接没有得到。

#4


楼主大人
您的jsp运行前
数据库的连接问题自己测试过没?
一点点来吧
建议用javabean
这样的代码量实在很夸张

#5


检查数据库的连接是否成功

#6


看完都要半天,帮你顶

看懂可能需要一个星期吧。

#7


建议先把你的sql语句封装成方法写进javabean里面

#8


多半是java.sql.Statement stmt=con.createStatement()
这句中的con是null,然后造成的错误
如果是这样,数据库联接的问题