代码如下:
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();}
}}
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();}
}}
当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();
}
2.楼主赶紧研究下,如何看懂异常信息,快速定位错误。试着在异常信息中找找有没有自己写的类,看看后面标注的行数吧。
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){}这样