重装Tomcat之后的问题

huasheng724 2010-08-17 02:25:30
因为某些原因重装了Tomcat,但之后就一直出现问题,数据库老是连接不上~!
以下是个登录的模块出现的问题:

org.apache.jasper.JasperException: Exception in JSP: /page/index2.jsp:12

9: if(request.getParameter("username")!=null&&request.getParameter("password")!=null){
10: String sql="select username from member where username='"+request.getParameter("username")+"'and password='"+request.getParameter("password")+"'";
11: connDB conn=new connDB();
12: ResultSet rs=conn.executeQuery(sql);
13: if(rs.next()){
14: String username=new String(request.getParameter("username").toString().getBytes("ISO-8859-1"),"GB2312");
15: session.setAttribute("username",username);


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


起 因

java.lang.NullPointerException
javabean.connDB.executeQuery(connDB.java:50)
org.apache.jsp.page.index2_jsp._jspService(index2_jsp.java:55)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

之前用过数据库连接类,连接类是没问题的~!现在是不知道问题在哪?
...全文
177 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ade子夜 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yktd26 的回复:]
loadProperty() 正确运行了么?
配置文件C:/connDB.properties中设置,和你默认设置是否一样?
[/Quote]

顶@@!!
alonefeng891023 2010-08-19
  • 打赏
  • 举报
回复
看下C:/connDB.properties这个文件中关于数据库连接所需要的参数配置,估计问题出在这了,如果能出线猫的页面那说明tomcat配置是没问题的啊
Jay_xiaolei 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yktd26 的回复:]
loadProperty() 正确运行了么?
配置文件C:/connDB.properties中设置,和你默认设置是否一样?
[/Quote]
up
yktd26 2010-08-17
  • 打赏
  • 举报
回复
loadProperty() 正确运行了么?
配置文件C:/connDB.properties中设置,和你默认设置是否一样?
huasheng724 2010-08-17
  • 打赏
  • 举报
回复
package javabean; //将该类保存到com.wgh.DB包中
import java.sql.*; //导入提供基本的数据库编程服务的包
import java.io.*; //导入提供与设备无关的输入、输出流支持的包
import java.util.*; //导入提供实用方法和数据结构的类包
public class connDB {
public Connection conn = null; //定义一个Connection对象
public Statement stmt = null; //定义一个Statement对象
public ResultSet rs = null; //定义一个ResultSet对象
private static String propFileName = "C:/connDB.properties"; //定义保存properties文件的路径的静态变量
private static Properties prop = new Properties(); //创建一个Properties对象的实例并实例化该对象
private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //保存驱动类的类名的变量
private static String dbUrl ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea";//保存连接数据库的URL地址的变量
private static String dbUser = "sa"; //保存SQL Server登录用户名的变量
private static String dbPwd = "123"; //保存SQL Server登录密码的变量
private static void loadProperty() {
try {
prop.load(new FileInputStream(propFileName)); //通过文件输入流对象加载Properties文件
dbClassName = prop.getProperty("DB_CLASS_NAME"); //读取驱动类的类名
dbUrl = prop.getProperty("DB_URL",
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Tea"); //读取数据库的URL地址
dbUser = prop.getProperty("DB_USER", "sa"); //读取SQL Server登录用户名
dbPwd = prop.getProperty("DB_PWD", "123"); //读取SQL Server登录密码
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
loadProperty(); //通过loadProperty方法读取properties文件中的数据库连接所需信息
try {
Class.forName(dbClassName).newInstance(); //调用Class的forName方法加载驱动程序
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
}
catch (Exception ee) {
ee.printStackTrace();
}
if (conn == null) {
System.err.println(
"警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:" +
dbClassName + "\r\n链接位置:" + dbUrl + "\r\n用户/密码" + dbUser + "/" +
dbPwd);
}
return conn;
}
public ResultSet executeQuery(String sql) {
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
}
catch (SQLException ex) {
System.err.println(ex.getMessage());
}
return rs;
}

public int executeUpdate(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql); //执行更新操作
}
catch (SQLException ex) {
result = 0;
}
try {
stmt.close(); //关闭Statement对象
}
catch (SQLException ex1) {
}
return result;
}
public int executeUpdate_id(String sql) {
int result = 0;
try {
conn = getConnection(); //调用getConnection()方法构造Connection对象的一个实例conn
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
result = stmt.executeUpdate(sql);
String ID = "select @@IDENTITY as id";
rs = stmt.executeQuery(ID);
if (rs.next()) {
int autoID = rs.getInt("id");
result = autoID;
}
}
catch (SQLException ex) {
result = 0;
}
return result;
}
public void close() {
try {
if (rs != null) {
rs.close(); //关闭ResultSet结果集
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (stmt != null) {
stmt.close(); //关闭Statement
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
try {
if (conn != null) {
conn.close(); //关闭Connection
}
}
catch (Exception e) {
e.printStackTrace(System.err);
}
}
}


这是我的类
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaochengfu1 的回复:]

/page/index2.jsp:12
ResultSet rs=conn.executeQuery(sql);
没获得连接跟 tomcat没联系吧
[/Quote]


有道理。
高老衲 2010-08-17
  • 打赏
  • 举报
回复
应该确认一下底层的数据库连接配置和代码。
avajuohz 2010-08-17
  • 打赏
  • 举报
回复
你重装了tomcat,以前tomcat可能有关于数据源或者连接池的配置,建议楼主确认下connDB.java 是怎么封装的。。
gshg1203 2010-08-17
  • 打赏
  • 举报
回复
java.lang.NullPointerException
javabean.connDB.executeQuery(connDB.java:50)
检查一下你的数据库连接属性看看
huasheng724 2010-08-17
  • 打赏
  • 举报
回复
页面代码没改,数据库没改,数据库连接类没改,之前可以啊~!为什么现在就不可以了呢??东西都没改它
学习Java中 2010-08-17
  • 打赏
  • 举报
回复
java.lang.NullPointerException
javabean.connDB.executeQuery(connDB.java:50)

connDB.java
xiaochengfu1 2010-08-17
  • 打赏
  • 举报
回复
/page/index2.jsp:12
ResultSet rs=conn.executeQuery(sql);
没获得连接跟 tomcat没联系吧

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧