request

public class Request extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //读取请求行中url中的属性
        StringBuffer requestURL = req.getRequestURL();
        //读取请求行中uri(资源文件精准定位地址)中的属性
        String requestURI = req.getRequestURI();
        //读取请求行中method中的属性
        String method = req.getMethod();
        System.out.println("requestURL:"+requestURL);
        System.out.println("requestURI:"+requestURI);
        System.out.println("method:"+method);
        //读取请求头【post(请求体)】中的参数信息
        Enumeration<String> parameterNames = req.getParameterNames();
        while (parameterNames.hasMoreElements()){
            //请求参数
            String ParameterNames = parameterNames.nextElement();
            String parameter = req.getParameter(ParameterNames);
            System.out.println("请求参数:"+ParameterNames+"   参数值:"+parameter);
        }
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {


        //post请求传入的参数是汉字的时候,response接收的时候是乱码的
        //原因:在使用get的方式请求的时候,请求参数保存在请求头中,在
        // http协议包到达服务器的时候,第一件事就是进行解码,tomcat负责解码(utf-8)
        //在使用post的请求方式发送请求的时候,请求参数保存在请求头体....由request解码(iso-8859-1)
        //解决方法:通知请求对象request使用utf-8进行解码
        req.setCharacterEncoding("utf-8");

        //post取前端传的参数值和get的取值方式是相同的
        Enumeration<String> parameterNames = req.getParameterNames();
        while (parameterNames.hasMoreElements()){
            String parameter = parameterNames.nextElement();
            String value = req.getParameter(parameter);
            System.out.println("请求的参数:"+parameter+"   参数的值"+value);
        }
    }
}

  

posted @ 2021-02-02 09:10  8ling1ling  阅读(74)  评论(0)    收藏  举报