Java Web学习——HttpServletRequest

一.
getRequestURL方法返回客户端发出请求时的完整URL。

getRequestURI方法返回请求行中的资源名部分。

getQueryString 方法返回请求行中的参数部分。

getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。

getRemoteAddr方法返回发出请求的客户机的IP地址

getRemoteHost方法返回发出请求的客户机的完整主机名

getRemotePort方法返回客户机所使用的网络端口号

getLocalAddr方法返回WEB服务器的IP地址。

getLocalName方法返回WEB服务器的主机名
二.获取请求头
1.getHeader方法
在这里插入图片描述
2.getHeaders方法
获取多个同名请求头对应的一组value值,因此返回枚举类型数据
3.getHeaderNames方法
/获取请求头的所有name值,返回的数据也是一个枚举类型的数据,将枚举中的元素依次遍历出来,根据name获取对应的value值,即可得到Http请求头的所有信息
三.获取客户端请求参数
1.getParameter方法
通过指定名称获取参数值,不区分get和post方法
2.getParameterValues(String name)方法
通过指定名称获取参数值数组,有可能一个名字对应多个值,例如表单中的多个复选框使用相同的name时;返回值应该用数组来接收。
3.getParameterNames方法
获取所有参数的名字;
4.getParameterMap方法
获取所有参数对应的Map,其中key为参数名,value为参数值。

四.使用Request实现转发

1.request可以像ServletContext一样实现Servlet之间的通讯,但是request的生命周期在一次请求中,ServletContext的生命周期在整个应用中。
2.request通过 getRequestDispatcher.forward(request,response)实现转发。 3.转发后,浏览器显示的网址还是原来的url。 4.不能在转发前写入数据,但是可以写响应头之类的;转发前写到缓冲区的数据会被清空,并不会输出。

转发和重定向的区别

1.给服务器用的直接从资源名开始写,给浏览器用的要把应用名写上
2. 转发时:执行到跳转语句时就会立刻跳转
    重定向:整个页面执行完之后才执行跳转。
3.转发的request对象可以传递各种类型的数据,包括对象。重定向只能传递字符串。
4.转发是服务器跳转只能去往当前web应用的资源。
   重定向是服务器跳转,可以去往任何的资源。
5.典型的应用场景:

转发: 访问 Servlet 处理业务逻辑,然后 forward 到 jsp 显示处理结果,浏览器里 URL 不变

重定向: 提交表单,处理成功后 redirect 到另一个 jsp,防止表单重复提交,浏览器里 URL 变了
在这里插入图片描述
在这里插入图片描述

getRequestDispatcher.include(request,response)

include()方法可以实现包含网头和网尾的效果。

在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值