JavaWeb-简单的注册登录例子

来源:互联网 发布:淘宝经营地怎么改 编辑:程序博客网 时间:2024/05/17 23:47

简单的注册登录例子


要求:
1.用户名
2.密码
3.密码找回问题
4.答案
(首先必须判断用户名是否可用)


LoginResServlet.java

package com.xieth.javaweb;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class LoginResServlet extends HttpServlet {    sqlDemo sqlD = null;    @Override    public void init(ServletConfig config) throws ServletException {        try {            sqlD = new sqlDemo();        } catch (Exception e) {            e.printStackTrace();        }    }    @Override    protected void doPost(HttpServletRequest req, HttpServletResponse resp)            throws ServletException, IOException {        resp.setContentType("text/html;charset=utf-8");        req.setCharacterEncoding("utf-8");        String action = req.getParameter("action");        PrintWriter out = resp.getWriter();        // 注册        if (action.equals("Register")) {            String name = req.getParameter("name");            String password = req.getParameter("password");            String passwordProblm = req.getParameter("passwordProblem");            String problemResult = req.getParameter("problemResult");            boolean isEmpty = (name != null && !name.equals("")                    && password != null && !password.equals("")                    && passwordProblm != null && !passwordProblm.equals("")                    && problemResult != null && !problemResult.equals(""));            System.out.println(isEmpty);            if (isEmpty) {                try {                    boolean flag = sqlD.InsertData(name, password,                            passwordProblm, problemResult);                    if (flag) {                        out.println("<h1>恭喜你" + name                                + ":注册成功点击<a href='login.html'>登录</a></h1>");                    } else {                        out.println("<h1>Soory"                                + name                                + ":注册失败,该用户已经存在,点击<a href='Register.html'>重新注册</a></h1>");                    }                } catch (Exception e) {                    e.printStackTrace();                }            } else {                out.println("<h1>所以选项均不可以为空!!!点击<a href='Register.html'>重新注册</h1>");            }        } else { // 登录            String name = req.getParameter("name");            String password = req.getParameter("password");            try {                boolean flag = sqlD.LoginCorrect(name, password);                if (flag) {                    out.println("<h1>欢迎你:" + name + "</h1>");                } else {                    out.println("<h1>SOrry密码错误!点击重新<a href='login.html'>登录</a></h1>");                }            } catch (Exception e) {                e.printStackTrace();            }        }    }    @Override    protected void doGet(HttpServletRequest req, HttpServletResponse resp)            throws ServletException, IOException {        this.doGet(req, resp);    }}class sqlDemo {    private Connection conn = null;    private Statement statement = null;    public sqlDemo() throws Exception {        conn = getConnection();        statement = conn.createStatement();    }    // 查看登录用户名和密码是否正确    public boolean LoginCorrect(String name, String password) throws Exception {        String sql = "select * from logindemo where name = '" + name + "'";        ResultSet rs = statement.executeQuery(sql);        // 查看是否合法        while (rs.next()) {            if (name.equals(rs.getString("name"))                    && password.equals(rs.getString("password")))                return true;        }        rs.close();        return false;    }    // 插入数据    public boolean InsertData(String name, String password,            String passwordProblm, String problemResult) throws Exception {        String sql = "insert into logindemo values ('" + name + "','"                + password + "','" + passwordProblm + "','" + problemResult                + "')";        String isAgainSql = "select name from logindemo where name = '" + name                + "'";        ResultSet rs = statement.executeQuery(isAgainSql);        // 查看是否用户名重复        while (rs.next()) {            if (rs.getString("name").equals(name)) {                return false;            }        }        statement.executeUpdate(sql);        rs.close();        return true;    }    private Connection getConnection() throws Exception {        String driverClass = "com.mysql.jdbc.Driver";        String url = "jdbc:mysql:///hello?useUnicode=true&characterEncoding=utf8";        String user = "root";        String password = "123456";        // 注册加载驱动        Class.forName(driverClass);        // 获取连接        Connection conn = DriverManager.getConnection(url, user, password);        System.out.println(conn);        return conn;    }}

Register.html

<!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="LoginResServlet" method="post">        用户名:<input type="text" name="name"> 密码:<input type="password"            name="password"> 密码找回问题:<input type="text"            name="passwordProblem"> 答案:<input type="text"            name="problemResult"> <input type="submit" value="注册">        <input type="hidden" name="action" value="Register">    </form></body></html>

login.html

<!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="LoginResServlet" method="post">        用户名:<input type="text" name="name"> 密码:<input type="password"            name="password"> <input type="submit" value="登录"> <input            type="hidden" name="action" value="login">    </form></body></html>

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_3_0.xsd"    id="WebApp_ID" version="3.0">    <servlet>        <servlet-name>LoginResServlet</servlet-name>        <servlet-class>com.xieth.javaweb.LoginResServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>LoginResServlet</servlet-name>        <url-pattern>/LoginResServlet</url-pattern>    </servlet-mapping></web-app>

3 0
原创粉丝点击