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 进阶学习及面试必备的视频教学
评论