![](https://img-blog.csdnimg.cn/25c0ab8805664b899b10a23c7e8efc50.gif)
一,编写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>Insert title here</title>
</head>
<body>
<form action="registerServlet.do" method="post">
<div>
用户名:<input type='text' name="uname"/>
<span style="color: red" id="sp"></span>
</div>
<div>
密码:<input type="password" name="upwd"/>
</div>
<div>
性别:<input type="radio" checked="checked" value="男" name="usex"/>男
<input type="radio" value="女" name="usex"/>女
</div>
<div>
年龄:<input type="text" name="uage"/>
</div>
<div>
爱好:<input type="checkbox" name="uah" value="洗脚"/>洗脚
<input type="checkbox" name="uah" value="按摩"/>按摩
<input type="checkbox" name="uah" value="打牌"/>打牌
</div>
<div>
地址:<select name="uaddress">
<option>长沙
<option>怀化
<option>北京
<option>上海
</select>
</div>
<div>
备注:<textarea rows="5px" cols="20px" name="ubz" ></textarea>
</div>
<div>
<button >提交</button>
<button type="reset">重置</button>
<a href="logon.jsp">返回</a>
</div>
</form>
</body>
</html>
二,编写注册Servlet程序
package com.zking.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zking.dao.UsersDao;
import com.zking.entity.Users;
/**
* 注册
*
*/
public class RegisterServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//调用doget方法
doGet(req, resp);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码模式
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
//获取out对象
PrintWriter out = resp.getWriter();
//处理逻辑代码(form表单)
String uname = req.getParameter("uname");//姓名
String upwd = req.getParameter("upwd");//密码
String usex = req.getParameter("usex");//性别
String uage = req.getParameter("uage");//年龄
String[] uah = req.getParameterValues("uah");//爱好
String uaddress = req.getParameter("uaddress");//地址
String ubz = req.getParameter("ubz");//备注
/* System.out.println(uname);
System.out.println(upwd);
System.out.println(usex);
System.out.println(uage);*/
List<String> list = Arrays.asList(uah);
//定义保存变量
StringBuffer str=new StringBuffer();
for(int i=0;i<list.size();i++) {
str.append(list.get(i)+",");
}
//不要最后面一个逗号
int a1 = str.lastIndexOf(",");
String s = str.substring(0, a1);
//实例化用户对象
Users users=new Users();
users.setUname(uname);
users.setUpwd(upwd);
users.setUsex(usex);
users.setUage(Integer.parseInt(uage));
users.setUhonney(s);
users.setUaddress(uaddress);
users.setUcomment(ubz);
//调用用户增加方法
UsersDao usersdao=new UsersDao();
boolean f=usersdao.LogonName(uname);
if(!f) {//账户名不重复
int n=usersdao.Register(users);
if(n>0) {//成功
//成功添加数据跳转到注册成功界面 registerCg.jsp js跳转
out.print("<script>alert('注册成功');location.href='指定的页面';</script>");
}else {//失败
out.print("<script>alert('注册失败');location.href='指定的页面';</script>");
}
}else {//账户名重复
out.print("<script>alert('用户名重复');location.href='指定的页面';</script>");
}
}
}
三,编写实体类
package com.zking.entity;
import java.io.Serializable;
/**
* 用户
*
*/
public class Users implements Serializable{
private int uuid;//编号
private String uname;//账号
private String upwd;//密码
private String usex;//性别
private int uage;//年龄
private String uhonney;//爱好
private String uaddress;//地址
private int upower;//权限
private String ucomment;//备注
public Users() {
// TODO Auto-generated constructor stub
}
public int getUuid() {
return uuid;
}
public void setUuid(int uuid) {
this.uuid = uuid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
this.upwd = upwd;
}
public String getUsex() {
return usex;
}
public void setUsex(String usex) {
this.usex = usex;
}
public int getUage() {
return uage;
}
public void setUage(int uage) {
this.uage = uage;
}
public String getUhonney() {
return uhonney;
}
public void setUhonney(String uhonney) {
this.uhonney = uhonney;
}
public String getUaddress() {
return uaddress;
}
public void setUaddress(String uaddress) {
this.uaddress = uaddress;
}
public int getUpower() {
return upower;
}
public void setUpower(int upower) {
this.upower = upower;
}
public String getUcomment() {
return ucomment;
}
public void setUcomment(String ucomment) {
this.ucomment = ucomment;
}
public Users(int uuid, String uname, String upwd, String usex, int uage, String uhonney, String uaddress,
int upower, String ucomment) {
super();
this.uuid = uuid;
this.uname = uname;
this.upwd = upwd;
this.usex = usex;
this.uage = uage;
this.uhonney = uhonney;
this.uaddress = uaddress;
this.upower = upower;
this.ucomment = ucomment;
}
//注册
public Users(String uname, String upwd, String usex, int uage, String uhonney, String uaddress, String ucomment) {
super();
this.uname = uname;
this.upwd = upwd;
this.usex = usex;
this.uage = uage;
this.uhonney = uhonney;
this.uaddress = uaddress;
this.ucomment = ucomment;
}
//登录
public Users(String uname, String upwd) {
super();
this.uname = uname;
this.upwd = upwd;
}
@Override
public String toString() {
return "Users [uuid=" + uuid + ", uname=" + uname + ", upwd=" + upwd + ", usex=" + usex + ", uage=" + uage
+ ", uhonney=" + uhonney + ", uaddress=" + uaddress + ", upower=" + upower + ", ucomment=" + ucomment
+ "]";
}
}
四,编写注册方法
package com.zking.dao;
/**
* 用户方法
*
*/
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.tomcat.jni.User;
import com.zking.entity.Users;
import com.zking.util.DBHelper;
public class UsersDao {
private Connection con;
private PreparedStatement ps;
private ResultSet rs;
private String sql;
private int n;
private Users users;
private List<Users> usersls;
private boolean f;
//注册
/**
* 用户注册
* @param u 用户对象
* @return 影响行数
*/
public int Register(Users u) {
try {
con=DBHelper.getCon();
sql="insert into tb_users(uname,upwd,usex,uage,uhonney,uaddress,ucomment)values("
+ "?,?,?,?,?,?,?)";
ps=con.prepareStatement(sql);
//给占位符赋值
ps.setString(1, u.getUname());
ps.setString(2, u.getUpwd());
ps.setString(3, u.getUsex());
ps.setInt(4, u.getUage());
ps.setString(5, u.getUhonney());
ps.setString(6, u.getUaddress());
ps.setString(7, u.getUcomment());
//影响行数
n=ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelper.myClose(con, ps, rs);
}
return n;
}
}