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="提交" />
<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="提交" />
<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(" ?,");
sb.append(" ?");
sb.append(" )");
String strSQL = sb.toString();
ps = conn.prepareStatement(strSQL);
ps.setString(1, u.getuName());
ps.setString(2, u.getuPwd());
ps.setString(3, u.geteMail());
ps.setString(4, u.getTel());
ret = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
super.closeConn();
}
return ret;
} public int login(UserBean u) {
int ret = 0;
super.getConn();
try {
StringBuffer sb = new StringBuffer();
sb.append(" SELECT");
sb.append(" uName");
sb.append(" FROM");
sb.append(" usermst");
sb.append(" WHERE");
sb.append(" uName = ?");
sb.append(" AND");
sb.append(" uPwd = ?");
String strSQL = sb.toString();
ps = conn.prepareStatement(strSQL);
ps.setString(1, u.getuName());
ps.setString(2, u.getuPwd());
super.rs = ps.executeQuery();
if (rs.next()) {
// 查询到(一条)数据
ret = 1;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
super.closeConn();
}
return ret;
}
}
JSP:注册&登录的更多相关文章
- JSP注册登录页教程
转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6785258.html 一.准备工作 已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章< ...
- 我的第一个jsp程序-实现注册登录留言功能
1,注册功能,包括两个页面 zhuce.jsp注册页面 <%@ page language="java" contentType="text/html; chars ...
- JavaWeb笔记——注册登录系统项目思路
功能: > 注册 > 登录 --------------------------------- JSP: * login.jsp --> 登录表单 * regist ...
- 注册登录系统项目思路 -- javaweb
功能: > 注册 > 登录 --------------------------------- JSP: * login.jsp --> 登录表单 * re ...
- JavaWeb_利用Servlet处理注册登录请求
利用Servlet处理注册登录请求 程序结构 <%@page import="com.Gary.model.User"%> <%@ page language=& ...
- java使用face++简单实现人脸识别注册登录
java使用face++简单实现人脸识别注册登录 前言 人脸识别,好高大上!!! 理解之后很简单. 支付宝使用的就是face++, 至于face++账号信息,apikey…..,本文不做讲述,网上很多 ...
- 基于javaweb人脸识别注册登录系统
---恢复内容开始--- 现在是2019年,人脸识别技术已经相当成熟了,百度自2017年发布人脸识别技术,已经被广泛应用,不管从现在的iphoneX掀起的面部解锁到手机应用端的各种人脸认证,这一技术已 ...
- 一步步开发自己的博客 .NET版(3、注册登录功能)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做 ...
- Android开发案例 - 注册登录
本文只涉及UI方面的内容, 如果您是希望了解非UI方面的访客, 请跳过此文. 在微博, 微信等App的注册登录过程中有这样的交互场景(如下图): 打开登录界面 在登录界面中, 点击注册, 跳转到注册界 ...
随机推荐
- 线性代数笔记13——Ax=b的通解
关于最简行阶梯矩阵和矩阵秩,可参考<线性代数笔记7——再看行列式与矩阵> 召唤一个方程Ax = b: 3个方程4个变量,方程组有无数解,现在要关注的是b1b2b3之间满足什么条件时方程组有 ...
- jquery 实现的全选demo
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script sr ...
- 相似度与距离计算python代码实现
#定义几种距离计算函数 #更高效的方式为把得分向量化之后使用scipy中定义的distance方法 from math import sqrt def euclidean_dis(rating1, r ...
- 开通mysql root 用户远程访问权限(转)
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限.下面是基本的步骤:1.登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> ...
- Jmeter -- 属性和变量
一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...
- jQuery位置操作
position();获取当前标签相对于最近一个父标签中有positon:relative属性的位置. height();标签纯高度 innerHeight();标签内边距padding加上纯高度 o ...
- 在 ServiceModel 客户端配置部分中,找不到引用协定“IpsBarcode.ScanService”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。
一个类库引用了web service A,用另一个EXE做承载时,访问这个web service A时就提示:“在 ServiceModel 客户端配置部分中,找不到引用协定“IpsBarcode.S ...
- FastDFS配置 ***
FastDFS配置 docker pull delron/fastdfs docker run -dti --network=host --restart=always --name tracker ...
- WPF实现打印用户界面功能
方式一:public bool Print(string pathStr) { try { if (File.Exists(pathStr) == false) return false; var p ...
- host文件的用处
做Flash开发的人员免不了接触host文件. 1:首先你注册Flash软件.FlashBuilder都需要先修改host,然后再安装的.(具体的修改时在etc包里找到host文件,把一堆adobe的 ...