JavaWeb 快速入门 --Servlet(2)
2. 获取请求头数据
- 方法: 
1.通过请求头的名称获取请求头的值:String getHeader(String name);
2.获取所有的请求头名称:Enumeration<String> getHeaderNames();
3. 获取请求体数据:
- 获取流对象 
获取字符输入流,只能操作字符数据:BufferedReader getReader();
获取字节输入流,可以操作所有类型数据:ServletInputStream getInputStream();
- 从流对象中拿数据 
BufferedReader br = request.getReader();
ServletInputStream si= request.getInputStream();
4. 其他功能:
获取请求参数通用方式:
- 1.根据参数名称获取参数值: - String getParameter(String name);
- 2.根据参数名称获取参数值的数组: - String[] getParameterValues(String name);
- 3.获取所有请求的参数名称: - Enumeration<String> getParameterNames();
- 4.获取所有参数的 map 集合: - Map<String,String[]> getParameterMap();
中文乱码问题:在获取参数前,设置 request 的编码:request.setCharacterEncoding("utf-8");
请求转发:一种在服务器内部的资源跳转方式
- 1. 通过 request 对象获取请求转发器对象: - RequestDispatcher getRequestDispatcher(String path)
- 2. 使用 RequestDispatcher 对象来进行转发: - forward(ServletRequest request, ServletResponse response)
在进行请求转发时,浏览器地址栏路径是不会发生变化,且只能转发到当前服务器内部资源中。转发的请求次数是一次。例:
- request.getRequestDispatcher **Java开源项目【ali1024.coding.net/public/P7/Java/git】** ("/demo").forward(request,response);
共享数据:
- 1. 存储数据 - void setAttribute(String name,Object obj)
- 2. 通过键获取值: - Object getAttitude(String name)
- 3. 通过键移除键值对: - void removeAttribute(String name)
获取 ServletContext: ServletContext getServletContext()
[](()Response 对象
Response 是 Servlet.service 方法的一个参数,类型为 javax.servlet.http.HttpServletResponse。在客户端发出每个请求时,服务器都会创建一个 response 对象,并传入给 Servlet.service()方法。response 对象是用来对客户端进行响应的,这说明在 service()方法中使用 response 对象可以完成对客户端的响应工作
response 对象的功能:
设置响应头消息:response.setHeader("content-type", "text/html;charset=utf-8")
- 设置 content-type 响应头,该头的作用是告诉浏览器响应内容为 html 类型,编码为 utf-8。例:5 秒后自动跳转到百度页面: - response.setHeader("Refresh","5; URL=http://www.baidu.com")
设置响应体:
- 1. 获取输出流: 字符输出流: - PrintWriter getWriter()、字节输出流:- ServletOutputStream getOutputStream()
- 2. 使用输出流: 将数据输出到客户端浏览器 
设置响应状态码及其他方法:
- 1.设置响应内容为 html 类型,编码为 utf-8: - response.setContentType("text/html;charset=utf-8")
- 2.设置字符响应流的字符编码为 utf-8: - response.setCharacterEncoding("utf-8")
- 3.设置状态码: - response.setStatus(200)
- 4.当发送错误状态码时,跳转到固定的错误页面去,并显示错误信息: - response.sendError(404, "您要查找的资源不存在")
重定向:在进行重定向时,浏览器的地址栏会发生改变,可以访问其它服务器的资源 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 ,同时它的请求次数是两次,重定向的响应头为 302,并且必须要有 Location 响应头来表示第二个请求的 URL,我们不能忘记设置。
//1.设置状态码为 302
response.setStatus(302);
//2.设置响应头 location
response.setHeader("location","/demo/response");
//3.实现重定向方法
response.sendRedirect("/demo/response");
路径的书写方法:
Java 面试核心知识点笔记
其中囊括了 JVM、锁、并发、Java 反射、Spring 原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
 
 Java 中高级面试高频考点整理
 
  
 最后分享 Java 进阶学习及面试必备的视频教学
 
 









 
    
评论