Servlet和request的总结

Servlet的作用总结

获取web的上下问路径

2.获取全局参数
4.请求转发
5.读取web项目的配置资源
在servlet界面进行的跳转的方式的区别
1.请求重定向(重定向浏览器发出两次请求:重定向有浏览器自己完成)
1.1重定向的话,本质是由转到另一个页面,url会跟着一起该变。
1.2重定向的化,可以定向到一个项目下。
1.3重定向是浏览器行为。
1.4重定向浏览器发送两次请求。
2.请求转发(转发浏览器只发出一次请求,转发动作由服务器完成)
2.1请求转发url不变,只是内容转变成转发地址的内容。
2.2只能访问当前目录下的资源,不能转发到其他目录的资源下。
2.3转发是服务器行为。
接触到的域对象:
Context;
Request;
Session;
因为请求转发转发是一个请求,所以可以用request作为域对象。重定向发起两次请求。两次请求不是同一个对象。所以不能用request作为域对象。
但是context不一样,一次请求只有一个context,所以不管是转发还是重定向都可以用context作为域对象。
三种写法:
ServletContext context = this.getServletContext();// URI
1.写法一RequestDispatcher rd = context.getRequestDispatcher("/hello.html");
rd.forward(request, response);

2.写法二this.getServletContext().getRequestDispatcher("/hello.html").forward(request, response);

3.写法三:sun公司在设计的时候,为了开发者在调用context的请求转发的时候方便;
直接让request将context的转发功能带上了,就可以直接写:
request.getRequestDispatcher("/hello.html").forward(request, response);

转发和重定向的本质:
1.servletcontext通过servletconfig获取
2.重定向的功能是servletcontext提供的
3.首先通过servletcontext获取请求转发的对象getRequestDispatch方法。
4.再通过RequestDispatch对象对请求进行转发。

Request的总结

1.request的对象的介绍
客户端向服务端发送请求时,服务器为本次请求创建的对象,并在调用servlet的service方法时将对象传递给service方法。Request对象分装请求的所有数据。

2.request常用的API
Request对象的类型是HttpServletRequest,该类中定义了很多与http协议相关的方法,比如获取请求头信息,请求方式,客户端ip地址等信息。下面是常用的API.
2.1常用信息
String getRemoteAddr():获取客户端IP地址
String getMother():获取请求方法get或post

2.1获取请求头信息
String getHeader(string name); 获取单值的请求头值
Int getIntHeader(string name)获取单值int类型的请求头值
3.request获取请求参数方法
4.request获取请求路径的方法
4.1String getServerName() 获取服务器名称
4.2 String getServerPort()获取服务器端口号
4.3String getContextPath() 获取项目名称
4.4String getServletPath()获取servlet得路径
4.5String getQueryString()获取参数部分 即?后面的部分
4.6 String getRequestUrl()获取请求得url

猜你喜欢

转载自blog.csdn.net/qq_41926227/article/details/88693893
今日推荐