重定向

http学习笔记(四) HTTP状态码

匿名 (未验证) 提交于 2019-12-03 00:22:01
该文章主要介绍服务端返回的状态码说明。 状态码类别 一共有5种类别,数字中的第一位指定了响应类别,后两位无分类 2XX成功 2XX 结果列表如下: 状态码 原因短语 说明 200 OK 从客户端发来的请求在服务器端被正常处理了 204 No Content 服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分 206 Partial Content 客户端进行了范围请求,而服务器成功执行了这部分的GET请求 3XX重定向 3XX 结果表名浏览器需要执行某些特殊的处理以正确处理请求,列表如下: 状态码 原因短语 说明 301 Moved Permanently 永久性重定向 302 Found 临时性重定向 303 See Other 表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源 304 Not Modified 客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。 307 Temporary Redirect 临时重定向 4XX客户端错误 4XX 结果表明客户端是发生错误的原因所在,列表如下: 状态码 原因短语 说明 400 Bad Request 请求报文中存在语法错误 401 Unauthorized 发送的请求需要有通过HTTP认证的认证信息。之前已进行过1次请求,则表示用户认证失败 403

转发与重定向

匿名 (未验证) 提交于 2019-12-03 00:22:01
转发与重定向的区别如下: 转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的;重定向是在客户端完成的 2.转发的速度快;重定向速度慢 3.转发的是同一次请求;重定向是两次不同请求 4.转发不会执行转发后的代码;重定向会执行重定向之后的代码 5.转发地址栏没有变化;重定向地址栏有变化 6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成 在servlet中调用转发、重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp response.sendRedirect("new.jsp");//重定向到new.jsp 转发过程:客户浏览器发送http请求,web服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。 重定向过程:客户浏览器发送http请求,web服务器接受后发送302状态码响应及对应新的location给客户浏览器

c++重定向输入输出

匿名 (未验证) 提交于 2019-12-03 00:21:02
所谓重定向输出,就是可以把原本只是输出在控制台的字符,输出到你指定的路径文件中。(输入类似,就是从指定的文件中读取,而不是读取在控制台中的输入。)重定向函数可以在任何时候开启、关闭。 函数名:freopen 标准声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: <stdio.h> 参数说明: path: 文件名,用于存储输入输出的自定义文件名。 mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。 stream: 一个文件,通常使用标准流文件。 返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。 功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。 #include <stdio.h> #include <iostream> int main () { int a , b ; freopen ( "D:\\in.txt" , "r" , stdin ); //输入重定向,输入数据将从D盘根目录下的in.txt文件中读取 freopen (

关于重定向RedirectAttributes的用法

匿名 (未验证) 提交于 2019-12-03 00:19:01
原文地址 https://zhuanlan.zhihu.com/p/21353217?refer=pengsong-java RedirectAttributes 是Spring mvc 3.1版本之出来的一个功能,专门用于 重定向之后还能带参数跳转的的工具类 redirectAttributes.addAttributie("param",value); 这种方法相当于在重定向链接地址追加传递的参数 ,例如: redirectAttributes .addAttributie ( "param1" ,value1) ; redirectAttributes .addAttributie ( "param2" ,value2) ; return: "redirect:/path/list" 以上重定向的方法等同于 return:"redirect:/path/list?param1=value1&param2=value2 " ,注意这种方法 直接将传递的参数暴露在链接地址上 ,非常的不安全,没有任何改进还是不要用了。 redirectAttributes.addFlashAttributie("param",value); 这种方法是 隐藏了参数 ,链接地址上不直接暴露, 但是能且只能在重定向的 “页面” 获取param参数值 。其原理就是 放到session中

TmallSpringBoot实战学习笔记

匿名 (未验证) 提交于 2019-12-03 00:17:01
POJO 基本意思是说POJO一个普通的Java对象(不是JavaBean,EntityBean等),也不担当任何的特殊的角色,也不实现任何Java框架指定的接口。 错误的POJO public class DbHello implements Hello { //实现了接口,就不能称之为POJO,这已经不是简单的Java类了   private DictionaryDAO dao;   public void setDao(DictionaryDAO dao) {   this.dao = dao;   } } 正确的POJO public class DbHello { //简单的Java类,称之为POJO,不继承,不实现接口   private DictionaryDAO dao;   public void setDao(DictionaryDAO dao) {   this.dao = dao;   } } @GeneratedValue 注解存在的意义主要就是为一个实体生成一个唯一标识的主键(JPA要求每一个实体Entity,必须有且只有一个主键) @GeneratedValue 提供了主键的生成策略。 @GeneratedValue 注解有两个属性,分别是 strategy 和 generator ,其中 generator 属性的值是一个字符串,默认为""

04 Django视图层

匿名 (未验证) 提交于 2019-12-03 00:16:01
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。 无论视图本身包含什么逻辑,都要返回响应。 代码写在哪里也无所谓,只要它在你的Python目录下面。 除此之外没有更多的要求了――可以说“没有什么神奇的地方”。 为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为 views.py 的文件中。 下面是一个返回当前日期和时间作为HTML文档的视图: from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirect import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 让我们逐行阅读上面的代码: django.shortcuts 模块导入了 HttpResponse 类,以及Python的 datetime 库。 接着,我们定义了 current

C/C++ IO重定向

匿名 (未验证) 提交于 2019-12-03 00:03:02
转载,原始出处未知。 这个对OJ上做题很有用。OJ基本都是用标准输入输出(USACO除外)。但如果你在调试的时候也都是从控制台输入,那就太浪费宝贵的时间了。我们可以重定向标准输入,调试的时候从文件读,提交时从标准输入读。 C语言 方法比较简单。使用函数freopen(): freopen("data.in","r",stdin); freopen("data.out","w",stdout); 这样就把标准输入重定向到了data.in文件,标准输出重定向到了data.out文件。 这两句代码之后,scanf函数就会从data.in文件里读,而printf函数就会输出到data.out文件里了。 C++ streambuf* rdbuf () const; streambuf* rdbuf (streambuf *) 相当于get/set方法。 streambuf *backup; ifstream fin; fin.open("data.in"); backup = cin.rdbuf(); // back up cin's streambuf cin.rdbuf(fin.rdbuf()); // assign file's streambuf to cin // ... cin will read from file cin.rdbuf(backup); // restore

servlet的重定向与转发

匿名 (未验证) 提交于 2019-12-02 23:57:01
我的学习笔记 #本笔记纯属个人理解,难免会有狭义,缺漏之处。希望大家多多指点。 第一章 servlet的重定向与转发 这是我在学习中遇到的问题,一直以来对这个概念都是比较模糊的,所以我打算将这个概念梳理一下,总结一下,方便以后回顾。 转发 servlet的转发是通过request.getRequestDispacther()方法来实现转发的,一次请求,在本页面跳转,共用一个request,不更改url。整个过程是一个请求,一个响应。转发可以访问WEB-INF下的文件。 如:request.getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp); 重定向 servlet的重定向是通过response.sendRedirect()方法来实现的,与转发不同,servlet处理完之后遇到sendRedirect()方法并不是直接跳转到指定的页面,而是告诉浏览器你要自己去访问指定的页面,这时候浏览器会再发出一次请求,访问指定的页面。这样,一次重定向就产生了两次请求,两次响应,当然也产生了两个request对象,所以在重定向后的页面是不能直接获取前一个request里的数据的。因为第二次请求是从客户端发来的,所以不可以直接访问WEB-INF中的内容的。 如:resp.sendRedirect("…/login.jsp");

response

匿名 (未验证) 提交于 2019-12-02 23:57:01
response实际上用的是HttpServletResponse,HttpServletResponse是ServletResponse的子类 Servlet 时 需要重写service() 这些方法都有两个参数: request response service response 的类型是 ServletResponse doGet/doPost response 的类型是 HttpServletResponse HttpServletResponse ServletResponse 接口 . (response set ) response Http , 头 , : setStatus(int sc) 相关方法 set setHeader ( String String setIntHeader ( String setDateHeader ( String 使用set添加key add addHeader ( String String addIntHeader ( String addDateHeader ( String 使用add方式,key数据进去 重定向过程: http ―― > 302进行响应及对应 location―― > 302 自动 http url) > 在这里新的 URL ֮ǰ request 。 最终在客户浏览器路径栏显示的是其重定向的路径