zoukankan      html  css  js  c++  java
  • HttpServletRequest


    作用: 1. 获取请求消息数据 2. 完成请求转发 3. 是域对象


    获取请求行 GET /uri HTTP/1.1

    String getMethod() 获取请求方式

    String getQueryString() 获取请求参数

    String getContextPath() 获取虚拟目录

    String getRemoteAddr() 获取ip地址


    获取请求头

     String getHeader(String name) (user-agent)
    
           String header = request.getHeader("user-agent") ;
    
                if(header.contains("MSIE")) {
    
                                System.out.println("IE浏览器...............");
    
                                response.sendRedirect("http://www.baidu.com") ;
    
                       }else if(header.contains("Chrome")) {
    
                                System.out.println("谷歌浏览器...............");
    
                                response.sendRedirect("http://www.jd.com") ;
    
                       }else if(header.contains("Firefox")) {
    
                                System.out.println("火狐浏览器...............");
    
                       }else  {
    
                                System.out.println("其它浏览器...............");
    
                 }
    

    HttpServletRequest获取请求体

    A: 获取请求体数据

    * BufferedReader getReader()

    * ServletInputStream getInputStream()

    Doget:
    
    String qs = request.getQueryString();
    
                       String line = request.getQueryString() ;           // userName=zhangsan&password=123
    
                       String[] split = line.split("&") ;
    
                       for(String data : split) {
    
                                String[] info = data.split("=") ;
    
                                System.out.println(request.getMethod() + "----" + info[0] + "---" + info[1]);            
    
                                
    
                                /*
    
                                 *  GET----username---zhangsan
    
                                         GET----password---123
    
                                 */
    
                       }
    
    Dopost:
    
    BufferedReader reader = request.getReader() ;
    
                       String line = reader.readLine() ; // userName=zhangsan&password=123
    
                       String[] split = line.split("&") ;
    
                       for(String data : split) {
    
                                String[] info = data.split("=") ;
    
                                System.out.println(request.getMethod() + "----" + info[0] + "---" + info[1]);            
    
                                // POST----userName---qq
    
                                // POST----password---9
    
             }
    

    HttpServletRequest获取请求参数通用的方式

    * GET POST 请求通用的获取数据的方式

     String getParameter(String name): 根据名称获取对应的请求参数的值
    
                    Enumeration getParameterNames(): 获取所有的请求参数的名称
    
                    Map<String , String[]> getParameterMap(): 获取所有的请求参数对应的Map集合, 键是请求参数的名称 ,值是请求参数的值
    
                    String[] getParameterValues(String name): 根据名称获取对应的请求参数的值对应的数组
    
                    String userName = request.getParameter("userName");
    
                    System.out.println(request.getMethod()+"----"+userName);         
    
                    System.out.println("------------------");
    
                    Enumeration names = request.getParameterNames();
    
                    while(names.hasMoreElements()){
    
                                String name = (String) names.nextElement();
    
                                String value = request.getParameter(name);
    
                                System.out.println(name+"---"+value);
    
                       }
    
                       Map<String,String[]> map = request.getParameterMap();
    
                       Set<Entry<String, String[]>> entrySet = map.entrySet();
    
                       for (Entry<String, String[]> entry : entrySet) {
    
                                String key = entry.getKey();
    
                                String[] value = entry.getValue();
    
                                System.out.println(key + "----" + Arrays.toString(value));
    
                       }
    
                       User user = new User() ;
    
                       try {
    
                                BeanUtils.populate(user, map) ;                        // User [userName=zhangsan, password=888, hobby=[1, 2, 3]]
    
                       } catch (IllegalAccessException e) {
    
                                e.printStackTrace();
    
                       } catch (InvocationTargetException e) {
    
                                e.printStackTrace();
    
                       }                 
    
                       System.out.println(user);
    
                       }
    
  • 相关阅读:
    继续对dubbo源代码进行maven builder
    Oracle操作XML各种场景介绍
    GitHub上的SliddingMenu滑动过程中卡顿问题的解决的方法
    [leetcode] Reverse Words in a String [1]
    UI标签库专题五:JEECG智能开发平台 Tabs(选项卡父标签)
    JAVA的一次编译,到处执行,你知道多少?
    设计模式学习--------12.代理模式学习
    P3573 [POI2014]RAJ-Rally
    2019-2-21-PowerShell-通过-WMI-获取补丁
    2019-2-21-PowerShell-通过-WMI-获取补丁
  • 原文地址:https://www.cnblogs.com/loaderman/p/6415490.html
Copyright © 2011-2022 走看看