一个servlet 登录的小例子
一个servlet 登录的小例子
- 进入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'); - 创建验证用户的类UserValidation,他的功能是通过用户的输入数据到数据库中查找该用户是否存在:
- package huzj.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;
- }
- }
- 创建一个servlet 完成分发LoginServlet;
- package huzj.login.control;
- import huzj.login.entity.User;
- import huzj.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();
- }
- }
- }
- 配置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>huzj.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>
- 创建一个登录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>
- 登录成功页面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>
- 结束。

浙公网安备 33010602011771号