作业要求:
1. 一个注册页面 (form表单,servlet)
- username (文本框)
- password:密码 (密码框)
- passwordYes :再次输入密码(密码框)
- sex (单选框)
- hobby (多选框)
- info (文本域)
2. servlet处理注册信息
- 判断两次密码是否相同
- 相同则跳到成功页面,并且在成功页面显示SeesionID;
- 不同则注册失败,重定向到注册页面
3. 成功页面
- 显示登陆成功的用户名,密码,爱好,性别和信息;
- 显示一个注销按钮
4. 如果注销后,或者没登录,不能直接进入成功页面,跳转到404
5. 404页面就是一个404;
主页面:(index.jsp)
$Title$主页
点击注册
登录页面:(register.jsp)
$Title$主页
点击注册
登录成功页面:(success.jsp)
成功HttpSession session1 = request.getSession();
if(session1.getAttribute("username")==null){
request.getRequestDispatcher("404.jsp").forward(request,response);
}
%>
恭喜你注册成功
欢迎新用户:${sessionScope.username}
你的密码:${sessionScope.password}
你的性别:${sessionScope.sex}
你的信息:${sessionScope.info}
你的爱好:${sessionScope.hobby}
sessionid: ${sessionScope.id}
注销
404页面:
404你还没有登录或注册,请先进行注册
注册
ServletRegister:(处理提交的表单的servlet)
packagecom.xbf.servlet;importjavax.servlet.http.HttpSession;importjava.io.IOException;importjava.util.Arrays;public class ServletRegister extendsjavax.servlet.http.HttpServlet {protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throwsjavax.servlet.ServletException, IOException {
HttpSession session=request.getSession();//解决编码问题
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");//获取提交的数据
String username = request.getParameter("username");
String password= request.getParameter("password");
String password2= request.getParameter("password2");
String sex= request.getParameter("sex");
String info= request.getParameter("info");
String[] hobbies= request.getParameterValues("hobby");
String id=request.getSession().getId();if(password.equals(password2)){//前后密码一致//将用户信息存进session
session.setAttribute("username",username);
session.setAttribute("password",password);
session.setAttribute("sex",sex);
session.setAttribute("info",info);
session.setAttribute("hobby", Arrays.toString(hobbies));
session.setAttribute("id",id);//跳转到成功
response.sendRedirect("success.jsp");
}else{//重新跳转到注册页面//设置一个值,可以跳出弹窗
session.setAttribute("pwd","yes");
response.sendRedirect("register.jsp");
}
}protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throwsjavax.servlet.ServletException, IOException {
doPost(request,response);
}
}
ServletRefisterOut:(注销用户信息的servlet)
packagecom.xbf.servlet;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importjava.io.IOException;
@WebServlet(name= "ServletRegisterOut")public class ServletRegisterOut extendsHttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {//注销用户数据
HttpSession session =request.getSession();
session.removeAttribute("username");
session.removeAttribute("password");
session.removeAttribute("sex");
session.removeAttribute("hobby");
session.removeAttribute("info");//注销完成后,跳到成功页面
response.sendRedirect("success.jsp");
}protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {
doPost(request,response);
}
}
wen.xml的配置:
ServletRegister
com.xbf.servlet.ServletRegister
ServletRegisterOut
com.xbf.servlet.ServletRegisterOut
ServletRegister
/t1
ServletRegisterOut
/t2
收获总结:
1.在jsp页面上显示用户提交的数据: ${ sessionScope.username } 比如:获取用户的姓名。