JavaWeb之Servlet(四)HttpServletRequest与HttpServletResponse

导航

·JavaWeb之Servlet(一)Maven创建Servlet项目时的换源与运行时404的可能解决方案
·JavaWeb之Servlet(二)Servlet生命周期方法与GET/POST请求分发
·JavaWeb之Servlet(三)ServletConfig与ServletContext
·JavaWeb之Servlet(四)HttpServletRequest与HttpServletResponse

文章目录

  • 导航
  • 前言
  • 一、HttpServletRequest
    • Ⅰ、常用方法
    • Ⅱ、表单中文乱码
    • Ⅲ、请求转发
      • 特点
  • 二、HttpServletResponse
    • Ⅰ、输出流
    • Ⅱ、回传数据以及解决中文乱码

前言

–>视频教程传送门<–

一、HttpServletRequest

Ⅰ、常用方法

每当产生一次请求,Servlet会将请求解析,传到doGet和doPost内进行操作

方法名 描述
HttpServletRequest.getHeader(Key) 获取请求头
HttpServletRequest.getRequestURI() 获取URI地址
HttpServletRequest.getRequestURL() 获取URL
HttpServletRequest.getRemoteHost() 获取访问IP
HttpServletRequest.getParameter(Key) 获得单一参数值
HttpServletRequest.getParameterValues(Key)
Arrays.asList(HttpServletRequest.getParameterValues(Key)))
获取多返回值
HttpServletRequest.setCharacterEncoding(“utf-8”) 更改字符集
HttpServletRequest.setAttribute(Key,Value) 添加域数据
HttpServletRequest.getMethod() 获取请求的类型
HttpServletRequest.getRequestDispatcher(URI) 获取转发对象

Ⅱ、表单中文乱码

在doPost更改字符集

HttpServletRequest.setCharacterEncoding("utf-8");

Ⅲ、请求转发

默认映射地址是/web(/webapp),URI需要加斜杠

//获取转发的对象
RequestDispatcher requestDispatcher = HttpServletRequest.getRequestDispatcher(URI)
//转发
requestDispatcher.forward(HttpServletRequest,HttpServletResponse)

特点

  1. 访问URL不变
  2. 请求一次
  3. 共享域数据
  4. 不允许访问WEB-INF,但允许转发到WEB-INF
  5. 不允许转发出站

二、HttpServletResponse

Ⅰ、输出流

方法 描述
HttpServletResponse.getWriter() 字符流
response.getOutputStream() 二进制字节流

Ⅱ、回传数据以及解决中文乱码

//同时设定客户端和服务器字符集
response.setContentType("text/html; charset=utf-8");
//回传数据
PrintWriter writer = response.getWriter();
writer.write("From the server 服务器返回字符串");

欢迎在评论区留言
感谢浏览

你可能感兴趣的:(#,Servlet,servlet,java)