网上书城项目——前三阶段(Java实现)

本文详细介绍了使用Java实现网上书城项目的第一至第三阶段。首先,通过JavaScript对register.html进行表单验证,包括用户名、密码和邮箱的合法性。接着,实现了用户注册和登录功能,包括数据库操作、JavaBean、DAO和Service层的编写。最后,对代码进行了优化,包括页面动态化、内容抽取、BaseServlet的抽取以及数据封装和BeanUtils的使用。
摘要由CSDN通过智能技术生成

网上书城项目

第一阶段:使用JavaScript对register.html页面实现表单验证

需求

  • 验证用户名:必须由字母,数字下划线组成,并且长度为 5 到 12 位
  • 验证密码:必须由字母,数字下划线组成,并且长度为 5 到 12 位
  • 验证确认密码:和密码相同
  • 邮箱验证:xxxxx@xxx.com
  • 验证码:现在只需要验证用户已输入。因为还没讲到服务器。验证码生成

代码实现

<script type="text/javascript">
			// 页面加载完成之后
			$(function () {
   

				// 给注册绑定单击事件
				$("#sub_btn").click(function () {
   
					// 验证用户名:必须由字母,数字下划线组成,并且长度为5到12位
					//1 获取用户名输入框里的内容
					var usernameText = $("#username").val();
					//2 创建正则表达式对象
					var usernamePatt = /^\w{5,12}$/;
					//3 使用test方法验证
					if (!usernamePatt.test(usernameText)) {
   
						//4 提示用户结果
						$("span.errorMsg").text("用户名不合法!");

						return false;
					}

					// 验证密码:必须由字母,数字下划线组成,并且长度为5到12位
					//1 获取用户名输入框里的内容
					var passwordText = $("#password").val();
					//2 创建正则表达式对象
					var passwordPatt = /^\w{5,12}$/;
					//3 使用test方法验证
					if (!passwordPatt.test(passwordText)) {
   
						//4 提示用户结果
						$("span.errorMsg").text("密码不合法!");

						return false;
					}

					// 验证确认密码:和密码相同
					//1 获取确认密码内容
					var repwdText = $("#repwd").val();
					//2 和密码相比较
					if (repwdText != passwordText) {
   
						//3 提示用户
						$("span.errorMsg").text("确认密码和密码不一致!");

						return false;
					}

					// 邮箱验证:xxxxx@xxx.com
					//1 获取邮箱里的内容
					var emailText = $("#email").val();
					//2 创建正则表达式对象
					var emailPatt = /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/;
					//3 使用test方法验证是否合法
					if (!emailPatt.test(emailText)) {
   
						//4 提示用户
						$("span.errorMsg").text("邮箱格式不合法!");

						return false;
					}

					// 验证码:现在只需要验证用户已输入。因为还没讲到服务器。验证码生成。
					var codeText = $("#code").val();

					//去掉验证码前后空格
					// alert("去空格前:["+codeText+"]")
					codeText = $.trim(codeText);
					// alert("去空格后:["+codeText+"]")

					if (codeText == null || codeText == "") {
   
						//4 提示用户
						$("span.errorMsg").text("验证码不能为空!");

						return false;
					}

					// 去掉错误信息
					$("span.errorMsg").text("");

				});

			});

		</script>

第二阶段 :实现用户的注册和登录

需求1:用户注册

需求如下:

  1. 访问注册页面
  2. 填写注册信息,提交给服务器
  3. 服务器应该保存用户
  4. 当用户已经存在----提示用户注册 失败,用户名已存在
  5. 当用户不存在-----注册成功

需求2:用户登陆

需求如下:

  1. 访问登陆页面
  2. 填写用户名密码后提交
  3. 服务器判断用户是否存在
  4. 如果登陆失败 —>>>> 返回用户名或者密码错误信息
  5. 如果登录成功 —>>>> 返回登录成功信息

需要提前掌握的知识

JavaEE 项目的三层架构:

搭建书城项目开发环境

文件目录

代码实现

2.1 先创建书城需要的数据库和表

create table t_book(
	id int primary key auto_increment,
	name varchar(100) not null,
	price decimal(11,2) not null,
	author varchar(100) not null,
	sales int not null,
	stock int not null,
	img_path varchar(200) not null
);
insert into t_book(id , name , author , price , sales , stock , img_path)
values(null , '数据结构与算法' , '严敏君' , 78.5 , 6 , 13 , 'static/img/default.jpg');
...
select id,name,author,price,sales,stock,img_path from t_book;

2.2 编写数据库对应的JavaBean对象

public class User {
   

    private Integer id;
    private String username;
    private String password;
    private String email;

    public Integer getId() {
   
        return id;
    }

    public void setId(Integer id) {
   
        this.id = id;
    }

    public String getUsername() {
   
        return username;
    }

    public void setUsername(String username) {
   
        this.username = username;
    }

    public String getPassword() {
   
        return password;
    }

    public void setPassword(String password) {
   
        this.password = password;
    }

    public String getEmail() {
   
        return email;
    }

    public void setEmail(String email) {
   
        this.email = email;
    }

    @Override
    public String toString() {
   
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                '}';
    }

    public User() {
   
    }

    public User(Integer id, String username, String password, String email) {
   
        this.id = id;
        this.username = username;
        this.password = password;
        this.email = email;
    }
}

2.3 编写工具类JDbc.Utils

2.3.1 导入需要的 jar 包(数据库和连接池需要)
druid-1.1.9.jar
mysql-connector-java-5.1.7-bin.jar

以下是测试需要:
hamcrest-core-1.3.jar
junit-4.12.jar
2.3.2 在 src 源码目录下编写 jdbc.properties 属性配置文件
username=root
password=888
url=jdbc:mysql://localhost:3306/book
driverClassName=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值