zoukankan      html  css  js  c++  java
  • JavaWeb小作业 用户表单数据的获取

    作业要求:

    1. 一个注册页面 (form表单,servlet)
       - username  (文本框)
       - password:密码  (密码框)
       - passwordYes :再次输入密码(密码框)
       - sex   (单选框)
       - hobby  (多选框)
    
       - info  (文本域)
    2. servlet处理注册信息
       - 判断两次密码是否相同
         - 相同则跳到成功页面,并且在成功页面显示SeesionID;
         - 不同则注册失败,重定向到注册页面
    3. 成功页面
       - 显示登陆成功的用户名,密码,爱好,性别和信息;
       - 显示一个注销按钮
    4. 如果注销后,或者没登录,不能直接进入成功页面,跳转到404
    5. 404页面就是一个404;

    主页面:(index.jsp)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
    
      <h1>主页</h1>
      <a href="register.jsp">点击注册</a>
      </body>
    </html>

    登录页面:(register.jsp)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
    
      <h1>主页</h1>
      <a href="register.jsp">点击注册</a>
      </body>
    </html>

    登录成功页面:(success.jsp)

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>成功</title>
    
    
    <%
        <%--如果注销后,或者没登录,不能直接进入成功页面,跳转到404--%>
        HttpSession session1 = request.getSession();
        if(session1.getAttribute("username")==null){
            request.getRequestDispatcher("404.jsp").forward(request,response);
        }
    %>
    
    
    
    </head>
    <body>
    
    <h1>恭喜你注册成功</h1>
    <p>欢迎新用户:${sessionScope.username}</p>
    <p>你的密码:${sessionScope.password}</p>
    <p>你的性别:${sessionScope.sex}</p>
    <p>你的信息:${sessionScope.info}</p>
    <p>你的爱好:${sessionScope.hobby}</p>
    
    <p>sessionid: ${sessionScope.id}</p>
    
    
    <a href="${pageContext.request.contextPath}/t2">注销</a>
    
    </body>
    </html>

    404页面:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>404</title>
    </head>
    <body>
    
    <h1>你还没有登录或注册,请先进行注册</h1>
    <a href="register.jsp">注册</a>
    
    
    </body>
    </html>

    ServletRegister:(处理提交的表单的servlet)

    package com.xbf.servlet;
    
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    import java.util.Arrays;
    
    public class ServletRegister extends javax.servlet.http.HttpServlet {
    
        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.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) throws javax.servlet.ServletException, IOException {
            doPost(request,response);
        }
    }

    ServletRefisterOut:(注销用户信息的servlet)

    package com.xbf.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    
    @WebServlet(name = "ServletRegisterOut")
    public class ServletRegisterOut extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, 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) throws ServletException, IOException {
            doPost(request,response);
        }
    }

    wen.xml的配置:

        <servlet>
            <servlet-name>ServletRegister</servlet-name>
            <servlet-class>com.xbf.servlet.ServletRegister</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>ServletRegisterOut</servlet-name>
            <servlet-class>com.xbf.servlet.ServletRegisterOut</servlet-class>
        </servlet>
    
    
    
        <servlet-mapping>
            <servlet-name>ServletRegister</servlet-name>
            <url-pattern>/t1</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>ServletRegisterOut</servlet-name>
            <url-pattern>/t2</url-pattern>
        </servlet-mapping>

    收获总结:

    1.在jsp页面上显示用户提交的数据: ${ sessionScope.username }   比如:获取用户的姓名。

  • 相关阅读:
    扩展方法使用
    mac学习笔记:brew 安装nginx
    Mac SVN 命令行
    mac终端命令大全
    mac学习笔记之:使用brew安装软件
    Linux学习笔记之更新yum安装最新Nginx+Php
    pyenv快速入门
    pycharm配置robotframework环境(mac版)
    macOS的zsh和bash切换
    robotframework windows环境和mac环境安装教程
  • 原文地址:https://www.cnblogs.com/xbfchder/p/11198254.html
Copyright © 2011-2022 走看看