jsp登录注册代码数据库,jsp实现数据库注册
更新:2022-11-20 08:34
本文目录一览:
- jsp连接mysql数据库注册用户代码的问题
- 求大神写一下jsp的简单的注册界面代码。
- 这是一段JSP实现登录注册并链接数据库页面的代码,改这段代码的哪一部分才能连接到我指定的账号数据库
- 用jsp连接数据库实现登录注册
- [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的简单的注册界面代码。
- 需要一个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>
- 需要一个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("登录成功");
}
}
}
- 需要一个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>