主题:关于在jsp中调用javabean来连接数据库的问题!!
我建立一个添加用户的界面,我调用javabean用连接池方法来连接数据库!代码都是光盘上来的!但是测试不成功。我不知道那里错了!!望高手指点迷津!!
我把DBConnManager.class文件放在...\Tomcat 4.1\webapps\ROOT\Code\06\WEB-INF\classes\test目录下了!
jsp文件放在...\Tomcat 4.1\webapps\ROOT\Code\06下我不知道是不是所有的class文件都要放在.../web-inf/classes目录下?
add2.html如下:
<html>
<head>
<title>填写新用户信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="connManager" scope="application" class="test.DBConnManager" />
<body bgcolor="#CFF1E1">
<center><h2>
填写新用户信息
</h2></center>
<%
String userid=request.getParameter("userid");
if(userid==null||userid.equals("")){
out.println("用户名不能为空,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
String number="1234567890";
for (int i=0;i<userid.length();i++)
{
char achar=userid.charAt(i);
if(!((achar>='a'&&achar<='z')||(achar>='A'&&achar<='Z')||(achar=='_')||(number.indexOf(achar)!=-1)))
{
out.println("用户名只能由字母、数字和下划线组成,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
}
char achar=userid.charAt(0);
if (!((achar>='a'&&achar<='z')||(achar>='A'&&achar<='Z')))
{
out.println("用户名首字母必须是字母,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
%>
<%
Connection con = connManager.getConnection("mysql");
if(con==null)
{
%>对不起,现在数据库忙,请稍后再试
<%
}
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("select * from Users where UserID='"+userid+"'");
if(!rs.next())
{
%>
<center>
<form action=add3.jsp method=post>
<input type=hidden name=userid value=<%=userid%>>
<table border=1>
<tr>
<td>用户名</td><td><%=userid%></td>
</tr>
<tr>
<td>姓名</td><td><input name=name></td>
</tr>
<tr>
<td>电子邮件</td><td><input name=email></td>
</tr>
<tr>
<td>住址</td><td><input name=address></td>
</tr>
</table>
<p></p>
<input type=submit value=提交>
<input type=reset value=重置>
</form>
</center>
<%
}else
{
out.println("此用户名已有人使用!<a href='javascript:history.back();'>请返回</a>");
}
rs.close();
stmt.close();
connManager.releaseConnection("mysql",con);
%>
</body>
</html>
我把DBConnManager.class文件放在...\Tomcat 4.1\webapps\ROOT\Code\06\WEB-INF\classes\test目录下了!
jsp文件放在...\Tomcat 4.1\webapps\ROOT\Code\06下我不知道是不是所有的class文件都要放在.../web-inf/classes目录下?
add2.html如下:
<html>
<head>
<title>填写新用户信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="connManager" scope="application" class="test.DBConnManager" />
<body bgcolor="#CFF1E1">
<center><h2>
填写新用户信息
</h2></center>
<%
String userid=request.getParameter("userid");
if(userid==null||userid.equals("")){
out.println("用户名不能为空,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
String number="1234567890";
for (int i=0;i<userid.length();i++)
{
char achar=userid.charAt(i);
if(!((achar>='a'&&achar<='z')||(achar>='A'&&achar<='Z')||(achar=='_')||(number.indexOf(achar)!=-1)))
{
out.println("用户名只能由字母、数字和下划线组成,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
}
char achar=userid.charAt(0);
if (!((achar>='a'&&achar<='z')||(achar>='A'&&achar<='Z')))
{
out.println("用户名首字母必须是字母,<a href='javascript:history.back();'>请返回</a>");
out.close();
}
%>
<%
Connection con = connManager.getConnection("mysql");
if(con==null)
{
%>对不起,现在数据库忙,请稍后再试
<%
}
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("select * from Users where UserID='"+userid+"'");
if(!rs.next())
{
%>
<center>
<form action=add3.jsp method=post>
<input type=hidden name=userid value=<%=userid%>>
<table border=1>
<tr>
<td>用户名</td><td><%=userid%></td>
</tr>
<tr>
<td>姓名</td><td><input name=name></td>
</tr>
<tr>
<td>电子邮件</td><td><input name=email></td>
</tr>
<tr>
<td>住址</td><td><input name=address></td>
</tr>
</table>
<p></p>
<input type=submit value=提交>
<input type=reset value=重置>
</form>
</center>
<%
}else
{
out.println("此用户名已有人使用!<a href='javascript:history.back();'>请返回</a>");
}
rs.close();
stmt.close();
connManager.releaseConnection("mysql",con);
%>
</body>
</html>