victory的博客

长安一片月,万户捣衣声

0%

JavaWeb项目开发 | request获取各种形式的数据、请求转发

request获取各种形式的数据

  1. 新建form.html
  2. 新建Demo2Servlet处理来自form表单的请求并通过request对象的集中常用方法获取各种形式的数据
package com.oracle;
import java.io.IOException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Demo2Servlet
 */
public class Demo2Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //response.getWriter().append("Served at: ").append(request.getContextPath());
//        //获取前台传递的参数
//        String username = request.getParameter("username");
//        String password = request.getParameter("pwd");
//        
//        //获取单值
//        System.out.println(username);
//        System.out.println(password);
//        
//        //获取多值
//        String[] vals = request.getParameterValues("hobby");
//        for(String val:vals) {
//            System.out.println(val);
//        }
        
        //获取表单中的所有数据
        Map<String, String[]> map = request.getParameterMap();
        for(String s:map.keySet()) {
            String[] strs = map.get(s);
            
            for(String st:strs) {
                System.out.println(st);
            }
        }
        
        
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
  1. 请求转发
    假设我们刚刚处理的表单就是一个网站的注册页面,提交登录成功后,我们需要跳转到登录页面(从一个页面跳转到另一个页面)

解决办法:
我们只需要在doGet方法的最后增加下面一行代码(假设1.html为登录页面):

//请求转发到1.html页面
request.getRequestDispatcher("/1.html").forward(request, response);