首页 > 编程语言 >[Java] HttpServletRequest

[Java] HttpServletRequest

时间:2022-11-17 16:00:22浏览次数:58  
标签:HttpServletRequest 返回 Java 请求 GET name 获取 String

HttpServletRequest

位于javax.servlet.http,简单来说就是一个请求的封装
[请求头数据+正文数据] 一个域对象

相关方法

获取请求头方法

String getHeader(String name):获取指定名称的请求头;
Enumeration getHeaderNames():获取所有请求头名称;
int getIntHeader(String name):获取值为int类型的请求头。

//Demo
	response.setContentType("text/html;charset=utf-8");
	Enumeration names = request.getHeaderNames();
	while(names.hasMoreElements()) {
		String name = (String)names.nextElement();
		String value = request.getHeader(name);
		System.out.println(name + ": " + value);
		response.getWriter().println(name + ": " + value + "<br/>");
	}
其他获取请求方法
    int getContentLength():获取请求正文的字节数,GET请求没有正文,没有正文返回-1;
    String getContentType():获取请求类型,如果请求是GET,那么这个方法返回null;如果是POST请求,那么默认为application/x-www-form-urlencoded;
    String getMethod():返回请求方法,例如:GET
    Locale getLocale():返回当前客户端浏览器支持的Locale。java.util.Locale表示国家和言语;
    String getCharacterEncoding():获取请求编码,如果没有setCharacterEncoding(),那么返回null。表示使用ISO-8859-1编码;
    void setCharacterEncoding(String code):设置请求编码,只对正文有效!注意,对于GET而言,没有正文。只能对POST请求中的参数有效!
        //      http://localhost:8080/hello/oneServlet?name=zhangSan
    String getContextPath():返回上下文路径,例如:/项目名称
    String getQueryString():返回请求URL中的参数,例如:name=zhangSan
    String getRequestURI():返回请求URI路径,例如:/hello/oneServlet
    StringBuffer getRequestURL():返回请求URL路径,例如:http://localhost/hello/oneServlet,即返回除了参数以外的路径信息;
    String getServletPath():返回Servlet路径,例如:/oneServlet
    String getRemoteAddr():返回当前客户端的IP地址;
    String getRemoteHost():返回当前客户端的主机名,但这个方法的实现还是获取IP地址;
    int getRemotePort():返回客户端的端口号,每次请求都会变;
    String getSchema():返回请求协议,例如:http;
    String getServerName():返回主机名,例如:localhost
    int getServerPort():返回服务器端口号,例如:80
获取参数方法

可以使用HttpServletRequest获取客户端的请求参数,相关方法如下:

    String getParameter(String name):通过指定名称获取参数值;
    String[] getParameterValues(String name):通过指定名称获取参数值数组,有可能一个名字对应多个值,例如表单中的多个复选框使用相同的name时;
    Enumeration getParameterNames():获取所有参数的名字;
    Map getParameterMap():获取所有参数对应的Map。

//获取单值参数
String s1 = request.getParameter(“p1”)

对中文的处理

    //POST
    String name = request.getParameter(“name”);
    name = new String(name.getBytes(“ISO-8859-1”), “UTF-8”);
    //GET
    String s = request.getParameter(“s”);
    s = new String(s.getBytes(“iso-8859-1”), “utf-8”);
    //GET还可以JavaScript对超链接做URL编码

Reference

https://blog.csdn.net/qq_35986709/article/details/85703675

标签:HttpServletRequest,返回,Java,请求,GET,name,获取,String
From: https://www.cnblogs.com/NetUSA/p/16899667.html

相关文章