课堂测试代码:
<%@ page contentType="text/html; charset=gb2312"%>
<script language="JavaScript">
function isValidate(form){
userid=form.userid.value;
userpass=form.userpass.value;
if(userid.length<6){
alert("用户名的长度小于六。");
form.userid.focus();
return false;
}
if(userid.length>8){
alert("用户名的长度大于八。");
form.userid.focus();
return false;
}
if(userpass.length<6){
alert("密码的长度小于六。");
form.userpass.focus();
return false;
}
if(userpass.length>8){
alert("密码的长度大于八。");
form.userpass.focus();
return false;
}
if(userpass==username){
alert("密码与用户名不能相等");
form.userpass.focus;
return false;
}
}
</script>
<html>
<head>
<title>登录界面</title>
</head>
<body>
<h2 align="center">登录界面</h2>
<form name=form1 action="login" method="post" onsubmit="return isValidate(form1)">
<table align="center">
<tr>
<td>用户ID:</td>
<td><input type="text" name="userid" >6~8位</td>
</tr>
<tr>
<td>口令:</td>
<td><input type="password" name="userpass" >6~8位,且不能与用户ID相同</td>
</tr>
<tr>
<td><input type="reset" value="重置"></td>
<td><input type="submit" value="确定"></td>
</tr>
</table>
</form>
<table align="center">
<tr>
<td><input type="button" value="点击注册用户" onclick="window.location.href='register.jsp'" /></td>
</tr>
</table>
</body>
</html>
package servlets;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.http.*;
import bean.*;
public class LoginServlet extends HttpServlet {
//该方法用户验证用户名和密码
public int check(String userid,String userpass)
{
String URL="jdbc:mysql://127.0.0.1:3306/bookstore";
String NAME="root";
String PASS="*********";
String SQL="select userpass from userinfo where userid='"+userid+"'";
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//连接对象
Connection con=DriverManager.getConnection(URL, NAME, PASS);
//语句对象
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(SQL);
//得到该用户名的密码
String tmpPass="";
if(rs.next())
{
tmpPass=rs.getString(1);
}
//关闭对象,释放资源
rs.close();
stmt.close();
con.close();
//判断密码是否正确
if(tmpPass.equals(userpass))
{
return 1;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//获取用户的用户名和口令
request.setCharacterEncoding("utf-8");
String userid=request.getParameter("userid");
String userpass=request.getParameter("userpass");
int result=check(userid,userpass);
//要转向的文件
String forward;
//如果登录成功,就把用户名写入session中,并且转向success.jsp,
//否则转向failure.jsp
if(result==1){
forward="manager.jsp";
}
else
forward="login_failure.jsp";
RequestDispatcher dispatcher=request.getRequestDispatcher(forward);
//完成跳转
dispatcher.forward(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request,response);
}
}
程序运行截图:
课堂测试未及时完成原因:
不会连接数据库,因此许多功能无法实现。
希望与目标:
我希望能够自己编写一个网页,即使特别简陋。
每周花费6小时在这门课程上。