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(" ","&nbsp;");
    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(" ","&nbsp;");
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:     %>
请问下这是什么错误?应该怎么改呢?谢谢!

解决方案 »

  1.   

    你的insert方法里
     String sql="insert into biao values('"+content+"')";
    这句貌似有问题吧  你改成
    String sql = "insert into biao values(content)";
      

  2.   

     String sql="insert into biao values('"+content+"')";你的biao 就一个字段吗?
    如果不是
    应该是这样的
    String sql="insert into biao(数据库字段) values('"+content+"')";
      

  3.   

    底下还显示这个错误:
    java.lang.NullPointerException
    com.sql.Dbctr.insert(Dbctr.java:20)
      

  4.   

     这是空指针啊 
    你是不是 再传insert方法的的值是null啊?
      

  5.   

    我是从fekeditor里读取的内容,会不会是因为里面的html标记的原因?
      

  6.   

    Dbctr.java:20行是哪一行,数据库连上了没有?
      

  7.   

     是这行try{ sqlBean.insert(s);  }
        catch(SQLException e){System.out.println(e);}
      

  8.   

    20行:
    state=conn.createStatement();
    说明你的conn是null
    确认你的
     conn=DriverManager.getConnection(url,user,password);没有成功获得连接
      

  9.   

    汗,测试了一下,真的是这样;java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
      

  10.   

    导入之后依然出错,我连接的是sqlserver2005 包是mssqlserver.jar
      

  11.   

    把它放到{tomcathome}/common\lib下
      

  12.   

    如果链接没问题的话,建议在方法中添加如下一句话调试一下: public void insert(String content) throws SQLException{
             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);}
      

  13.   

    你应该先调用 Dbctr()方法获取连接
     楼主你的代码是在是太乱了!
    风格很不好
      

  14.   

    JasperException: An exception occurred processing 
    表示:一个异常未处理