javaBean:package com.sql;
import java.sql.*;public class Dbctr {
String url="jdbc:sqlserver://localhost:1434;DatabaseName=Edit";
String user="sa";
String password="123";
Statement state;
Connection conn;
ResultSet rs;
public Dbctr(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(url,user,password);
}
catch(ClassNotFoundException e){System.out.println(e);}
catch(SQLException sqle){System.out.println(sqle);}
}
public void insert(String content) throws SQLException{
state=conn.createStatement();
String sql="insert into biao values('"+content+"')";
int a=state.executeUpdate(sql);
System.out.println(a);
}
public String fetch() throws SQLException{
rs=state.executeQuery("select * from biao");
if(rs.next())
{String str=rs.getString(1);
return str;}
return null;
}
}调用:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="Gb2312"%>
<%@ page import="com.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<jsp:useBean id="sqlBean" class="com.sql.Dbctr" scope="session" ></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<%
request.setCharacterEncoding("Gb2312");
String s=request.getParameter("content");
s=s.replaceAll(" "," ");
s=s.replaceAll("\r\n","<br/>");
s=s.replaceAll("\n","<br/>");
try{ sqlBean.insert(s); }
catch(SQLException e){System.out.println(e);}
pageContext.forward(response.encodeURL("showData.jsp"));
%>
</body>
</html>执行时显示错误:
org.apache.jasper.JasperException: An exception occurred processing JSP page /show.jsp at line 2320: s=s.replaceAll(" "," ");
21: s=s.replaceAll("\r\n","<br/>");
22: s=s.replaceAll("\n","<br/>");
23: try{ sqlBean.insert(s); }
24: catch(SQLException e){System.out.println(e);}
25: pageContext.forward(response.encodeURL("showData.jsp"));
26: %>
请问下这是什么错误?应该怎么改呢?谢谢!
import java.sql.*;public class Dbctr {
String url="jdbc:sqlserver://localhost:1434;DatabaseName=Edit";
String user="sa";
String password="123";
Statement state;
Connection conn;
ResultSet rs;
public Dbctr(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection(url,user,password);
}
catch(ClassNotFoundException e){System.out.println(e);}
catch(SQLException sqle){System.out.println(sqle);}
}
public void insert(String content) throws SQLException{
state=conn.createStatement();
String sql="insert into biao values('"+content+"')";
int a=state.executeUpdate(sql);
System.out.println(a);
}
public String fetch() throws SQLException{
rs=state.executeQuery("select * from biao");
if(rs.next())
{String str=rs.getString(1);
return str;}
return null;
}
}调用:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="Gb2312"%>
<%@ page import="com.sql.*" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<jsp:useBean id="sqlBean" class="com.sql.Dbctr" scope="session" ></jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<%
request.setCharacterEncoding("Gb2312");
String s=request.getParameter("content");
s=s.replaceAll(" "," ");
s=s.replaceAll("\r\n","<br/>");
s=s.replaceAll("\n","<br/>");
try{ sqlBean.insert(s); }
catch(SQLException e){System.out.println(e);}
pageContext.forward(response.encodeURL("showData.jsp"));
%>
</body>
</html>执行时显示错误:
org.apache.jasper.JasperException: An exception occurred processing JSP page /show.jsp at line 2320: s=s.replaceAll(" "," ");
21: s=s.replaceAll("\r\n","<br/>");
22: s=s.replaceAll("\n","<br/>");
23: try{ sqlBean.insert(s); }
24: catch(SQLException e){System.out.println(e);}
25: pageContext.forward(response.encodeURL("showData.jsp"));
26: %>
请问下这是什么错误?应该怎么改呢?谢谢!
String sql="insert into biao values('"+content+"')";
这句貌似有问题吧 你改成
String sql = "insert into biao values(content)";
如果不是
应该是这样的
String sql="insert into biao(数据库字段) values('"+content+"')";
java.lang.NullPointerException
com.sql.Dbctr.insert(Dbctr.java:20)
你是不是 再传insert方法的的值是null啊?
catch(SQLException e){System.out.println(e);}
state=conn.createStatement();
说明你的conn是null
确认你的
conn=DriverManager.getConnection(url,user,password);没有成功获得连接
System.out.println(content);//如果没有打印出内容,则出现java.lang.NullPointerException 就很正常了
state=conn.createStatement();
String sql="insert into biao values('"+content+"')";
int a=state.executeUpdate(sql);
System.out.println(a);}
楼主你的代码是在是太乱了!
风格很不好
表示:一个异常未处理