代码如下:
 
package shebei;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DBServlet1 extends HttpServlet {
  static private   Connection con=null; 
  static private Statement stmt=null; 
public  static Connection getCon() {
 String url="jdbc:sqlserver://localhost:1433;databasename=shebeixitong";
 String user="shebei";
 String pwd="123456";
   try{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    con=DriverManager.getConnection(url,user,pwd);
    stmt=con.createStatement();
  }catch(Exception e){}             
return con; 

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {doPost(request,response);}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
 PrintWriter out=response.getWriter();
try{
   String bianhao=request.getParameter("bianhao").trim();
   String name=request.getParameter("name").trim();out.println(2);
   String leixing=request.getParameter("leixing").trim();
   String guige=request.getParameter("guige").trim();
   String price=request.getParameter("price").trim();
   String changjia=request.getParameter("changjia").trim();
   String shengchan=request.getParameter("shengchan").trim();
   String chuchang=request.getParameter("chuchang").trim();
   String gouzhiriqi=request.getParameter("gouzhiriqi").trim();
   String baoxiuriqi=request.getParameter("baoxiuriqi").trim();
   String guojia=request.getParameter("guojia").trim();
   String fangxiang=request.getParameter("fangxiang").trim();
   String bumen=request.getParameter("bumen").trim();
   String zhuangtai=request.getParameter("zhuangtai").trim();
   String sql="insert into shebeixinxi (sbid,sbname,sbstyle,sbguige,sbpice, changjia , shengchandate,chuchangdate,buydate,baoxiuqi,shengchangcountry,shiyongfangxiang, suoshubumen,state) values('"+bianhao+"','"+name+"','"+leixing+"','"+guige+"','"+price+"','"+changjia+"','"+shengchan+"','"+chuchang+"','"+gouzhiriqi+"','"+baoxiuriqi+"','"+guojia+"','"+fangxiang+"','"+bumen+"','"+zhuangtai+"')";
   stmt.executeUpdate(sql);   out.print("添加成功 "); }catch(SQLException e){e.printStackTrace();}
  
}}

解决方案 »

  1.   

    1 错误消息给详细点。 都没个错误消息怎么分析2 代码中String bianhao=request.getParameter("bianhao").trim();  
       当request.getParameter("bianhao")为空时 你对其进行trim就会报你这个异常。
      

  2.   

    String bianhao=request.getParameter("bianhao").trim();
      String name=request.getParameter("name").trim();out.println(2);
      String leixing=request.getParameter("leixing").trim();
      String guige=request.getParameter("guige").trim();
      String price=request.getParameter("price").trim();
      String changjia=request.getParameter("changjia").trim();
      String shengchan=request.getParameter("shengchan").trim();
      String chuchang=request.getParameter("chuchang").trim();
      String gouzhiriqi=request.getParameter("gouzhiriqi").trim();
      String baoxiuriqi=request.getParameter("baoxiuriqi").trim();
      String guojia=request.getParameter("guojia").trim();
      String fangxiang=request.getParameter("fangxiang").trim();
      String bumen=request.getParameter("bumen").trim();
      String zhuangtai=request.getParameter("zhuangtai").trim();
     这代码漏洞太多了吧
    首先理解NullPointException是怎么出现的必然是一个null对象调用了方法
    所以问题就变得很简单了解决方案可以这样写
    String bianhao=request.getParameter("bianhao");
    if(!"".equles(bianhao)){//equles是不是这样写记不太清了
       bianhao.trim();
    }
      

  3.   

    1.楼主需要回补下j2se中有关异常的基础知识。运行时异常属于程序员编码不合理造成的,与操作数据库有什么关系?
    2.楼主赶紧研究下,如何看懂异常信息,快速定位错误。试着在异常信息中找找有没有自己写的类,看看后面标注的行数吧。
      

  4.   

    String bianhao=request.getParameter("bianhao").trim();
      String name=request.getParameter("name").trim();out.println(2);
      String leixing=request.getParameter("leixing").trim();
      String guige=request.getParameter("guige").trim();
      String price=request.getParameter("price").trim();
      String changjia=request.getParameter("changjia").trim();
      String shengchan=request.getParameter("shengchan").trim();
      String chuchang=request.getParameter("chuchang").trim();
      String gouzhiriqi=request.getParameter("gouzhiriqi").trim();
      String baoxiuriqi=request.getParameter("baoxiuriqi").trim();
      String guojia=request.getParameter("guojia").trim();
      String fangxiang=request.getParameter("fangxiang").trim();
      String bumen=request.getParameter("bumen").trim();
      String zhuangtai=request.getParameter("zhuangtai").trim();
    这段代码的确有问题,至少不应该加trim()这样很容易产生空指针异常的,
    比如String bianhao=request.getParameter("bianhao").trim();应该先接收:String bianhao=request.getParameter("bianhao");,然后在对bianhao进行处理的时候先执行if(bianhao!=null){}这样