• java获取前端请求字段的方法


    java获取前端请求字段的方法

    package test.request;

    import java.io.IOException;
    import java.io.InputStream;
    import java.lang.reflect.InvocationTargetException;
    import java.util.Enumeration;
    import java.util.Map;

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

    import com.sun.org.apache.commons.beanutils.BeanUtils;
    //HttpServletRequest获取请求头和请求数据
    //请求数据一半来说要先检查再使用,检查非空和不是空格

    public class RequestDemo2 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    System.out.println("---------获取请求数据方式1-------------");
    // 获取指定的请求数据
    String value = request.getParameter("username");
    if (value != null && !value.trim().equals("")) {
    System.out.println(value);
    }

    System.out.println("---------获取请求数据方式2-------------");
    // 获取所有的请求数据
    Enumeration e = request.getParameterNames();
    while (e.hasMoreElements()) {
    String paramName = (String) e.nextElement();
    String value2 = request.getParameter(paramName);
    System.out.println(paramName + "=" + value2);
    }

    System.out.println("---------获取请求数据方式3-------------");
    // 获取所有的请求数据,同名的只能获取一次,就是第一次
    String[] values = request.getParameterValues("username");
    for (int i = 0; values != null && i < values.length; i++) {
    System.out.println(values[i]);
    }

    System.out.println("---------获取请求数据方式4-------------");
    // 这个特别实用,框架的模型驱动,这个Map的value肯定是String数组类型,因为有同名的请求数据
    // 实际开发中是不会 request.getParameter("username");用这种方式的,都是要创建一个model的
    Map<String, String[]> map = request.getParameterMap();
    User user = new User();
    try {
    // 用map中的数据填充bean
    BeanUtils.populate(user, map);
    } catch (IllegalAccessException e1) {
    e1.printStackTrace();
    } catch (InvocationTargetException e1) {
    e1.printStackTrace();
    }
    System.out.println(user.getPassword());

    System.out.println("---------获取请求数据方式5-------------");
    // request.getInputStream();是上传文件的时候获取数据的方式
    // 普通数据是获取不到的
    InputStream in = request.getInputStream();
    int len = 0;
    byte[] buffer = new byte[1024];
    while ((len = in.read(buffer)) > 0) {
    System.out.println(new String(buffer, 0, len));
    }
    }

    // 获取请求头
    private void test1(HttpServletRequest request) {
    System.out.println("---------获取请求头方式1-------------");
    // 拿到指定的请求头
    System.out.println(request.getHeader("cache-control"));

    System.out.println("---------获取请求头方式2-------------");
    // 拿到所有指定的请求头
    Enumeration e = request.getHeaders("cache-control");
    while (e.hasMoreElements()) {
    String headValue = (String) e.nextElement();
    System.out.println(headValue);
    }

    System.out.println("---------获取请求头方式3-------------");
    // 拿到所有请求头
    Enumeration e1 = request.getHeaderNames();
    while (e1.hasMoreElements()) {
    String headerName = (String) e1.nextElement();
    String headValue = request.getHeader(headerName);
    System.out.println(headerName + "=" + headValue);
    }
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }

    }

  • 相关阅读:
    U3D中的一些方法和属性
    Animation
    官哥雷达模组样品,特列出技术指标,欢迎高手捧场
    BGA256芯片植球全过程体验(原创)
    最高分辨率行间转移CCD图像传感器
    PYTHON5000:CMOS图象传感器演示
    四张图表让你搞懂电离辐射及常用的量
    TVP5150 PAL/NTSC ccd cmos 模拟摄像头视频 转换 VGA输出
    CyAPI环境搭建
    usb fx2 cy68013 Cyapi使用心得
  • 原文地址:https://www.cnblogs.com/mufc/p/9988542.html
Copyright © 2020-2023  润新知