0x01 实验要求
采用JSP+Servlet+JavaBean+JDBC方式开发一个Web登录程序。
要求:数据库中建一个“用户名-密码”表,用户由页面上输入用户名和密码,单击【登录】按钮提交,程序通过JDBC访问数据库中的表来验证用户,验证通过转到主页并回显欢迎信息,否则跳转至出错页。
0x02 实验步骤
2.1 建立数据库与表
建表
mysql> create table userTable(id int AUTO_INCREMENT PRIMARY KEY,
-> username varchar(20),
-> password varchar(20)
-> );
插入两条数据
mysql> insert into userTable values(1,'v0w','v0wldl123');
Query OK, 1 row affected (0.00 sec)
mysql> insert into userTable values(2,'zz','zz250');
Query OK, 1 row affected (0.00 sec)
mysql> select * from userTable;
+----+----------+-----------+
| id | username | password |
+----+----------+-----------+
| 1 | v0w | v0wldl123 |
| 2 | zz | zz250 |
+----+----------+-----------+
2 rows in set (0.00 sec)
2.2 创建Java EE项目
在MyEclipse 中,选择主菜单【File】→【New】→【Web Project】,填写“Project Name”栏(为项目起名),项目命名为jsp_servlet_javabean_jdbc
2.3 编写jsp程序
本例只须写3个JSP文件:login.jsp(登录页)、main.jsp(主页)和error.jsp(出错页)
login.jsp
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head>
<title>简易留言板</title>
</head>
<body bgcolor="#E3E3E3">
<form action="mainServlet" method="post">
<table>
<caption>用户登录</caption>
<tr>
<td>用户名:</td>
<td>
<input type="text" name="username" size="20"/>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="password" size="21"/>
</td>
</tr>
</table>
<input type="submit" value="登录"/>
<input type="reset" value="重置"/>
</form>
如果没注册单击<a href="">这里</a>注册!
</body>
</html>
main.jsp
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head> <title>留言板信息</title></head>
<body>
<% out.print(request.getParameter("username"));%>,您好!欢迎登录留言板。
</body>
</html>
error.jsp
<%@ page language="java" pageEncoding="gb2312"%>
<html>
<head> <title>出错</title></head>
<body>
登录失败!单击<a href="login.jsp">这里</a>返回
</body>
</html>
2.4 构造Java类、创建JDBC
在项目src文件夹下建立包org.easybooks.test.model.vo
,其中创建名为UserTable
的Java类;建立包org.easybooks.test.jdbc
,在包下创建SqlSrvDBConn
类(JDBC),并往项目中添加JDBC驱动包。建立包org.easybooks.test.servlet
,在包下创建MainServlet
的Serverlet。
UserTable.java
package org.easybooks.test.model.vo;
public class UserTable {
private Integer id;
private String username;
private String password;
public Integer getId(){
return this.id;
}
public void setId(Integer id){
this.id=id;
}
public String getUsername(){
return this.username;
}
public void setUsername(String username){
this.username=username;
}
public String getPassword(){
return this