AI智能
改变未来

request

1.request和response对象的原理:* 	request和response对象是由服务器创建的* 	request对象使用来获取请求消息的,response对象是用来设置响应消息的2.request对象的继承结构ServletRequest		—— 接口|HttpServletRequest	—— 接口|org.apache.catalina.connector.RequestFacade	 —— 类(Tomcat编写)3.request功能1.获取请求消息数据*	获取请求行数据* GET http://localhost:8080/demo?username=zhangsan HTTP/1.1方法:1.获取请求方式:GET* String getMethod()2.获取虚拟目录:	/test* String getContextPath()	(重点)3. 获取Servlet路径:/demo* String getServletPath()4.获取请求URI: /test/demo* String getRequestURI()	 /test/demo	(重点)* String getRequestURL()	http://localhost:8080/demo5.获取请求参数:username=zhangsan* String getQueryString()6.获取协议及其版本:HTTP/1.1* String getProtocol()7.获取客户机的IP地址:* String getRemoteAddr()*	获取请求头数据String getHeader()Enumeration<> getHeaderNames()*	获取请求体数据(只有post请求方式才有请求体数据,在请求体中封装了POST请求的请求参数)步骤:1.获取流对象:* BufferedReader getReader(): 获取字符流* ServletInputStream getInputStream: 获取字节输入流其他功能(重点):1.请求参数:String getParameter(String name): 根据参数名称返回参数值String[] getParameterValues(String name): 根据参数名称返回参数值数组Enumeration<String> getParameterNames(): 获取所有请求的参数名称Map<String,String[]> getParameterMap(): 获取所有参数的Map集合乱码问题:GET: Tomcat8 之后解决了乱码问题POST: 设置req.setCharacterEncoding(\"utf-8\");2.请求转发:protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(\"这是requestDemo3...\");req.getRequestDispatcher(\"/requestDemo4\").forward(req, resp);}特点:1.浏览器地址栏不发生变化2.只能转发到当前服务器内部3.转发是一次请求3.数据共享setAtrribute(String name, Object obj): 存储数据Object getAttribute(String name) :  获取键的值removeAttribute(String name): 通过键移除值
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » request