JSP连接数据库出现问题打开tomcat后出现这样的错误: 20
java源代码packagecom.mingri.dbconn;importjava.sql.*;importcom.mingri.dbconn.DBConn;publi...
java源代码
package com.mingri.dbconn;
import java.sql.*;
import com.mingri.dbconn.DBConn;
public class DBResult
{
private Connection con;
public DBResult(){
this.con=DBConn.getConnection();
}
/**
* 用于获得执行SQL语句的ResultSet对象
*/
public ResultSet getResult(String sql){
try{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
return rs;
}
catch(Exception e){}
return null;
}
/**
* 用于执行SQL语句没有返回值
*/
public void doExecute(String sql){
try{
Statement stmt=con.createStatement();
stmt.executeQuery(sql);
}catch(Exception e){}
}
/**
* 用于获得执行SQL语句的PreparedStatement(预处理)对象
*/
public PreparedStatement getPreparedStatement(String sql){
try{
PreparedStatement pstmt=con.prepareStatement(sql);
return pstmt;
}
catch(Exception e){}
return null;
}
/**
* 关闭连接
*/
public void closeCon(){
try{
this.con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
jsp源代码
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@ page import="java.io.*,java.sql.*"%>
<jsp:useBean id="rst" scope="page" class="com.mingri.dbconn.DBResult">
</jsp:useBean>
<%
request.setCharacterEncoding("gb2312");//对请求进行统一编码,能正常接受到中文
String username=request.getParameter("username"); //接收表单中的username属性
String password=request.getParameter("password");//接收表单中的password属性
String str="select * from tb_user where "+
"username='"+username+"' and password='"+password+"'";
ResultSet rs=rst.getResult(str);//执行SQL语句获得结果集对象
session.setAttribute("isLog",new String("0"));//判断用户是否登陆,当isLog的属性为0时,说明用户并没有登陆
if(!rs.next()){ //结果集没有找到所要查找的行
out.println("<script language='javascript'>alert('用户名或密码错误');"+
"parent.location.href='login.html';</script>"); }
else{
session.setAttribute("username",rs.getString("username"));//保存登录信息到session对象中
session.setAttribute("password",rs.getString("password"));
session.setAttribute("isLog",new String("1"));//将isLog属性设置为1
rst.getResult(strUpdate);//执行SQL语句
response.sendRedirect("chat.jsp");//登陆成功后转到系统主页面
}
%>
PS:我用的是JDK1.6+SQLServer2000+tomcat5.0.28
打开tomcat后出现这样的错误提示
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /login.jsp(3,0) The value for the useBean class attribute com.mingri.dbconn.DBResult is invalid. 展开
package com.mingri.dbconn;
import java.sql.*;
import com.mingri.dbconn.DBConn;
public class DBResult
{
private Connection con;
public DBResult(){
this.con=DBConn.getConnection();
}
/**
* 用于获得执行SQL语句的ResultSet对象
*/
public ResultSet getResult(String sql){
try{
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
return rs;
}
catch(Exception e){}
return null;
}
/**
* 用于执行SQL语句没有返回值
*/
public void doExecute(String sql){
try{
Statement stmt=con.createStatement();
stmt.executeQuery(sql);
}catch(Exception e){}
}
/**
* 用于获得执行SQL语句的PreparedStatement(预处理)对象
*/
public PreparedStatement getPreparedStatement(String sql){
try{
PreparedStatement pstmt=con.prepareStatement(sql);
return pstmt;
}
catch(Exception e){}
return null;
}
/**
* 关闭连接
*/
public void closeCon(){
try{
this.con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
jsp源代码
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@ page import="java.io.*,java.sql.*"%>
<jsp:useBean id="rst" scope="page" class="com.mingri.dbconn.DBResult">
</jsp:useBean>
<%
request.setCharacterEncoding("gb2312");//对请求进行统一编码,能正常接受到中文
String username=request.getParameter("username"); //接收表单中的username属性
String password=request.getParameter("password");//接收表单中的password属性
String str="select * from tb_user where "+
"username='"+username+"' and password='"+password+"'";
ResultSet rs=rst.getResult(str);//执行SQL语句获得结果集对象
session.setAttribute("isLog",new String("0"));//判断用户是否登陆,当isLog的属性为0时,说明用户并没有登陆
if(!rs.next()){ //结果集没有找到所要查找的行
out.println("<script language='javascript'>alert('用户名或密码错误');"+
"parent.location.href='login.html';</script>"); }
else{
session.setAttribute("username",rs.getString("username"));//保存登录信息到session对象中
session.setAttribute("password",rs.getString("password"));
session.setAttribute("isLog",new String("1"));//将isLog属性设置为1
rst.getResult(strUpdate);//执行SQL语句
response.sendRedirect("chat.jsp");//登陆成功后转到系统主页面
}
%>
PS:我用的是JDK1.6+SQLServer2000+tomcat5.0.28
打开tomcat后出现这样的错误提示
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /login.jsp(3,0) The value for the useBean class attribute com.mingri.dbconn.DBResult is invalid. 展开
1个回答
展开全部
复制过来的 参考下!!
Tomcat 报告 “The value for the useBean class attribute XXX is invalid” 这个错误可能源于以下几个原因: 1. 在编译 JSP 时 ,指定的 Bean 类没找到 2. Bean 虽然找到了,但是该类不是 public 的,或者找到的 class 文件是 interface 或抽象类 3. Bean 类中没有 public 的无参数构建函数
WEB-INF的目录结构如下:
--->classes(必须的 存放你编写的java class)
--->web.xml(必须的)
--->其他
两个小问题你试一下,一个是那个WEB-INF目录下应该建文件夹是classes,而不是class,另外你的那个Bean原文件的第一个句是否有加package bean;试一下吧,不确定,这些小问题都是在尝试中慢慢发现的。
Tomcat 报告 “The value for the useBean class attribute XXX is invalid” 这个错误可能源于以下几个原因: 1. 在编译 JSP 时 ,指定的 Bean 类没找到 2. Bean 虽然找到了,但是该类不是 public 的,或者找到的 class 文件是 interface 或抽象类 3. Bean 类中没有 public 的无参数构建函数
WEB-INF的目录结构如下:
--->classes(必须的 存放你编写的java class)
--->web.xml(必须的)
--->其他
两个小问题你试一下,一个是那个WEB-INF目录下应该建文件夹是classes,而不是class,另外你的那个Bean原文件的第一个句是否有加package bean;试一下吧,不确定,这些小问题都是在尝试中慢慢发现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询