您的位置:首页 > Web前端 > JavaScript

升级版blog--(2)reg.jsp注册页面

2017-04-26 08:44 225 查看
reg.jsp

form的name是form1

表单提交到userdo,传递参数param=reg

<servlet>
<servlet-name>UseUserServlet</servlet-name>
<servlet-class>com.blog.use.action.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UseUserServlet</servlet-name>
<url-pattern>/use/userdo</url-pattern>
</servlet-mapping>


博客名 blogname

博客签名 blogsign

用户名 username   验证:onblur="checkUsername(this.value);

用户昵称 nickname  验证:onblur="checkPassword(this.value);

账户密码 password1  验证:onblur="checkrepassword(this.value);

电子邮件 email 

提交注册:<button  type="submit" onclick="return registSubmit();">

<form id="form1" name="form1" method="post" action="userdo?param=reg">
<h1> BLOG系统 注册</h1>
<label>博客名
<span class="small">8-12个字数或者英文字母</span>
</label>
<input type="text" name="blogname"/>

<label>博客IN签名
<span class="small">6-12个字符</span>
</label>
<input type="text" name="blogsign"/>

<label>用户名
<span class="small"  id="userName_note">4-10个英文或者中文</span>
</label>
<input type="text" name="username"  onblur="checkUsername(this.value);"/>
<label>用户昵称
<span class="small">10个以内英文或者中文</span>
</label>
<input type="text" name="nickname"/>

<label>账户密码
<span class="small" id="passWord_note">6-12个数字或者英文字母</span>
</label>
<input type="password" name="password1" id="password1" onblur="checkPassword(this.value);"/>

<label>确认密码
<span class="small" id="SecondPassword_note">6-12个数字或者英文字母</span>
</label>
<input type="password" name="password2" id="password2" onblur="checkrepassword(this.value);"/>

<label>电子邮件
<span class="small">请输入您的电子邮件</span>
</label>
<input type="text" name="email"/>

<button  type="submit" onclick="return registSubmit();">提交注册</button>
</form>


UserServlet

注册的表单提交到这里来

<servlet>
<servlet-name>UseUserServlet</servlet-name>
<servlet-class>com.blog.use.action.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UseUserServlet</servlet-name>
<url-pattern>/use/userdo</url-pattern>
</servlet-mapping>


从request中把param取出来

如果没有传进来param,则默认param="view"

如果param="reg",则从request中取出username,nickname,email,password1,blogname,blogsign

定义UserBean ub

把上面那些东西都存进ub里面

再声明一个UserDAO ud,把ub这个user添加进去,这里其实就是注册的过程try cach一下,添加失败的话response.sendRedirect("/index.html");

注册成功的话,response.sendRedirect("/blog/use/login.jsp");跳转到登录页面

如果param="del",则从request中取出userid就好,调用UserDAO的方法ud.delUser(userid)删除该用户

然后getUser(request, response);

在这个servlet里面定义了一个getUser方法,一样是通过page和size获取当前页面所有user,然后把结果都放进request中

最后服务器端跳转RequestDispatcher requestDispatcher = request.getRequestDispatcher("/system/systemuser.jsp");

requestDispatcher.forward(request, response);

如果param="view",直接getUser(request,
response);

如果param="singleuser",从request中取出userid,调用UserDAO的ud.getSingleUser(userid)方法,通过userid获取user对象

request.setAttribute("singleuser", ub);

request.setAttribute("userid", userid);

把ub和userid再传到request中

然后服务器端跳转RequestDispatcher requestDispatcher = request.getRequestDispatcher("/use/userinfo.jsp");
requestDispatcher.forward(request, response);

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.*;
import javax.servlet.http.*;
import com.blog.system.Dao.UserDao;
import com.blog.system.Dto.UserBean;

public class UserServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("utf-8");

String param = request.getParameter("param");
if (param == null) {
param = "view";
}
if (param == "reg" || param.equals("reg")) {
String username = request.getParameter("username");
String nickname = request.getParameter("nickname");
String email = request.getParameter("email");
String password = request.getParameter("password1");
String blogname = request.getParameter("blogname");
String blogsign = request.getParameter("blogsign");
UserBean ub = new UserBean();
ub.setUsername(username);
ub.setNickname(nickname);
ub.setBlogsign(blogsign);
ub.setEmail(email);
ub.setBlogname(blogname);
ub.setPassword(password);
UserDao ud = new UserDao();
try {
ud.addUser(ub);
} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("/index.html");
}
response.sendRedirect("/blog/use/login.jsp");
} else if (param == "del" || param.equals("del")) {
try {
String userid = request.getParameter("userid");
UserDao ud = new UserDao();
ud.delUser(userid);
} catch (Exception e) {
e.printStackTrace();
}
getUser(request, response);
} else if (param == "view" || param.equals("view")) {
getUser(request, response);
} else if (param == "singleuser" || param.equals("singleuser")) {
String userid = request.getParameter("userid");
UserDao ud = new UserDao();
UserBean ub = ud.getSingleUser(userid);
request.setAttribute("singleuser", ub);
request.setAttribute("userid", userid);
RequestDispatcher requestDispatcher = request
.getRequestDispatcher("/use/userinfo.jsp");
requestDispatcher.forward(request, response);
} else if (param == "update" || param.equals("update")) {
String userid = request.getParameter("userid");
int userid1 = Integer.parseInt(userid);
String blogname = request.getParameter("blogname");
String password = request.getParameter("password1");
String email = request.getParameter("email");
String nickname = request.getParameter("nickname");
UserBean ub = new UserBean();
ub.setUserid(userid1);
ub.setBlogname(blogname);
ub.setPassword(password);
ub.setEmail(email);
ub.setNickname(nickname);
UserDao ud = new UserDao();
ud.updateUser(ub);
UserBean ub1 = ud.getSingleUser(userid);
request.setAttribute("singleuser", ub1);
request.setAttribute("userid", userid);
RequestDispatcher requestDispatcher = request
.getRequestDispatcher("/use/userinfo.jsp");
requestDispatcher.forward(request, response);
}
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}

public void getUser(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
int page;
if (request.getParameter("page") != null) {
page = Integer.parseInt(request.getParameter("page"));
} else {
page = 1;
}
int size = 10;

List<UserBean> ret = new ArrayList<UserBean>();
UserDao ud = new UserDao();
ret = ud.getUser(page, size);
long count = ud.getUserCount();
request.setAttribute("user", ret);
request.setAttribute("count", count);
request.setAttribute("page", page);
request.setAttribute("size", size);
RequestDispatcher requestDispatcher = request
.getRequestDispatcher("/system/systemuser.jsp");
requestDispatcher.forward(request, response);
}
}


UserDAO里的addUser方法,就是注册!!

public void addUser(UserBean ub){
try{
con=GetdbCon.getDbConn();
String sql="INSERT INTO userinfo(username,blogname,password,email,nickname,regtime) values(?,?,?,?,?,Now())";
//有参数的时候用preparedStatement很方便
PreparedStatement stm=con.prepareStatement(sql);
stm.setString(1,ub.getUsername());
stm.setString(2, ub.getBlogname());
stm.setString(3, ub.getPassword());
stm.setString(4, ub.getEmail());
stm.setString(5, ub.getNickname());
stm.execute();//这是一个插入语句,只执行语句就行,executeQuer会返回ResultSet
}catch(Exception e){
e.printStackTrace();
}finally{
try{
con.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaWeb