JSP+JavaBean+数据库连接问题
这几天一直在这里问问题
也解决了很多问题 感谢所有热心回答的同志们。
由于今天忙这解决问题,昨天提的一个问题到现在才结贴,不好意思!但还是感谢大家了。
不过现在又出现了新的问题:
我的JavaBean的源程序如下:(是一个数据库的连接操作)我用的是SqlServer 2005
package UserInfo;
import java.sql.*;
public class Conn
{
public static final String drivername=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static final String url=
"jdbc:sqlserver://localhost:1433; DatabaseName=EdocServer_db";
public static final String user="sa";
public static final String password="123456";
Connection conn=null;
ResultSet rs=null;
public Conn()
{
try
{
Class.forName(drivername);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{System.err.println(ex.getMessage());}
return rs;
}
}
编译已经通过,我把生成的Conn.class文件放到了WEB—INF/classes/UserInfo文件夹下了
有一个login_ok.jsp页面引用了这个Bean
代码如下:
<%@ page contentType="text/html;charset=GBK"%>
<HTML>
<HEAD>
<TITLE>重新登录</TITLE>
<META content="text/html;charset=gb2312" http-equiv="Content-Type">
<LINK href="css/site.css" rel=stylesheet>
<% @ page language="java" import="java.sql.*" %>
<jsp:useBean id="userBean" scope="page" class="UseInfo.Conn"/>
<%!
public String getStr(String str)
{
try
{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859-1");
return temp;
}
catch(Exception e)
{
}
return "null";
}
%>
<%!
String username,password;
boolean loginAttempt=false;
boolean loginOK=false;
String errorMessage="请您登录";
%>
<%
if(request.getParameterValues("login")!=null
&&request.getParamterValues("username")!=null
&&request.getParamterValues("password")!=null)
{
loginAttempt=true;
}
if(loginAttempt)
{
username=request.getParamterValues("username");
password=request.getParamterValues("password");
username=getStr(username);
password=getStr(password);
String sql="select * from userinfo where username='"+username"'+password='"+password"'";
//out.println(sql);
ResultSet RS=userBean.executeQuery(sql);
int rowscount=0;
try
{
while(RS.next())
{
rowscount++;
}
}
catch(Exception e)
{
}
//out.println(rowscount);
if(rowscount!=0)
{
errorMessage="登录成功!!!";
session.setAttribute("username",username);
loginOK=true;
if(loginOK)
{
response.sendRedirect("index.jsp");
}
}
else
{
errorMessage="您的用户名或者密码不正确!";
session.setAttribute("username","");
}
}
%>
<%
function jumptoreg()
{
window.location="reg.jsp";
}
%>
</head>
<body>
<center>
<table border="0" width="350">
<tr>
<td colspan="2" align="center">用户登录</td>
</tr>
<tr>
<td align="right" height="32" width="40%>
<font color="red"><%=errorMessage%></font></td>
</tr>
<form method="post" action="">
<tr>
<td align="right">用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td align="right">密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="登录">
<input type="reset" value="重填">
<input type="button" value="注册"
onClick="javascript:jumptoreg();">
</td>
</tr>
</form>
</table>
</center>
</html>
但是在编译不通过出现了如下问题:
javax.servlet.ServletException: UseInfo/Conn (wrong name: UserInfo/Conn)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:272)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
java.lang.NoClassDefFoundError: UseInfo/Conn (wrong name: UserInfo/Conn)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1812)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:866)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1150)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3305)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
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)
望高手帮忙解答,比较急这个问题。。。。
[解决办法]
<jsp:useBean id= "userBean " scope= "page " class= "UseInfo.Conn "/>
class= "UseInfo.Conn " => class= "UserInfo.Conn "
你代码写得好随意, jsp里面还有不少错误....
建议你用eclipse 或者netbeans去解决你jsp内的java语法错误.
[解决办法]
package UserInfo;
........少了个r