HttpServletRequest类

1、HttpServletRequest类有什么作用:

每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。

然后传递到service方法(doGet和doPost)中给我们使用,我们可以通过HttpServletRequest对象,获取所有请求的信息。

2、HttpServletRequest类的常用方法:

  1. getRequestURI() 获取请求的资源路径

  2. getRequestURL() 获取请求的统一资源定位符(绝对路径)

  3. getRemoteHost() 获取客户端的IP地址

  4. getHeader() 获取请求头

  5. getParameter() 获取请求的参数

  6. getParameterValues() 获取请求的参数(多个值的时候使用)

  7. getMethod() 获取请求的方式GET或POST

  8. setAttribute(key, value) 设置域数据

  9. getAttribute(key) 获取域数据

  10. getRequestDispatcher() 获取请求转发对象

     

如果访问的时候网页出现500,不一定就是代码的错误,在代码无误的情况下,可能原因是因为jre没有选择正确。

3、如何获取客户端发送过来的参数(请求参数)

  1. getParameter() 获取请求的参数

  2. getParameterValues() 获取请求的参数(多个值的时候使用)

     

解决POST中文乱码问题(要在获取请求参数之前调用才有效):

request.setCharacterEncoding("UTF-8");

要在获取请求参数之前调用才有效

 

4、请求转发:

什么是请求转发:

请求转发是指,服务器收到请求后,从一次资源跳转到另一个资源的操作叫请求转发。

 

请求转发的特点:

1、浏览器地址栏没有变化

2、他们是一次请求

3、他们共享Request域中的数据

(在请求转发过程中,客户端只发送了一次请求,而服务器也只有一个 Servlet 负责处理这个请求。当请求被转发时,原本的 Servlet 将 request 包装后传递给下一个 Servlet 继续处理,因此 request 域中存储的数据也可以被下一个 Servlet 获取到,实现了数据的共享。)

4、可以转发到WEB-INF目录下

5、不能访问工程以外的资源

**getRequestDispatcher** 是一个用于获取请求分派器(Request Dispatcher)的方法,可以从 ServletContext、ServletRequest 或 HttpServletResponse 对象中获取。请求分派器是 Servlet API 提供的一种用于将请求转发到其他 Servlet、JSP 页面或其他资源的机制。通过请求分派器,可以实现页面跳转、内部重定向和包含其他资源等功能。

请求分派器提供了两种方法来实现请求转发:

  1. forward() 方法:该方法由请求分派器的对象调用,它会将请求转发给一个新的资源,如 Servlet、JSP 页面或静态资源。使用 forward() 方法进行转发时,浏览器地址栏不会显示被转发的资源的 URL,而是仍然保持原先的地址。

  2. include() 方法:该方法与 forward() 类似,也是将请求发送到另一个 Servlet 或 JSP 页面。区别在于,使用 include() 方法进行转发时,被转发的资源返回后会继续处理当前 Servlet 的请求。

getRequestDispatcher 方法通常会接收一个表示目标资源路径(相对路径或绝对路径)的字符串作为参数。如:

RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);

上述代码表示获取一个指向 /index.jsp 资源的请求分派器,并使用 forward() 方法将当前请求转发到 index.jsp 页面。

总之,getRequestDispatcher 方法是 Java Servlet 应用程序中常见的一种请求回传机制,能够将请求信息发送到另一个 Servlet 或 JSP 页面。它提供了一种实现页面跳转和请求转发的方便和灵活的方式。

getRequestDispatcher() 获取请求转发对象也是请求分派器,

调用forward()方法将本页面请求转发到:servlet2

 

5、base标签的作用:

base标签设置页面相对路径工作时参照的地址,href 属性就是参数的地址值

 

6、Web中相对路径和绝对路径:

相对路径:

.                 表示当前目录

..                 表示上一级目录

资源名 表示当前目录/资源名

绝对路径:

http://ip:port/工程路径/资源路径

7、Web中斜杠 “ / ” 的不同意义:

在web中斜杠 / 是一种绝对路径。

/ 斜杠 如果被浏览器解析,得到的地址是:http://ip:port/

< a href="/"> 斜杆< /a>

/ 斜杠 如果被服务器解析,得到的地址是:http://ip:port/工程路径

1、 < url-pattern >/servlet1< /url-pattern>

2、ServletContext.getRealPath("/")

3、request.getRequestDispatcher("/")

特殊情况:请求重定向response.sendRediect("/");把斜杠发送给浏览器解析,得到 http://ip:port/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值