在线等,小问题请帮忙

时间:2022-11-05 17:36:08
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


root cause 

java.lang.NullPointerException
download.conn.executeUpdate(conn.java:45)
org.apache.jsp.admin.savefile_jsp._jspService(savefile_jsp.java:95)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

这个是什么问题阿

7 个解决方案

#1


空指针了,你引用了一个空对象

代码贴出来

#2


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<jsp:useBean id="conn" class="download.conn" scope="page"/>
<%!
   ResultSet rs=null;
   ResultSet rstmp=null;
   String filename="";
   String showname="";
   String tt="";
   String note="";
   String size="";
   String hot="";
   String face="";
   String sql="";
   %>
   <%
      session.setAttribute("login","ok");
    if(session.getAttribute("login")==null)
 {
      out.print("<script>alert('服务器超时从新请登陆');</script>");
      response.sendRedirect("index.jsp");
  }
 else
 {
 request.setCharacterEncoding("gb2312");
 filename=request.getParameter("txtfilename");
 showname=request.getParameter("txtshowname");
 note=request.getParameter("txtnote");
 tt=request.getParameter("typename");
 size=request.getParameter("size");
 hot=request.getParameter("hot");
 face=request.getParameter("face");
 java.util.Date time=new java.util.Date();
 String sqltime=new Timestamp(time.getTime()).toString();
 sql="insert into download(times,filename,size,showname,hot,face,typename,softnote,hits) values('"+sqltime+"','"+filename+"','"+size+"','"+showname+"','"+hot+"','"+face+"','"+tt+"','"+note+"',0)";
 conn.executeUpdate(sql);
 }
 %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<p align="center"><font color="#FF0000">添加<%=filename%>成功他的显示名字是<%=showname%></font></p>
<br>
<p align="center">是否继续添加
<a href="add.jsp">是</a>&nbsp;&nbsp;<a href="xtwh.jsp">否</a></p>
</body>
</html>

#3


package download;
import java.sql.*;
public class conn
{
Connection conn=null;
    ResultSet rs=null;
public void  setConn()
{
try
{
 Class.forName("com.microsoft.jdbc.sqlsever.SQLServerDriver").newInstance();
 String user="sa";
 String passwd="wuxin";
 String url="jdbc:microsoft:sqlserver://127.0.0.1:1443;database=demo";
 conn=DriverManager.getConnection(url,user,passwd);
    }
catch(Exception e){}
}
public Connection getConn()
{
if(conn==null)
{
setConn();

}return conn;
}
public ResultSet executeQuery(String sql)
{
 try
 {
 Statement stmt=getConn().createStatement();
 rs=stmt.executeQuery(sql);
 }
 catch(SQLException ex)
{
 System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int result=0;
try
{
Statement stmt=getConn().createStatement();
result=stmt.executeUpdate(sql);
stmt.close();
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return result;
}

};

#4


应该是创建Connection对象时,失败,conn为空,然后你又调用它createStatement,所以抛出java.lang.NullPointerException异常

你在那个setConn()方法中catch了异常,为什么不打出错误信息?
问题在那儿.
-------------------------------------------
try
{
 Class.forName("com.microsoft.jdbc.sqlsever.SQLServerDriver").newInstance();
 String user="sa";
 String passwd="wuxin";
 String url="jdbc:microsoft:sqlserver://127.0.0.1:1443;database=demo";
 conn=DriverManager.getConnection(url,user,passwd);
    }
catch(SQLException e)
                       { e.printStackTrace();}//加上这句,看看具体问题出在哪儿.
------------------------------------

#5


不行我这个异常已经集合了所有的异常了
还是不行是不是其它的地方出了毛病

#6


还有没有人在阿帮帮忙了
是不是我的配置除了问题
我的环境配置是
ClassPath   .;D:\j2sdk\lib;D:\j2sdk1.4.2\lib\dt.jar;D:\j2sdk1.4.2\lib\tools.jar;
JAVA_HOME d:\j2sdk1.4.2
PATH   %PATH%;D:\j2sdk1.4.2\bin;D:\Tomcat5.0\bin
CATALINA_HOME   D:\tomcat5.0
对吗?其余的jsp页面都能运行好就是useBean不能运行
但是别人的程序在我这里就可以运行
我就是不知道怎么搞得
谁在阿帮帮忙
分数不够我可以在另外开贴给分!!!!!

#7


我知道了谢谢
程序没有问题主要是每次添加class就必须要重新启动tomcat嘛?
!!

#1


空指针了,你引用了一个空对象

代码贴出来

#2


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>
<jsp:useBean id="conn" class="download.conn" scope="page"/>
<%!
   ResultSet rs=null;
   ResultSet rstmp=null;
   String filename="";
   String showname="";
   String tt="";
   String note="";
   String size="";
   String hot="";
   String face="";
   String sql="";
   %>
   <%
      session.setAttribute("login","ok");
    if(session.getAttribute("login")==null)
 {
      out.print("<script>alert('服务器超时从新请登陆');</script>");
      response.sendRedirect("index.jsp");
  }
 else
 {
 request.setCharacterEncoding("gb2312");
 filename=request.getParameter("txtfilename");
 showname=request.getParameter("txtshowname");
 note=request.getParameter("txtnote");
 tt=request.getParameter("typename");
 size=request.getParameter("size");
 hot=request.getParameter("hot");
 face=request.getParameter("face");
 java.util.Date time=new java.util.Date();
 String sqltime=new Timestamp(time.getTime()).toString();
 sql="insert into download(times,filename,size,showname,hot,face,typename,softnote,hits) values('"+sqltime+"','"+filename+"','"+size+"','"+showname+"','"+hot+"','"+face+"','"+tt+"','"+note+"',0)";
 conn.executeUpdate(sql);
 }
 %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<p align="center"><font color="#FF0000">添加<%=filename%>成功他的显示名字是<%=showname%></font></p>
<br>
<p align="center">是否继续添加
<a href="add.jsp">是</a>&nbsp;&nbsp;<a href="xtwh.jsp">否</a></p>
</body>
</html>

#3


package download;
import java.sql.*;
public class conn
{
Connection conn=null;
    ResultSet rs=null;
public void  setConn()
{
try
{
 Class.forName("com.microsoft.jdbc.sqlsever.SQLServerDriver").newInstance();
 String user="sa";
 String passwd="wuxin";
 String url="jdbc:microsoft:sqlserver://127.0.0.1:1443;database=demo";
 conn=DriverManager.getConnection(url,user,passwd);
    }
catch(Exception e){}
}
public Connection getConn()
{
if(conn==null)
{
setConn();

}return conn;
}
public ResultSet executeQuery(String sql)
{
 try
 {
 Statement stmt=getConn().createStatement();
 rs=stmt.executeQuery(sql);
 }
 catch(SQLException ex)
{
 System.err.println(ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql)
{
int result=0;
try
{
Statement stmt=getConn().createStatement();
result=stmt.executeUpdate(sql);
stmt.close();
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}
return result;
}

};

#4


应该是创建Connection对象时,失败,conn为空,然后你又调用它createStatement,所以抛出java.lang.NullPointerException异常

你在那个setConn()方法中catch了异常,为什么不打出错误信息?
问题在那儿.
-------------------------------------------
try
{
 Class.forName("com.microsoft.jdbc.sqlsever.SQLServerDriver").newInstance();
 String user="sa";
 String passwd="wuxin";
 String url="jdbc:microsoft:sqlserver://127.0.0.1:1443;database=demo";
 conn=DriverManager.getConnection(url,user,passwd);
    }
catch(SQLException e)
                       { e.printStackTrace();}//加上这句,看看具体问题出在哪儿.
------------------------------------

#5


不行我这个异常已经集合了所有的异常了
还是不行是不是其它的地方出了毛病

#6


还有没有人在阿帮帮忙了
是不是我的配置除了问题
我的环境配置是
ClassPath   .;D:\j2sdk\lib;D:\j2sdk1.4.2\lib\dt.jar;D:\j2sdk1.4.2\lib\tools.jar;
JAVA_HOME d:\j2sdk1.4.2
PATH   %PATH%;D:\j2sdk1.4.2\bin;D:\Tomcat5.0\bin
CATALINA_HOME   D:\tomcat5.0
对吗?其余的jsp页面都能运行好就是useBean不能运行
但是别人的程序在我这里就可以运行
我就是不知道怎么搞得
谁在阿帮帮忙
分数不够我可以在另外开贴给分!!!!!

#7


我知道了谢谢
程序没有问题主要是每次添加class就必须要重新启动tomcat嘛?
!!