本文转自:
http://blog.csdn.net/huzjtech/archive/2008/06/29/2596772.aspx
1.进入mysql,创建数据库和表:
mysql>CREATE DATABASE demo;
mysql>CREATE TABLE user(
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB;
mysql>use demo;
mysql>insert into user(id,username,password) values(default,'admin','admin');
mysql>insert into user(id,username,password) values(default,'huzjtech','123456');
2.创建验证用户的类UserValidation,他的功能是通过用户的输入数据到数据库中查找该用户是否存在:
package com.jay.login.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UserValidation {
private String username;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public boolean validate() throws SQLException, ClassNotFoundException {
boolean flag = false;
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/demo";
Connection conn = DriverManager.getConnection(url, "root", "password");
PreparedStatement ps = conn
.prepareStatement("select * from user u where u.username=? and u.password=?");
ps.setString(1, username);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
flag = true;
}
return flag;
}
}
3.创建一个servlet 完成分发LoginServlet;
package com.jay.login.control;
import com.jay.login.jdbc.UserValidation;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LoginServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Log logger = LogFactory.getLog(getClass());
logger.info("process this ....");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserValidation uv = new UserValidation();
uv.setUsername(username);
uv.setPassword(password);
String url1 = "/loginsuccess.jsp";
String url2 = "/login.jsp";
try {
if (uv.validate() == true) {
request.setAttribute("username", username);
getServletContext().getRequestDispatcher(url1).forward(request,
response);
} else {
// response.sendError(404, "Loging failure...!");
getServletContext().getRequestDispatcher(url2).forward(request,
response);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.配置web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>jdbc-first-app-login</display-name>
<servlet>
<servlet-name>userlogin</servlet-name>
<servlet-class>com.jay.login.control.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userlogin</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
5.创建一个登录login.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login">
userName:<input type="text" name="username">
userPassword:<input type="password" name="password">
<input type="submit" value="Submit">
</form>
</body>
</html>
6.登录成功页面loginsuccess.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>Login Success!</h1>
<p>Hello,<b><%=request.getAttribute("username")%></b>!</p>
</body>
</html>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huzjtech/archive/2008/06/29/2596772.aspx