JSP:注册&登录

Posted Andy 胡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP:注册&登录相关的知识,希望对你有一定的参考价值。

数据库:mysql

  除了_id自动增长,其余全是varchar

注册:register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP \'Register.jsp\' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="css/ah.css" />
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    function chkUname() {
        var v = $("input[name=\'uname\']").val();
        if (v.trim() == "") {
            alert("用户名不能为空");
            return false;
        }
        return true;
    }

    function chkPwd() {
        var v = $("input[name=\'pwd\']").val();
        if (v.trim() == "") {
            alert("密码不能为空");
            return false;
        }
        return true;
    }

    function chkPwd2() {
        var pwd1 = $("input[name=\'pwd\']").val();
        var pwd2 = $("input[name=\'pwd2\']").val();
        if (pwd1 != pwd2) {
            alert("两次输入的密码不一致");
            return false;
        }
        return true;
    }

    function chkEmail() {
        var v = $("input[name=\'email\']").val();
        if (v.trim() == "") {
            alert("邮箱不能为空");
            return false;
        }

        // 格式匹配
        var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
        if (!reg.test(v)) {
            alert("邮箱的格式不正确");
            return false;
        }
        return true;
    }
    function check() {
        if (chkUname() && chkPwd() && chkPwd2() && chkEmail()) {
            return true;
        }
        return false;
    }
</script>

</head>

<body>
    <form action="S003User?approach=register" method="post"
        onsubmit="return check();">
        <table align="center" border="0" class="padding_top">
            <tr>
                <td colspan="3" class="title_1">用户注册</td>
            </tr>
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="uname" onblur="chkUname()"></td>
                <td><span class=\'must_w\'>*</span></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="pwd" onblur="chkPwd()"></td>
                <td><span class=\'must_w\'>*</span></td>
            </tr>
            <tr>
                <td>密码确认:</td>
                <td><input type="password" name="pwd2" onblur="chkPwd2()"></td>
                <td><span class=\'must_w\'>*</span></td>
            </tr>
            <tr>
                <td>邮箱:</td>
                <td><input type="text" name="email" onblur="chkEmail()"></td>
                <td><span class=\'must_w\'>*</span></td>
            </tr>
            <tr>
                <td>手机:</td>
                <td><input type="text" name="tel"></td>
            </tr>
            <tr>
                <td colspan="3" align="center"><input type="submit" value="提交" />
                    &nbsp;&nbsp;<input type="reset" value="重置" /> <a href="login.jsp">去注册</a>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

登录:login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP \'login.jsp\' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="css/ah.css" />
<script type="text/javascript" src="js/jquery.min.js"></script>

</head>

<body>
    <!-- <form action="S003User?t=login" method="post"> -->
    <form action="S003User?approach=login" method="post"
        onsubmit="return check();">
        <table align="center" border="0" class="padding_top">
            <tr>
                <td colspan="3" class="title_1">用户登录</td>
            </tr>
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="uname" onblur="chkUname()"></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="pwd" onblur="chkPwd()"></td>
            </tr>
            <tr>
                <td colspan="3" align="center"><input type="submit" value="提交" />
                    &nbsp;&nbsp;<input type="reset" value="重置" /> <a
                    href="register.jsp">直接登录</a></td>
            </tr>
        </table>
    </form>
</body>
</html>

CSS:ah.css

#tag {
    color: red;
    background-color: #00FFFF;
    border-radius: 3px;
    padding: 5px;
}

/* 必须输入 */
.must_w {
    color: red;
}
/* 上隔离 */
.padding_top {
    padding-top: 50px;
}

/* 页面标题1 */
.title_1 {
    font-family: "微软雅黑";
    font-size: larger;
    font-weight: bold;
}

 

Servlet:S003User.java

package org.ah.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.ah.bean.UserBean;
import org.ah.dao.UserDao;

public class S003User extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        int ret = 0;
        String uName = request.getParameter("uname");
        String uPwd = request.getParameter("pwd");
        UserDao dao = new UserDao();

        String approach = request.getParameter("approach");
        if ("register".equals(approach)) {
            // 注册
            String eMail = request.getParameter("email");
            String tel = request.getParameter("tel");
            UserBean u = new UserBean(uName, uPwd, eMail, tel);
            ret = dao.register(u);
            if (ret > 0) {
                response.sendRedirect("login.jsp");
            } else {
                response.sendRedirect("register.jsp");
            }
        } else if ("login".equals(approach)) {
            // 登录
            UserBean u = new UserBean(uName, uPwd, "", "");
            ret = dao.login(u);
            if (ret > 0) {
                response.sendRedirect("ArticleListServlet");
            } else {
                response.sendRedirect("login.jsp");
            }
        }
    }
}

数据库连接:

package org.ah.dao;

import java.sql.*;

public class BaseDao {

    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/ahrecommend";
    public Connection conn;
    public PreparedStatement ps;
    public ResultSet rs;

    public void getConn() {
        try {
            Class.forName(DRIVER);
            conn = (Connection) DriverManager
                    .getConnection(URL, "root", "root");
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void closeConn() {

        try {
            if (conn != null) {
                conn.close();
                conn = null;
            }
            if (ps != null) {
                ps.close();
                ps = null;
            }
            if (rs != null) {
                rs.close();
                rs = null;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
package org.ah.dao;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.ah.bean.UserBean;

public class UserDao extends BaseDao {
    public int register(UserBean u) {
        int ret = 0;

        super.getConn();
        try {
            StringBuffer sb = new StringBuffer();
            sb.append(" INSERT INTO");
            sb.append("    usermst");
            sb.append("    VALUES");
            sb.append("    (");
            sb.append("     0,");// 自增
            sb.append("     ?,");
            sb.append("     ?,");
            sb.append("     

以上是关于JSP:注册&登录的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

抄袭的用Jsp+JavaBean+Mysql实现的登录和注册

jsp登录注册

JSP 登录与注册的小案例

如何在运行时加载的 jsp 中包含 html 片段?

jsp实现账户登录注册!