1.proc-login.jsp
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="GB18030" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="Ds" scope="page" class="DataBase.DataSource" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>身份验证</title>
</head>
<body style = "background:#ddd;">
<%
request.setCharacterEncoding("GB18030");
/* 从数据库中核实登录用户 */
Ds.ConnMysql("users");
String sqlLookup = "select * from userinfo";
ResultSet rs = Ds.execSql(sqlLookup);
String queryName = null;
String queryPwd = null;
boolean isInDb = false;
while(rs.next())
{
String dbName = rs.getString("name");
String dbPwd = rs.getString("password");
queryName= request.getParameter("userName");
queryPwd = request.getParameter("userPwd");
if(queryName.equals(dbName) && queryPwd.equals(dbPwd))
{
isInDb = true;
break;
}
}
rs.close();
Ds.closeState();
Ds.closeConn();
if(isInDb)
{
response.setHeader("Refresh", "3; url=../../index.jsp");
}
else
{
RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
rd.forward(request, response);
}
%>
</body>
</html>
2.DataSource.java
package DataBase;
import java.sql.*;
public class DataSource {
private Statement state = null;
private Connection dbConn = null;
ResultSet results = null;
public DataSource() {
}
public void ConnObdc(String name) throws Exception // 连接数据库
{
try {
String dbDrv = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(dbDrv);
String dbUrl = "jdbc:odbc:" + name;
dbConn = DriverManager.getConnection(dbUrl, "", ""); // 数据库、用户名、密码
// ,创建连接对象
} catch (SQLException e) // 异常处理
{
System.err.println("Data.executeQuery: " + e.getMessage());
}
}
public void ConnMysql(String dbName) throws Exception // 连接数据库
{
try {
String mysqlUser = "root";
String mysqlPwd = "123456";
String dbDrv = "com.mysql.jdbc.Driver";
Class.forName(dbDrv);
String url = "jdbc:mysql://localhost/" + dbName + "?user="
+ mysqlUser + "&password=" + mysqlPwd;
dbConn = DriverManager.getConnection(url); // 创建连接对象
} catch (SQLException e) // 异常处理
{
System.err.println("Conn err");
System.err.println("Data.executeQuery: " + e.getMessage());
}
}
public ResultSet execSql(String sql) {
results = null;
try {
state = dbConn.createStatement(); // 创建访问数据库的对象
results = state.executeQuery(sql); // 查询并返回结果
} catch (SQLException e) {
System.err.println("execSql err");
System.err.println("state.executeQuery: " + e.getMessage());
}
return results;
}
public void closeState() {
try {
state.close(); // 关闭访问数据库的对象
} catch (SQLException e) {
System.err.println("state.close: " + e.getMessage());
}
}
public void closeConn() {
try {
dbConn.close(); // 断开连接
} catch (SQLException e) {
System.err.println("dbConn.close: " + e.getMessage());
}
}
}
3.proc-login.jsp
<%@ page language="java" contentType="text/html;charset=gb2312" pageEncoding="GB18030" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<jsp:useBean id="Ds" scope="page" class="DataBase.DataSource" />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>身份验证</title>
</head>
<body style = "background:#ddd;">
<%
request.setCharacterEncoding("GB18030");
/* 从数据库中核实登录用户 */
Ds.ConnMysql("users");
String sqlLookup = "select * from userinfo";
ResultSet rs = Ds.execSql(sqlLookup);
String queryName = null;
String queryPwd = null;
boolean isInDb = false;
while(rs.next())
{
String dbName = rs.getString("name");
String dbPwd = rs.getString("password");
queryName= request.getParameter("userName");
queryPwd = request.getParameter("userPwd");
if(queryName.equals(dbName) && queryPwd.equals(dbPwd))
{
isInDb = true;
break;
}
}
rs.close();
Ds.closeState();
Ds.closeConn();
if(isInDb)
{
response.setHeader("Refresh", "3; url=../../index.jsp");
}
else
{
RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
rd.forward(request, response);
}
%>
</body>
</html>
4.ok-login.jsp
<html>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录成功</title>
</head>
<body style = "background:#ddd;">
<%
request.setCharacterEncoding("GB18030");
String name = request.getParameter("userName");
out.println("欢迎你:" + name);
%>
</body>
</html>
5.index.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<html>
<a href = "Login/Webs/login.jsp">登录</a>
</html>