我用eclipse开发jsp+struts 1.2+Access数据库给公司做了一个小网站,在我本机用tomcat测试时一切都正常,现在发布到服务器上后就出现错误java.lang.NullPointerException,这个错误是在我在连接数据库类中出现的,可是我在单机时就没有错误,下面是我的连接类代码:public Connection conn;
private Statement stat;
private ResultSet rs;
private String jiankong;
private String path;
public DataLianjie(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程序类别
path=URLDecoder.decode(this.getClass().getResource("/").getPath()+"STdata.mdb","gb2312");
path=path.substring(1);System.out.println(path);//去掉左边的"/"
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path;
conn = DriverManager.getConnection(url);
stat=conn.createStatement();
System.out.println("数据库连接成功");
jiankong="cg";
}catch (Exception e) {
System.out.println(e);
jiankong="shibai"+e.toString()+"数据库地址:"+path;
}
}
问题1.现在我知道该怎么来修正这个问题?
2.用access数据库时,服务器上是不是一定要安装office?
3.本人第一次发布jsp网站,eclipse在制作时项目文件夹下哪些应该发布,还是该如何发布,请知道的详细讲一下,谢谢了!
private Statement stat;
private ResultSet rs;
private String jiankong;
private String path;
public DataLianjie(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程序类别
path=URLDecoder.decode(this.getClass().getResource("/").getPath()+"STdata.mdb","gb2312");
path=path.substring(1);System.out.println(path);//去掉左边的"/"
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path;
conn = DriverManager.getConnection(url);
stat=conn.createStatement();
System.out.println("数据库连接成功");
jiankong="cg";
}catch (Exception e) {
System.out.println(e);
jiankong="shibai"+e.toString()+"数据库地址:"+path;
}
}
问题1.现在我知道该怎么来修正这个问题?
2.用access数据库时,服务器上是不是一定要安装office?
3.本人第一次发布jsp网站,eclipse在制作时项目文件夹下哪些应该发布,还是该如何发布,请知道的详细讲一下,谢谢了!
解决方案 »
- Struts2 配置问题???高手请进
- javascript怎么把读取的数据剪切为50个字符串啊
- jsp:如何屏蔽跳转后的jsp(如:地址栏,菜单栏等)
- java 中web service 入门
- struts2 报错/struts-tags not found
- jsp页面存word问题?
- jsp新手入门,请教高手如何安装jdk1.3和服务器
- 我下载了TOMCAT4.0,该如何配置?在线!
- JAVA生成图像的问题
- 我受不了 这个JSP有错吗????????
- tomcat下如何修改访问路径
- hibernate3.2里说的反向集合是什么意思啊。什么是反向集合?什么是非反向集合?请大家给解释一下。顺便举个例子。谢谢
2,不需要装OFFICE
2.错误肯定是出现在连接数据这个类中,我不知道是不是我获取数据库地址那条写的有问题,反正我在我的eclipse中没有报任何的错误,现在主要就是因为,上传到服务器后我无法跟踪,到底问题出现在哪行?
3.我更新了WEB-INF/classes 中的class类包,但是现在服务器上调用的还是昨天我更新的类,难道不能即使响应吗?
2:你没有日志记录么?如 log4j
3:需要重新启动tomcat,不过我们一般本地调试的时候都会在context里配上reloadable=true,保证tomcat对类变化的快速装载
注意异常处理
package com.data.lianjie;import java.net.URLDecoder;
import java.sql.*;import javax.resource.spi.ApplicationServerInternalException;import org.omg.CORBA.portable.ApplicationException;public class DataLianjie {
public Connection conn;
private String name="muweitao";
private String mima="19860608";
private Statement stat;
private ResultSet rs;
private String jiankong;
private String path;
public DataLianjie(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //载入驱动程序类别
path=URLDecoder.decode(this.getClass().getResource("/").getPath()+"STdata.mdb","gb2312");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path;
conn = DriverManager.getConnection(url);
stat=conn.createStatement();
System.out.println("数据库连接成功");
jiankong="cg";
}catch (Exception e) {
System.out.println(e);
}
}
}
我是这么做的:输入域名后到index.jsp这个页里直接执行到<jsp:forward page="notice.do"/>到我的notice(action)中,在notice中执行DataLianjie lj=new DataLianjie ();这个DataLianjie 类不是action类,而是一个普通类,用这个类来连接access数据库,在我本机上这么
做是成功的,但是上传到服务器后就报java.lang.NullPointerException这个错了,我现在不知道该怎么做,应该怎么改呢?很着急啊~~~!!!
发布么 把webroot下面的所有东西都搞上去了
另外你可以手动启动TOMCAT,看看它报什么错误,日志有错误吗????