Web教程---使用servlet实现登录页面

1.导入jQuery,便于接下来实现用户名,密码,确认密码的判断

在这里插入图片描述

2.新建一个Regservlet用来实现往数据库中添加新记录

需实现:检测数据库中是否已有该username,若存在该用户名,返回“对不起,该用户已存在”

package org.lanqiao.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

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

import org.lanqiao.util.DBUtil;

/**
 * Servlet implementation class Regservlet
 */
@WebServlet("/Regservlet")
public class Regservlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
   
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			//设置参数的字符集
		request.setCharacterEncoding("utf-8");
		
		String name=request.getParameter("username");
		String pass=request.getParameter("pass");
		
		//注册之前进行查询
		//创建数据库连接
		Connection conn=DBUtil.getConn();
		String selectSql="select * from stu_tab where name=?";
				
		//参数
		Object[] objs={name};
		
		//执行查询
		ResultSet rs=DBUtil.excuteQuery(selectSql, objs);
		try {
			if(!rs.next()) {
				//说明用户名没有注册
				String insertSql="insert into stu_tab(name,pass) values(?,?)";
				Object[] objs2= {name,pass};
				
				int result=DBUtil.excuteUpdate(insertSql, objs2);
				if(result>0) {
					//说明注册成功,跳回登录页
					response.sendRedirect("login.jsp");
				}else {
					request.setAttribute("msg", "注册失败,请联系客服");
					request.getRequestDispatcher("Reg.jsp").forward(request, response);
				}
			}else {
				request.setAttribute("msg", "对不起,该用户已存在");
				request.getRequestDispatcher("Reg.jsp").forward(request, response);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

3.创建Reg.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>注册</title>
</head>
<body>
<h1>
<%
	Object msg=request.getAttribute("msg");
if(msg!=null){
	out.println("<h1>"+msg+"</h1>");
}
%>
</h1>
	<form action="Regservlet" method="post" onsubmit="return checkForm()">
		用户名:		<input onblur="checkName()" id="username" type="text" name="username"/><span id="nameErr"></span><br/>
		密码:		<input onblur="checkPass()" id="pass" type="password" name="pass"/><span id="passErr"></span><br/>
		确认密码:		<input onblur="checkRepass()" id="repass" type="password" name="repass"/><span id="repassErr"></span><br/>
	<input type="submit" value="注册"/>
	</form>
</body>

<script src="js/jquery-1.11.0.js"></script>
	<script>
		function checkForm() {
			if(checkName() && checkPass() && checkRepass()) {
				return true;
			} else {
				return false;
			}

		}

		//检查用户名
		function checkName() {
			var username = $("#username").val();

			if(username.length > 6) {
				$("#nameErr").html("<font color='green'>输入正确</font>")

				return true;
			} else {
				$("#nameErr").html("<font color='red'>用户名是六位以上</font>")
				//				alert("用户名要六位以上!!!");
				return false;
			}
		}

		//检测密码
		function checkPass() {
			var pass = $("#pass").val();

			if(pass.length > 6) {
				$("#passErr").html("<font color='green'>输入正确</font>")

				return true;
			} else {
				$("#passErr").html("<font color='red'>密码需要六位以上</font>")

				//				alert("密码要六位以上!!!");
				return false;
			}
		}

		//检测确认密码
		function checkRepass() {
			var repass = $("#repass").val();
			var pass = $("#pass").val();

			if(repass == pass) {
				$("#repassErr").html("<font color='green'>输入正确</font>")

				return true;
			} else {
				$("#repassErr").html("<font color='red'>两次密码不同!</font>")

				//				alert("密码和确认密码不同!!!");
				return false;
			}
		}
		
		</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值