zoukankan      html  css  js  c++  java
  • url override and HttpSession implements session for form

    url 重写结合HttpSession实现会话管理之 form 提交

    package com.test;
    
    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;
    import java.io.PrintWriter;
    
    @WebServlet("/questionnaire")
    public class Questionnaire extends HttpServlet {
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            request.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset=UTF-8");
    
            PrintWriter out = response.getWriter();
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<meta charset='UTF-8'>");
            out.println("<title>问卷调查</title>");
            out.println("</head>");
            out.println("<body>");
            String page = request.getParameter("page");
            if(page == null) {                   // 第一頁問卷
                out.println("<form action='questionnaire' method='get'>");
                out.println("問題一:<input type='text' name='p1q1'><br>");
                out.println("問題二:<input type='text' name='p1q2'><br>");
                out.println("<input type='submit' name='page' value='page2'>");
                out.println("</form>");
            }
            else if("page2".equals(page)) {    // 第二頁問卷
                /**
                 * 下面这三行代码的顺序不可变
              */
                HttpSession session = request.getSession();
                String url = response.encodeURL("questionnaire");
                out.println("<form action="" + url + "" method="get">");
                session.setAttribute("p1q1", request.getParameter("p1q1"));
                session.setAttribute("p1q2", request.getParameter("p1q2"));
                out.println("問題三:<input type='text' name='p2q1'> <br>");
                out.println("<input type='submit' name='page' value='finish'>");
                out.println("</form>");
            }
            else if("finish".equals(page)) {    // 最後答案收集
                HttpSession session = request.getSession();
                out.println(session.getAttribute("p1q1") + "<br>");
                out.println(session.getAttribute("p1q2") + "<br>");
                out.println(request.getParameter("p2q1") + "<br>");
            }
            out.println("</body>");
            out.println("</html>");
            out.close();
        }
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    }
  • 相关阅读:
    UVa中国麻将(Chinese Mahjong,Uva 11210)
    Nginx-upstream模块
    Nginx-配置文件
    Nginx 负载均衡和反向代理实践
    Nginx-1
    linux下发送报警邮件(mailx)
    dns服务器搭建
    linux 时间相关
    Centos7调整swap分区
    rm 删除命令
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/10054814.html
Copyright © 2011-2022 走看看