Javaweb网上商城项目实战(5)用户注册准备工作

准备工作

创建实现类

按照如图方式创建实现类,为什么要按这种方式创建呢?原因就是要解耦,后面再细说。

创建UserServlet

在com.geekerstar.store.web.servlet包下创建UserServlet。

创建User类

在domain包下创建User类,这个需要根据数据库来创建,属性名字和列的名字保持一致,生成get、set方法,无参、有参构造方法,toString方法。

package com.geekerstar.store.domain;

import java.util.Date;

public class User {
	private String uid; //用户编号
	private String username; //用户账户
	private String password;//用户密码
	private String name;//用户昵称
	private String email;//用户邮箱
	private String telephone;//用户电话
	private Date birthday;//用户生日
	private String sex;//用户性别
	private int state;//用户状态   1:激活 0:未激活
	private String code; //激活码
	public String getUid() {
		return uid;
	}
	public void setUid(String uid) {
		this.uid = uid;
	}
	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 getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getTelephone() {
		return telephone;
	}
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
			this.birthday = birthday;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public User() {
		// TODO Auto-generated constructor stub
	}
	public User(String uid, String username, String password, String name, String email, String telephone,
			Date birthday, String sex, int state, String code) {
		super();
		this.uid = uid;
		this.username = username;
		this.password = password;
		this.name = name;
		this.email = email;
		this.telephone = telephone;
		this.birthday = birthday;
		this.sex = sex;
		this.state = state;
		this.code = code;
	}
	@Override
	public String toString() {
		return "User [uid=" + uid + ", username=" + username + ", password=" + password + ", name=" + name + ", email="
				+ email + ", telephone=" + telephone + ", birthday=" + birthday + ", sex=" + sex + ", state=" + state
				+ ", code=" + code + "]";
	}
	
}

页面路径跳转

运行过上一节的程序的可能会发现,我们点击注册就直接跳到注册的jsp页面了,实际开发中,我们不会这么做,而是先请求到Servlet,再由Servlet转发到JSP页面。

1、修改链接,/jsp/index.jsp下修改注册链接如下所示

 注册

2、修改UserServlet代码如下

package com.geekerstar.store.web.servlet;

import com.geekerstar.store.web.base.BaseServlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/UserServlet")
public class UserServlet extends BaseServlet {
    
	public String registUI(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		return "/jsp/register.jsp";
	}

}

这时再运行,点击注册则实现了由servlet转发到jsp页面。

注册功能原理分析

注册页面准备工作

注册页面主要是修改表单提交路径和方式如下所示

然后为我们的表单添加name属性,添加的name属性根据User类中定义的属性一致,也就是数据库的属性一致。其中需要特别注意的是性别那里需要修改value值。

		 

源码下载

[dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » Javaweb网上商城项目实战(5)用户注册准备工作

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多