我的CLASSPATH设置为C:\Program Files\Java\jdk1.6.0\lib\tools.jar;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;;
JAVA_HOME设为C:\Program Files\Java\jdk1.6.0
path设为%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;
我装了Microsoft SQL Server 2000 Driver for JDBC并把bin下的文件放到tomcat下的
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
和我要用的数据库
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch1\WEB-INF\lib下
但我每次只要用到jsp连接SQL2000时都出现类似以下的问题
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
bookshop.DBSQLManager.executeUpdate(DBSQLManager.java:56)
org.apache.jsp.adduser1_jsp._jspService(adduser1_jsp.java:126)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
希望大家能帮帮我这个菜鸟!!谢谢
感谢刚才的朋友们的回复但是还是没能解决!!我已经把Microsoft SQL Server 2000 Driver for JDBC里面那三个后缀名为jar的文件放到我的工程里了!!C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch1\WEB-INF\lib下,ch1时我的工程!!!
DBSQLManager.java程序如下:(如果这里要该的话那么应该怎样改????)
package bookshop;import java.sql.*;
import bookshop.*;public class DBSQLManager{
protected Connection conn = null; //Connection对象
protected Statement stmt = null; //Statement对象
protected ResultSet rs = null; //记录结果集
protected String sqlStr; //SQL语句
public DBSQLManager() {
try
{
sqlStr = "";
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
stmt = conn.createStatement();
}
catch (Exception e) {
System.out.println(e);
}
} public Statement getStmt() {
return stmt;
} public Connection getConn() {
return conn;
} public ResultSet getRs() {
return rs;
} public void setSqlStr(String newSqlStr) {
this.sqlStr=newSqlStr;
}谢谢!!!
public String getSqlStr() {
return sqlStr;
} public void executeQuery() throws Exception {
rs = stmt.executeQuery(sqlStr);
}
public void executeUpdate() throws Exception {
stmt.executeUpdate(sqlStr);
}
public void close() throws SQLException {
if ( stmt != null ) {
stmt.close();
stmt = null;
}
conn.close();
conn = null;
}};
JAVA_HOME设为C:\Program Files\Java\jdk1.6.0
path设为%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;
我装了Microsoft SQL Server 2000 Driver for JDBC并把bin下的文件放到tomcat下的
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib
和我要用的数据库
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch1\WEB-INF\lib下
但我每次只要用到jsp连接SQL2000时都出现类似以下的问题
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
bookshop.DBSQLManager.executeUpdate(DBSQLManager.java:56)
org.apache.jsp.adduser1_jsp._jspService(adduser1_jsp.java:126)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
希望大家能帮帮我这个菜鸟!!谢谢
感谢刚才的朋友们的回复但是还是没能解决!!我已经把Microsoft SQL Server 2000 Driver for JDBC里面那三个后缀名为jar的文件放到我的工程里了!!C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch1\WEB-INF\lib下,ch1时我的工程!!!
DBSQLManager.java程序如下:(如果这里要该的话那么应该怎样改????)
package bookshop;import java.sql.*;
import bookshop.*;public class DBSQLManager{
protected Connection conn = null; //Connection对象
protected Statement stmt = null; //Statement对象
protected ResultSet rs = null; //记录结果集
protected String sqlStr; //SQL语句
public DBSQLManager() {
try
{
sqlStr = "";
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
stmt = conn.createStatement();
}
catch (Exception e) {
System.out.println(e);
}
} public Statement getStmt() {
return stmt;
} public Connection getConn() {
return conn;
} public ResultSet getRs() {
return rs;
} public void setSqlStr(String newSqlStr) {
this.sqlStr=newSqlStr;
}谢谢!!!
public String getSqlStr() {
return sqlStr;
} public void executeQuery() throws Exception {
rs = stmt.executeQuery(sqlStr);
}
public void executeUpdate() throws Exception {
stmt.executeUpdate(sqlStr);
}
public void close() throws SQLException {
if ( stmt != null ) {
stmt.close();
stmt = null;
}
conn.close();
conn = null;
}};
解决方案 »
- 一个特别奇怪的问题?
- java怎么调flex里的变量?
- 上传了同名的文件遇到的问题???
- 怎么struts在使用session的问题
- hibernate 的拦截器 是什么东西 有什么用?
- JAVA连接数据库出错,急!
- 密码加密的问题
- tomcat中,与oracle连接,需要配置吗?
- 在struts的struts-config.xml中﹐配置DataSource,找不到類com.microsoft.jdbc.sqlserver.SQLServerDriver
- bootstrap3.0 datetimepicker设置中文失败是那里错了?
- web中实现打印,能否介绍几种方式?
- eclipse中部署网站时,无法启动tomcat
String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接SQL数据库的方法
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name"; //db_name为数据库名
String Username="username"; //用户名
String Password="password"; //密码
Class.forName(Driver).new Instance(); //加载数据可驱动
怀疑是加载数据库驱动时候有问题
你到Tomcat 6.0\work\Catalina\localhost\下找到你的项目,然后在org\apache\jsp\..下找到adduser1_jsp.java文件,查看第126行有什么错,然后你再看看你的adduser1.jsp有什么错.
<%@ page contentType="text/html;charset=gb2312" %>
<%@ include file="incoming/common.jsp"%>
<html>
<head>
<title>网上书店</title>
<link href="incoming/style.css" rel="stylesheet" type="text/css">
</head>
<body><%@ include file="incoming/header.jsp"%>
<%
String userid=new String(request.getParameter("userid").trim().getBytes("ISO-8859-1"));
String password=new String(request.getParameter("password").trim().getBytes("ISO-8859-1"));
String username=new String(request.getParameter("username").trim().getBytes("ISO-8859-1"));
String address=new String(request.getParameter("address").trim().getBytes("ISO-8859-1"));
String phone=new String(request.getParameter("phone").trim().getBytes("ISO-8859-1"));
String email=new String(request.getParameter("email").trim().getBytes("ISO-8859-1")); DBSQLManager dbsm=new DBSQLManager();
String sql="INSERT INTO userpassword VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";
dbsm.setSqlStr(sql);
dbsm.executeUpdate();
dbsm.close();
%>
<br><a class="title">已经注册成功!请<a href="login.jsp">登录</a></a><br>
<center>
<a href="request1.jsp">查看注册信息</a><br>
</center>
<%@ include file="incoming/footer.jsp"%> </body>
</html>
另外,那个126行在tomcat的/work/org/apache/......../你的项目下~!
public void executeQuery() throws Exception {
rs = stmt.executeQuery(sqlStr);
}
public void executeUpdate() throws Exception {
stmt.executeUpdate(sqlStr);
}
你的sqlStr是个全局变量,也没有开辟空间
DBSQLManager dbsm=new DBSQLManager();
String sql="INSERT INTO userpassword VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";
dbsm.setSqlStr(sql);
126行: dbsm.executeUpdate();
dbsm.close();
这个跟adduser1_jsp.java也就是我刚发出来的一样啊!!
DBSQLManager dbsm=new DBSQLManager();
String sql="INSERT INTO userpassword VALUES('"+userid+"','"+password+"','N','"+username+"','"+address+"','"+phone+"','"+email+"')";
dbsm.setSqlStr(sql);
dbsm.executeUpdate();
dbsm.close();
而且
DBSQLManager dbsm=new DBSQLManager();
String sql="INSERT INTO userpassword VALUES。
应该就能把得到的数据放到SQL2000里面了吧(sql2000userpassword这里刚开始是没数据的(因为这个是注册要添加里面的SQL2000的数据)所以
DBSQLManager.java里面刚开始设为
protected Statement stmt = null; 然后
public void executeUpdate() throws Exception {
stmt.executeUpdate(sqlStr);
}
(详细程序就是最上面的那个程序)
USER_ID:邝剑炜
user_password:3105003311
USER_NAME:邝剑炜