HttpServletRequest 和HttpServletResponse

一:HttpServletRequest

request对象是请求对象。请求一次就创建一个request对象,并且存储了请求的信息。所以在表单提交中,我们可以通过request对象获取用户提交的所有信息。

接口HttpServletRequest的常用方法

方法说明
getAttributeNames()返回当前请求的所有属性的名字集合
getAttribute(String name)返回name指定的属性值
getCookies()返回客户端发送的Cookie
getsession()返回和客户端相关的session,如果没有给客户端分配session,则返回null
getsession(boolean create)返回和客户端相关的session,如果没有给客户端分配session,则创建一个session并返回
getParameter(String name)获取请求中的参数,该参数是由name指定的
getParameterValues(String name)返回请求中的参数值,该参数值是由name指定的
getCharacterEncoding()返回请求的字符编码方式
getContentLength()返回请求体的有效长度
getInputStream()获取请求的输入流中的数据
getMethod()获取发送请求的方式,如get、post
getParameterNames()获取请求中所有参数的名字
getProtocol()获取请求所使用的协议名称
getReader()获取请求体的数据流
getRemoteAddr()获取客户端的IP地址
getRemoteHost()获取客户端的名字
getServerName()返回接受请求的服务器的名字
getServerPath()获取请求的文件的路径

二.HttpServletResponse

在Servlet中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse接口。设置响应的类型可以使用setContentType()方法。发送字符数据,可以使用getWriter()返回一个对象。下表是接口HttpServletResponse的常用方法。

接口HttpServletResponse的常用方法

方 法说 明
addCookie(Cookie cookie)将指定的Cookie加入到当前的响应中
addHeader(String name,String value)将指定的名字和值加入到响应的头信息中
containsHeader(String name)返回一个布尔值,判断响应的头部是否被设置
encodeURL(String url)编码指定的URL
sendError(int sc)使用指定状态码发送一个错误到客户端
sendRedirect(String location)发送一个临时的响应到客户端
setDateHeader(String name,long date)将给出的名字和日期设置响应的头部
setHeader(String name,String value)将给出的名字和值设置响应的头部
setStatus(int sc)给当前响应设置状态码
setContentType(String ContentType)设置响应的MIME类型

三:转发和重定向

 1:转发是request对象实现:request.getRequestDispatcher("路径").forward(request,response)
    重定向是request对象实现的: response.sendRedirect("路径) 

2:转发是一次请求,重定向是两次请求。所谓一次请求是从浏览器开始请求,服务器响应,到结束响应。
转发只能在一个web项目内跳转。转发过程中浏览器标题栏上面始终显示开始的地址。
重定向能在不同项目间跳转,从这个项目的一个界面可以跳转到另一个项目的一个界面,所以重定向的路径是有项目名称的,而转发路径不用带项目名称。由于重定向是两次请求所以浏览器标题栏上面的地址会改变。
3:转发的用处:传递数据,由于转发过程中传递了request,response对象,所以达到数据传递的作用;页面刷新问题,由于转发过程中浏览器的URL地址是开始时的,如果重新加载该页面的话,操作又会被重新调用。
重定向:不同web项目之间的跳转;解决重复重复刷新界面问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值