request中常用API分享
下文笔者讲述request中常用API简介说明,如下所示
request路径相关
// 获取请求方式: GET String getMethod() // 获取虚拟目录(上下文目录): 虚拟路径通过在application配置当中可以配置 // 配置:server.servlet.context-path=/java String getContextPath() // 获取Servlet路径: 获取的controller当中配置的路径 String getServletPath() /// 获取请求参数: id=8 // http://localhost:8080/java/test?id=8 String getQueryString() // 获取请求URI:/servletDemo/demo1 // 上下文路径+controller当中配置的路径 String getRequestURI() // 获取完整请求路径:http://localhost:8080/java265/test String getRequestURL() // 获取协议及版本:HTTP/1.1 String getProtocol() // 获取客户机的IP地址:192.168.0.0 String getRemoteAddr()
Header相关
// 获取请求头数据,通过请求头名称获取值 String getHeader(String name) // 获取所有请求头信息 Enumeration getHeaderNames()
获取请求体
// 获取流对象-获取字符输入流,只能操作字符数据 BufferedReader getReader() // 获取流对象-获取字节输入流,既能操作字节也能操作字符 ServletInputStream getInputStream()
获取参数
// 获取请求参数通用方式(根据参数名称获取参数值) username=zhangsan String getParameter(String name) // 获取请求参数名称获取参数值的数组 hobby=xx&hobby=game String[] getParameters(String name) // 获取请求参数名称(与获取请求头方法类似) Enumeration getParameterNames() // 获取所有参数的Map集合 Map getParameterMap()
中文乱码
中文乱码问题 Tomcat8 已经将GET 请求方式的乱码问题 解决了 POST方式的中文乱码问题 依旧存在,需要自行配置 在获取参数之前配置 request.setCharacterEncoding("UTF-8");
转发
浏览器像服务器发起一次请求 服务器内部实现转发 相当于运行两个资源之间的操作 // 通过request对象获取请求转发服务器: RequestDispatcher getRequestDispatcher(String path); // 使用==RequestDispatcher对象来进行转发 forward(ServlertRequest request,ServletResponse response);
共享数据
域对象:一个有作用范围的对象,可以在范围内共享数据 request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据 // 存储数据 setAttribute(String name,Object obj) // 通过键来获取值 Object getAttribute(String name); // 通过键移除键对应的值 removeAttribute(String name)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。