jsp连接数据库问题(寡人是菜鸟级人物)
连接数据库的bean
package conb;
import java.sql.*;
public class ConnectBean{
private Connection con;
private ResultSet rs;
//类方法 建立数据库连接
public static Connection getConnection() throws SQLException{
try{Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ");
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
return DriverManager.getConnection( "jdbc:microsoft:sqlserver:1433;databaseName=myblog ", "sa ", "lluuzhou ");
}
//SQL查询语句
public ResultSet executeQuery(String sql){
Statement st=null;
ResultSet rs=null;
try{
con=ConnectBean.getConnection();
st=con.createStatement();
rs=st.executeQuery(sql);
}
catch(SQLException e)
{
System.err.print(e);
}
return rs;
}
//SQL修改语句
public int executeUpdate(String sql){
Statement st=null;
int rs=0;
try{
con=ConnectBean.getConnection();
st=con.createStatement();
rs=st.executeUpdate(sql);
}
catch(SQLException e)
{
System.err.print(e);
}
finally
{
try{
……
……
//jsp页面文件
<%@page contentType= "text/html;charset=gb2312 " language= "java " import= "java.sql.* " errorPage= " "%>
<%@page import= "conb.ConnectBean "%>
<jsp:useBean id= "condb " scope= "session " class= "conb.ConnectBean "> </jsp:useBean>
<%
//获取前台登陆信息(姓名、密码)
String user_n=String.valueOf(session.getAttribute( "user_name "));
String pass_w=String.valueOf(session.getAttribute( "pass_word "));
if(user_n!=null&&pass_w!=null)
//连接数据库
//String sql= "SELECT * FROM manage WHERE admin= ' "+user_n+ " 'AND password= ' "+pass_w+ " ' ";
ResultSet rs=condb.executeQuery( "SELECT * FROM manage WHERE admin= ' "+user_n+ " 'AND password= ' "+pass_w+ " ' ");
if(rs.next()){
response.sendRedirect( "manage.jsp ");
}
else{
out.print( "…… ");
}
%>
执行到这个页面的时候就会出错,
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 12 in the jsp file: /admin/check.jsp
Syntax error, insert "AssignmentOperator Expression " to complete Assignment
An error occurred at line: 12 in the jsp file: /admin/check.jsp
Syntax error, insert "; " to complete Statement
An error occurred at line: 12 in the jsp file: /admin/check.jsp
ResultSet cannot be resolved
里面的12行 指的的是
ResultSet rs=condb.executeQuery( "SELECT * FROM manage WHERE admin= ' "+user_n+ " 'AND password= ' "+pass_w+ " ' ");
连接不上数据库,不知道什么问题,难道是jdbc驱动的包找不到,我安装了啊 ,环境变量里面也设置了,还把那三个包都拷到tomcat的lib目录里面,和java的lib 里面,可还是不行,网上说sqlserver2000要下一个sp4才能用,于是我有装了sp4,还是没有用,
菜鸟级人物请大侠们不吝赐教!!
[解决办法]
我来吊你!
用getParameter()试试.
[解决办法]
rs=st.executeQuery(sql);就是调的本身的函数,你不死循环么?
[解决办法]
把单引号去掉试试
用PrepareStatement,比这个好用得多,写SQL时也没有这么复杂
[解决办法]
Connection conn=DriverManager.getConnection( "jdbc:microsoft:sqlserver://localhost:1433;database=myblog ", "sa ", "lluuzhou ");
[解决办法]
写成连接池就行了啊,怎么写得这么复杂还不通用
[解决办法]
寡人?
念汝年幼,政赦你无罪。
[解决办法]
你说错了,你不是‘寡人’,你应叫自已‘哀家’才对
[解决办法]
不能用连接池,因为他是基于页面的,
用他时,web.xml要被调用,也就是说,要把他发布到服务器上,调用Servlet 再转到页面才能显示,
用他不能在main()中测试
[解决办法]
还把那三个包都拷到tomcat的lib目录里面,和java的lib 里面
用eclipse没?这样可以不用手动去拷贝包的 以及项目的发布 都很方便
[解决办法]
偶是菜鸟,弱弱的问一句:
'是什么啊?
[解决办法]
不能编译jsp文件,你找找看tomcat的common文件夹的lib里面有没有tools.jar包,如果没有到jdk下面去拷贝一个来,再试试,另外,检查一下jsp文件有没有错误
我的异常网推荐解决方案:org.apache.jasper.JasperException: Unable to compile class,http://www.myexception.cn/j2ee/2308.html