重定向

Spring MVC之视图解析器

耗尽温柔 提交于 2020-03-25 08:43:03
  Spring MVC提供的视图解析器使用ViewResolver进行视图解析,实现浏览器中渲染模型。ViewResolver能够解析JSP、Velocity模板、FreeMarker模板和XSLT等多种视图。   Spring处理视图最重要的两个接口是ViewResolver和View。ViewResolver接口在视图名称和真正的视图之间提供映射关系; 而View接口则处理请求将真正的视图呈现给用户。 1、ViewResolver视图解析器   在Spring MVC控制器中,所有的请求处理方法(Action)必须解析出一个逻辑视图名称,无论是显式的(返回String,View或ModelAndView)还是隐式的(基于约定的,如视图名就是方法名)。Spring MVC中的视图由视图解析器处理这个逻辑视图名称,Spring常用的视图解析器有如下几种:    1.1)AbstractCachingViewResolver :用来缓存视图的抽象视图解析器。通常情况下,视图在使用前就准备好了。继承该解析器就能够使用视图缓存。这是一个抽象类,这种视图解析器会把它曾经解析过的视图缓存起来,然后每次要解析视图的时候先从缓存里面找,如果找到了对应的视图就直接返回,如果没有就创建一个新的视图对象,然后把它放到一个用于缓存的map中,接着再把新建的视图返回

转发和重定向区别

我与影子孤独终老i 提交于 2020-03-25 03:57:51
在进行web开发时,跳转是最常见的,今天在这里来学习下2种跳转: 第一种是request.getRequestDispatcher().forward(request,response): 1、属于转发,也是服务器跳转,相当于方法调用,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,前后页共用一个request,可以通过此来传递一些数据或者session信息,request.setAttribute()和request.getAttribute()。 2、在前后两次执行后,地址栏不变,仍是当前文件的地址。 3、不能转向到本web应用之外的页面和网站,所以转向的速度要快。 4、URL中所包含的“/”表示应用程序(项目)的路径。 第二种是response.sendRedirect(): 1、属于重定向,也是客户端跳转,相当于客户端向服务端发送请求之后,服务器返回一个响应,客户端接收到响应之后又向服务端发送一次请求,一共是2次请求,前后页不共用一个request,不能读取转向前通过request.setAttribute()设置的属性值。 2、在前后两次执行后,地址栏发生改变,是目标文件的地址。 3、可以转向到本web应用之外的页面和网站,所以转向的速度相对要慢。 4、URL种所包含的"/"表示根目录的路径。 特殊的应用:对数据进行修改、删除

java转发和重定向

爱⌒轻易说出口 提交于 2020-03-25 00:55:24
1,请求 重定向 :客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变。 2,请求转发:服务器行为,request.getRequsetDispatcher().forward(requset,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。(服务器内部转发,所有客户端看不到地址栏的改变) 下面举个生活中的实例来说明: 请求重定向:就好比我们找一个A广告公司给设计名片,A明确告诉我们他们不会设计,就让我们找B公司,结果B公司给我设计好了,所以我们会对外宣称是B公司给我们设计的名片,(所以我们就相当于发送了两次次请求,URL地址栏里就从A变成了B公司) 请求转发:同样去找A公司给设计名片,A公司虽然不能设计但是他们接下了我们的活,把这项任务 外包 (转发)给B公司,最终我们会把钱给A公司,也就会对外宣称是A公司给我们设计的名片这就是请求重定向(所以我们就相当于只对A发送了一次请求,URL地址栏里依然是A公司)。 来源: https://www.cnblogs.com/vhyc/p/6291056.html

请求转发和重定向区别

有些话、适合烂在心里 提交于 2020-03-25 00:26:58
1,请求重定向:客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保持,地址栏的URL地址会改变。 2,请求转发:服务器行为,request.getRequsetDispatcher().forward(requset,response);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。(服务器内部转发,所有客户端看不到地址栏的改变) 请求重定向:就好比我们找一个A广告公司给设计名片,A明确告诉我们他们不会设计,就让我们找B公司,结果B公司给我设计好了,所以我们会对外宣称是B公司给我们设计的名片,(所以我们就相当于发送了两次次请求,URL地址栏里就从A变成了B公司) 请求转发:同样去找A公司给设计名片,A公司虽然不能设计但是他们接下了我们的活,把这项任务外包(转发)给B公司,最终我们会把钱给A公司,也就会对外宣称是A公司给我们设计的名片这就是请求重定向(所以我们就相当于只对A发送了一次请求,URL地址栏里依然是A公司) 来源: https://www.cnblogs.com/www-hsy-com/p/7622776.html

HTTP状态码

泪湿孤枕 提交于 2020-03-23 13:34:44
常见的http状态码 100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。 101: 转换协议 在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。 102:继续处理 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。 200:请求成功 处理方式:获得响应的内容,进行处理(重要) 201:请求完成,结果是创建了新资源。新创建资源的URI可在响应的实体中得到 处理方式:爬虫中不会遇到 202:请求被接受,但处理尚未完成 处理方式:阻塞等待 204:服务器端已经实现了请求,但是没有返回新的信 息。如果客户是用户代理,则无须为此更新自身的文档视图。 处理方式:丢弃 300:该状态码不被HTTP/1.0的应用程序直接使用, 只是作为3XX类型回应的默认解释。存在多个可用的被请求资源。 处理方式:若程序中能够处理,则进行进一步处理,如果程序中不能处理,则丢弃 301:请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源 处理方式:重定向到分配的URL(永久重定向,重要) 302:请求到的资源在一个不同的URL处临时保存 处理方式:重定向到临时的URL(临时重定向,重要) 304:请求的资源未更新 处理方式

常见HTTP状态码

左心房为你撑大大i 提交于 2020-03-23 12:14:42
常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容

HTTP协议的状态码

拥有回忆 提交于 2020-03-23 04:34:18
对于 Web编程 人员来说,熟悉了解HTTP协议的状态码是很有必要的,很多时侯可能根据HTTP协议的状态码很快就能定位到错误信息!今天整理了一下所有HTTP状态码。   HTTP状态码 (HTTP Status Code)是用来表示网页服务器HTTP 响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到 RFC 2518 、 RFC 2817 、 RFC 2295 、 RFC 2774 、 RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。 HTTP/1.1定义的状态码值和对应的原因短语(Reason-Phrase)的例子。   1XX表示:消息   这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。 这些状态码代表的响应都是信息性的,标示客户应该采取的其他行动。   “100″ : Continue 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分.   “101″ : witching Protocols 服务器已经理解了客户端的请求

XMLHTTPRequest状态status完整列表

北战南征 提交于 2020-03-23 02:32:23
AJAX中请求远端文件、或在检测远端文件是否掉链时,都需要了解到远端服务器反馈的状态以确定文件的存在 与否。 当然,在我们平常浏览网页时,也会发现一些文件不存在时显示为“404错误”,这就是常见的Http请求状态(status)   Web服务器响应浏览器或其他 客户 程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个应答头,一个空行,内容文档。下面是一个最 简单 的应答:    状态行包含HTTP版本、状态代码、与状态代码对应的简短说明信息。在大多数情况下,除了Content-Type之外的所有应答头都是可选的。但 Content-Type是必需的,它描述的是后面文档的MIME类型。虽然大多数应答都包含一个文档,但也有一些不包含,例如对HEAD请求的应答永远 不会附带文档。有许多状态代码实际上用来标识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)。   当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示该请求的状态的数字代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。 1xx - 信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 ·0 - 本地响应成功。  · 100 - Continue

HTTP状态码

别说谁变了你拦得住时间么 提交于 2020-03-21 22:25:45
HTTP状态码 HTTP状态码能够表示客户端HTTP请求的返回结果和服务器是否正常处理了请求. HTTP状态码由3位数字和原因短语组成, 如200 OK. 数字中的第一位表明了响应类别. 状态码 类别 原因短语 1XX Informational 信息性 接收的请求正在处理 2XX Success 成功 请求正常处理完毕 3XX Redirection 重定向 需要附加操作完成请求 4XX Client Error 客户端错误 服务器无法处理请求 5XX Server Error 服务器错误 服务器处理请求出错 2XX 成功 2XX表示请求被正常处理. 200 OK 表示服务器正常处理了请求. 在响应报文中, 随状态码一起返回的信息因方法不同而不同. 例如, GET时, 对应请求资源的实体为响应返回, HEAD时, 只返回首部, 不返回实体的主体部分. 204 No Content 表示服务器已经成功处理了请求, 但是返回的响应报文中没有实体部分, 另外也不允许返回任何实体的主体. 一般在只需要客户端往服务器发送信息, 而不需要向客户端发送新内容时使用. 206 Partial Content 表示客户端进行了范围请求, 服务器成功执行了这部分GET请求. 响应报文中包含由Content-Range指定范围的实体内容. 3XX 重定向 3XX表示需要执行一些特殊的处理来正确处理请求

你真的了解nginx重定向URI?-rewrite和alias指令

纵饮孤独 提交于 2020-03-21 14:56:08
未经允许不得转载!最近发现有博主转载我的文章,并没有跟我打招呼,也没有注明出处!!!! 熟悉Nginx的同学都知道Nginx可以用来做负载均衡和反向代理,非常好用。做前后端分离也是非常的方便。 今天我们就来说一下,用Nginx做前后端分离时如何做URI重定向? 什么是URI重定向? 就是说访问某一个或者某一规则URI时由Nginx的配置来决定重定向到另外一个或一类URI。 有啥用呢? 其中一个作用就是可以将请求映射到真实目录。具体啥意思呢? 比如我们的URL是 http://www.abc.com/ITwalking/page/index.html 而index.html在我们的系统目录 D:/resources/ITwalking/page/ 下 这时我们可以这样配置location: location /ITwalking {   root D:/resources/; } 用root这种方式配置的话,location后面的ITwalking是作为系统目录的, 即 D:/resources/下要有/ITwalking/page 这层目录。 这种配置是没问题的。 但假如我们的 D:/resources/ 下直接就是page, 然后下面直接就是文件呢,中间没有/ITwalking这层目录,怎么办呢?你可能会想,新建个ITwalking把page及其中的文件移动到里面