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> <a href="xtwh.jsp">否</a></p>
</body>
</html>
<%@ 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> <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;
}
};
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();}//加上这句,看看具体问题出在哪儿.
------------------------------------
你在那个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不能运行
但是别人的程序在我这里就可以运行
我就是不知道怎么搞得
谁在阿帮帮忙
分数不够我可以在另外开贴给分!!!!!
是不是我的配置除了问题
我的环境配置是
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嘛?
!!
程序没有问题主要是每次添加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> <a href="xtwh.jsp">否</a></p>
</body>
</html>
<%@ 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> <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;
}
};
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();}//加上这句,看看具体问题出在哪儿.
------------------------------------
你在那个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不能运行
但是别人的程序在我这里就可以运行
我就是不知道怎么搞得
谁在阿帮帮忙
分数不够我可以在另外开贴给分!!!!!
是不是我的配置除了问题
我的环境配置是
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嘛?
!!
程序没有问题主要是每次添加class就必须要重新启动tomcat嘛?
!!