• Request实战


    1 Request获取请求行数据

    package cn.itcast.web.request;
    
    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 java.io.IOException;
    
    /**
     * 演示Request对象获取请求行数据
     */
    
    @WebServlet("/requestDemo1")
    public class RequestDemo1 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
          
            //1. 获取请求方式 :GET
            String method = request.getMethod();
            System.out.println(method);
            //2.(*)获取虚拟目录:/day14
            String contextPath = request.getContextPath();
            System.out.println(contextPath);
            //3. 获取Servlet路径: /demo1
            String servletPath = request.getServletPath();
            System.out.println(servletPath);
            //4. 获取get方式请求参数:name=zhangsan
            String queryString = request.getQueryString();
            System.out.println(queryString);
            //5.(*)获取请求URI:/day14/demo1
            String requestURI = request.getRequestURI();
            StringBuffer requestURL = request.getRequestURL();
            System.out.println(requestURI);
            System.out.println(requestURL);
            //6. 获取协议及版本:HTTP/1.1
            String protocol = request.getProtocol();
            System.out.println(protocol);
            //7. 获取客户机的IP地址:
            String remoteAddr = request.getRemoteAddr();
            System.out.println(remoteAddr);
        }
    }
    
    

    2 Request获取请求头数据

    package cn.itcast.web.request;
    
    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 java.io.IOException;
    import java.util.Enumeration;
    
    @WebServlet("/requestDemo2")
    public class RequestDemo2 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //演示获取请求头数据
            
            //1.获取所有请求头名称
            Enumeration<String> headerNames = request.getHeaderNames();
            //2.遍历
            while(headerNames.hasMoreElements()){
                String name = headerNames.nextElement();
                //根据名称获取请求头的值
                String value = request.getHeader(name);
                System.out.println(name+"---"+value);
            }
    
        }
    }
    
    

    3 获取请求消息体中参数

    package cn.itcast.web.request;
    
    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 java.io.BufferedReader;
    import java.io.IOException;
    
    @WebServlet("/requestDemo5")
    public class RequestDemo5 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //获取请求消息体--请求参数
    
            //1.获取字符流
            BufferedReader br = request.getReader();
            //2.读取数据
            String line = null;
            while((line = br.readLine()) != null){
                System.out.println(line);
            }
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        }
    }
    
    

    4 通用获取请求的参数(对于get和post通用)

    package cn.itcast.web.request;
    
    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 java.io.BufferedReader;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.Map;
    import java.util.Set;
    
    @WebServlet("/requestDemo6")
    public class RequestDemo6 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //post 获取请求参数
    
            //根据参数名称获取参数值
            String username = request.getParameter("username");
          
    
           //根据参数名称获取参数值的数组
            String[] hobbies = request.getParameterValues("hobby");
            /*for (String hobby : hobbies) {
                System.out.println(hobby);
            }*/
    
            //获取所有请求的参数名称
    
            Enumeration<String> parameterNames = request.getParameterNames();
            /*while(parameterNames.hasMoreElements()){
                String name = parameterNames.nextElement();
                System.out.println(name);
                String value = request.getParameter(name);
                System.out.println(value);
                System.out.println("----------------");
            }*/
    
            // 获取所有参数的map集合
            Map<String, String[]> parameterMap = request.getParameterMap();
            //遍历
            Set<String> keyset = parameterMap.keySet();
            for (String name : keyset) {
                
                //获取键获取值
                String[] values = parameterMap.get(name);
                System.out.println(name);
                for (String value : values) {
                    System.out.println(value);
                }
    
                System.out.println("-----------------");
            }
    
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //get 获取请求参数
    /*
            //根据参数名称获取参数值
            String username = request.getParameter("username");
            System.out.println("get");
            System.out.println(username);*/
    
            this.doPost(request,response);
        }
    }
    
    

    5 请求转发

    package cn.itcast.web.request;
    
    import javax.servlet.RequestDispatcher;
    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 java.io.IOException;
    
    @WebServlet("/requestDemo8")
    public class RequestDemo8 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            System.out.println("demo8888被访问了。。。");
    
    
            //存储数据到request域中
            request.setAttribute("msg","hello");
    
            request.getRequestDispatcher("/requestDemo9").forward(request,response);
            //request.getRequestDispatcher("http://www.itcast.cn").forward(request,response);
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            this.doPost(request,response);
        }
    }
    
    

    6 从域中拿数据

    package cn.itcast.web.request;
    
    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 java.io.IOException;
    
    @WebServlet("/requestDemo9")
    public class RequestDemo9 extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            //获取数据
            Object msg = request.getAttribute("msg");
            System.out.println(msg);
    
            System.out.println("demo9999被访问了。。。");
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
            this.doPost(request,response);
        }
    }
    
    
  • 相关阅读:
    有关 Windows 安全的一些记录
    常用的 PowerShell 脚本命令记录
    FireDAC 数据库开发笔记(2. 快储机制)
    FireDAC 数据库开发笔记(3. 使用内存数据 FDMemTable)
    FireDAC 数据库开发笔记(4. FireDAC 进阶)
    FireDAC 数据库开发笔记( 目录)
    FireDAC 数据库开发笔记(1. 处理数据)
    navicat连接sqlserver报错:[navicat premium] [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
    利用分层机制优化 Docker Image
    重要参考步骤ProxySQL Cluster 集群搭建步骤
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12509754.html
Copyright © 2020-2023  润新知