1、组成部分:
登入页面——enter_form.jsp
JavaBean——testLogin.java(私有变量:id,userName,passWord)
查询页面——userQuery.jsp
更新页面——userUpdate.jsp
新用户登记页面——userInsert.jsp
删除页面——userDelete.jsp
工具包——DButil.java
用户信息核对类——JDBCDemo.java
几个跳转页面——action.jsp/action3.jsp/action4.jsp
2、具体代码及注释:
#enter_form.jsp#
action="action.jsp" method="post"
name="form1">
登入页面
//如果输入信息有误,跳转回当前页面并给出用户相应提示信息msg
String
msg = (String) session.getAttribute("msg");
if
(msg != null) {
session.removeAttribute("msg"); //删除msg内容,因为第一次登入没有错误信息提示
out.println(msg
+ "
");
}
%>
用户名:
type="text" name="userName" value="">
/>
密 码 :
type="password" name="passWord" value="">
/>
type="submit" name="Submit" value="提交">
type="reset" name="Reset" value="重置">
href="userQuery.jsp">查询全部用户信息
//提供查询全部用户信息的链接href="userInsert.jsp">添加新用户
//如果你是新用户,可以添加新信息#action.jsp#
id="user" class="com.witbridge.sabrina.testLogin"
scope="request">
name="user" property="*" />
String
userName = user.getUserName();
String
password = user.getPassword();
//若用户无输入或者输入为空格,则不连接数据库,转向enter_form.jsp
if (userName
== null || password == null || "".equals(userName.trim()) ||
"".equals(password.trim())) {
session.setAttribute("msg",
"please input!");
response.sendRedirect("enter_form.jsp");
//否则创建对象进行判断进入相应页面
} else
{
JDBCDemo jdbcDemo = new JDBCDemo();
testLogin isExist = new testLogin();
isExist = jdbcDemo.login(userName, password);
if (isExist != null) {
out.println("欢迎"
+ isExist.getUserName() + "登入");
} else {
session.setAttribute("msg",
"login fail!");
response.sendRedirect("enter_form.jsp");
}
}
%>
#JDBCDemo.java#
package com.witbridge.sabrina;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCDemo {
public testLogin login(String
name,String pwd){
Connection conn = null;
PreparedStatement ps =
null;
ResultSet result = null;
testLogin t = null;
try {
conn =
DBUtil.getConn();
String sql =
"select * from login where userName = ? and passWord =
?";
//用?作为占位符,一一匹配
ps =
conn.prepareStatement(sql); //preparedStatement需要传参数,预处理
ps.setString(1,
name); //序号从1开始
ps.setString(2,
pwd);
result =
ps.executeQuery(); //初始状态指向第一条结果的前面
if(result.next()){
t
= new testLogin();
t.setUserName(result.getString("userName"));
t.setPassWord(result.getString("passWord"));
}
} catch
(SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(conn,
ps); //关闭连接
}
return
t;
}
}
#DBUtil.java#package
com.witbridge.sabrina;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static String url =
"jdbc:mysql://localhost:3306/test";
private
static String userName = "root";
private
static String passWord = "root";
private static Connection conn = null;
public static Connection getConn(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn =
DriverManager.getConnection(url, userName, passWord);
}
catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e)
{
e.printStackTrace();
}
return
conn;
}
public static void close(Connection conn,Statement st){
if(conn != null){
try {
conn.close();
} catch
(SQLException e) {
e.printStackTrace();
}
}
if(st
!= null){