jsp登录注册代码数据库,jsp实现数据库注册

发布时间:2023-12-08

jsp登录注册代码数据库,jsp实现数据库注册

更新:2022-11-20 08:34

本文目录一览:

  1. jsp连接mysql数据库注册用户代码的问题
  2. 求大神写一下jsp的简单的注册界面代码。
  3. 这是一段JSP实现登录注册并链接数据库页面的代码,改这段代码的哪一部分才能连接到我指定的账号数据库
  4. 用jsp连接数据库实现登录注册
  5. [jsp做登录,注册页面 数据库](#jsp做登录,注册页面 数据库)

jsp连接mysql数据库注册用户代码的问题

stat=conn.prepareStatement("insert wei values(?,?,?)");
stat.setString(1,reg_name);
stat.setString(2,reg_pass);
stat.setString(3,reg_pass1);
if(reg_pass1!=(reg_pass)){
    out.println("<script>alert('密码不一致,请重新输入!');location.replace('zhuce.jsp')</script>");
    flag=false;
}
stat.executeUpdate();

这块代码把 if(reg_pass1!=(reg_pass)) 改成 if(!reg_pass1.equals(reg_pass)),要解决为什么插入数据库的问题,在 stat.executeUpdate(); 加个判断:

if(!flag){
    stat.executeUpdate();
}

求大神写一下jsp的简单的注册界面代码。

  1. 需要一个jsp页面:
<!-- login.jsp 核心代码 -->
<form action="${pageContext.request.contextPath}/servlet/UserServlet" method="post">
    <input type="text" name="loginname" />
    <input type="password" name="password" />
    <input type="submit" value="登录" />
</form>
  1. 需要一个servlet来验证登录信息:
// UserServlet 核心代码
class UserServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        process(request, response);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        process(request, response);
    }
    private void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter pw = response.getWriter();
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        String loginname = request.getParameter("loginname");
        String password = request.getParameter("password");
        // 创建一个service来处理业务逻辑(包括查询数据库操作)
        UserService service = new UserService();
        boolean bool = service.validateUser(loginname, password);
        if (!bool) {
            pw.println("用户名或密码错误");
        } else {
            pw.println("登录成功");
        }
    }
}
  1. 需要一个service处理业务逻辑(包括查询数据库操作):
// UserService 核心代码
public class UserService {
    /**
     * 查询数据库验证用户是否存在,返回boolean
     */
    public boolean validateUser(String loginname, String password) {
        boolean bool = false;
        Connection conn = null;
        PreparedStatement ps = null;
        // 这里以mysql为例
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
            String sql = "select login_name,pass_word from t_user where login_name=? and pass_word=?";
            ps = conn.prepareStatement(sql);
            ps.setString(0, loginname);
            ps.setString(1, password);
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                bool = true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (conn != null) {
                    conn.close();
                    conn = null;
                }
                if (ps != null) {
                    ps.close();
                    ps = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return bool;
    }
}

这是一段JSP实现登录注册并链接数据库页面的代码,改这段代码的哪一部分才能连接到我指定的账号数据库

主要修改以下三行:

String url = "jdbc:sqlserver://localhost:1433; DatabaseName = 你的数据库名";
String username = "sa"; // 你的连接用户
String password = "123"; // 你的密码

用jsp连接数据库实现登录注册

建议使用 html+servlet 或者 jsp+servlet,通过 ajax 将数据提交到后台 servlet 校验,可实现无刷新提交。

jsp做登录,注册页面 数据库

jsp登录注册页面都需要查询和插入数据库的,还要检查注册信息存不存在。 完整例子如下:

用户信息的bean:

package chen;
public class UserBean {
    private String userid;
    private String password;
    public void setUserId(String userid) {
        this.userid = userid;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getUserId() {
        return this.userid;
    }
    public String getPassword() {
        return this.password;
    }
}

提交数据库的bean:

package chen;
import com.mysql.jdbc.Driver;
import java.sql.*;
public class UserRegister {
    private UserBean userBean;
    private Connection con;
    // 获得数据库连接。
    public UserRegister() {
        String url = "jdbc:mysql://localhost/" + "chao" + "?user=" + "root" + "&password=" + "850629";
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection(url);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    // 设置待注册的用户信息。
    public void setUserBean(UserBean userBean) {
        this.userBean = userBean;
    }
    // 进行注册
    public void regist() throws Exception {
        String reg = "insert into userinfo(userid,password) values(?,?)";
        try {
            PreparedStatement pstmt = con.prepareStatement(reg);
            pstmt.setString(1, userBean.getUserId());
            pstmt.setString(2, userBean.getPassword());
            pstmt.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
    }
}

提交注册数据进入数据库:

<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312"%>
<%@ page import="chen.*" %>
<jsp:useBean id="userBean" class="chen.UserBean" scope="request">
    <jsp:setProperty name="userBean" property="*"/>
</jsp:useBean>
<jsp:useBean id="regist" class="chen.UserRegister" scope="request"/>
<html>
<head>
    <title>用户信息注册页面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
    String userid = request.getParameter("userid");
    String password = request.getParameter("password");
    userBean.setUserId(userid);
    userBean.setPassword(password);
    System.out.println(userid + password);
%>
<%
    try {
        regist.setUserBean(userBean);
        out.println(userid);
        regist.regist();
        out.println("注册成功");
    } catch (Exception e) {
        out.println(e.getMessage());
    }
%>
<br>
<a href="login.jsp">返回</a>
</body>
</html>

登陆验证页面:

<%@page import="java.sql.*" contentType="text/html;charset=GB2312" %>
<%@page import="java.util.*"%>
<%
    String userid1 = new String(request.getParameter("userid"));
    String password1 = new String(request.getParameter("password"));
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/chao", "root", "850629");
    Statement stmt = con.createStatement();
    String sql = "select * from userinfo where userid='" + userid1 + "';";
    ResultSet rs = stmt.executeQuery(sql);
    if (rs.next()) {
        String password = new String(rs.getString("password"));
        if (password.equals(password1)) {
            session.setAttribute("userid1", userid1);
            response.sendRedirect("sucess.jsp");
        } else {
            response.sendRedirect("login.jsp");
        }
    } else {
        response.sendRedirect("login.jsp");
    }
%>

登陆页面:

<%@ page contentType="text/html; charset=gb2312" %>
<html>
<body>
<form method="get" action="checklogin.jsp">
    <table>
        <tr>
            <td>输入用户名:</td>
            <td><input type="text" name="userid" /></td>
        </tr>
        <tr>
            <td>输入密码:</td>
            <td><input type="password" name="password" /></td>
        </tr>
        <tr>
            <td><input type="submit" value="确认" /></td>
        </tr>
    </table>
</form>
<form action="register.jsp">
    <input type="submit" value="注册" />
</form>
</body>
</html>

注册页面:

<%@page contentType="text/html; charset=gb2312" language="java" import="java.util.*,java.io.*"%>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<center>
    <h1>注册新用户</h1>
    <form action="adduser.jsp" method="post">
        <table border="1" bgcolor="#0099CC">
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="userid" /></td>
            </tr>
            <tr valign="middle">
                <td>密码:</td>
                <td><input type="password" name="password" readonly /></td>
            </tr>
            <tr>
                <td><input type="submit" value="提交" /></td>
            </tr>
        </table>
    </form>
</center>
</body>
</html>

登陆成功页面:

<%@page import="java.util.*" contentType="text/html; charset=gb2312" %>
<%@include file="trans.jsp"%>
<html>
<head>
    <title>sucess</title>
</head>
<body bgcolor="#ffffff">
    <h1>登录成功,欢迎您!</h1>
    <%=trans(session.getAttribute("userid1"))%>
</body>
</html>