重定向

response之请求转发和重定向

半腔热情 提交于 2019-12-06 03:05:47
response:响应对象 提供的方法: void addCookie(Cookie cookie);服务端向客户端增加cookie对象 void sendRedirect(String location)throws IOException ;页面跳转的一种方式 void setContentType(String type):设置服务端响应的编码(设置服务端的content) 例如: 登录:login.jsp->check.jsp->success.jsp 请求转发 重定向 地址栏是否改变 不变(check.jsp) 改变(success.jsp) 是否保留第一次 保留 不保留 请求的数据 请求的次数 1 2 跳转发生的位置 服务端 客户端发出的第二次跳转 转发,重定向: 转发:张三(客户端)->A —>B(a内部找的) 重定向: 张三(客户端)->A —>去找B 张三(客户端)->B->结束 来源: CSDN 作者: 路远风 链接: https://blog.csdn.net/qq_43399648/article/details/96730769

flask 视图基础和url

纵然是瞬间 提交于 2019-12-06 02:50:49
FLASK介绍 一、Flask是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。 Web Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。 Werkzeug它是一个WSGI工具包,它实现了请求,响应对象和实用函数。 这使得能够在其上构建web框架。 Flask框架使用Werkzeug作为其基础之一。 jinja2是Python的一个流行的模板引擎。Web模板系统将模板与特定数据源组合以呈现动态网页。 Flask通常被称为微框架。 它旨在保持应用程序的核心简单且可扩展。Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以向应用程序添加此类功能。 二、url 与函数映射 from flask import Flask,request,render_template app = Flask(__name__) #http://127.0.0.1:5001/test/?uname=zhangsan&pwd=123456 @app

让你明白response.sendRedirect()与request.getRequestDispatcher().forward()区别

99封情书 提交于 2019-12-06 02:22:58
JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ① response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ② response.sendRedirect(url)-----是客户端跳转 request.getRequestDispatcher(url).forward(request,response) -----是服务器端跳转 ③ response.sendRedirect(url)跳转到指定的URL地址后,上个页面(跳转之前的原来页面)中的请求全部结束,原request对象将会消亡,数据将会消失。紧接着,当前新页面会新建request对象,即产生新的request对象。 【详细过程:redirect 会首先发一个response给浏览器,然后浏览器收到这个response后再发一个requeset给服务器,服务器接收后发新的response给浏览器。这时页面从浏览器获取来的是一个新的request。这时

response.sendRedirect()与request.getRequestDispatch

送分小仙女□ 提交于 2019-12-06 02:22:43
JSP中response.sendRedirect()与request.getRequestDispatcher().forward(request,response)这两个对象都可以使页面跳转,但是二者是有很大的区别的,分条来说,有以下几点: ①response.sendRedirect(url)-----重定向到指定URL request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL ②response.sendRedirect(url)-----是客户端跳转 request.getRequestDispatcher(url).forward(request,response) -----是服务器端跳转 ③response.sendRedirect(url)跳转到指定的URL地址后,上个页面(跳转之前的原来页面)中的请求全部结束,原request对象将会消亡,数据将会消失。紧接着,当前新页面会新建request对象,即产生新的request对象。 【详细过程:redirect 会首先发一个response给浏览器,然后浏览器收到这个response后再发一个requeset给服务器,服务器接收后发新的response给浏览器。这时页面从浏览器获取来的是一个新的request。这时

request的setAttribute()怎么用的?

这一生的挚爱 提交于 2019-12-06 02:22:30
equest.setAttribute ()怎么用的? JSP1代码 String [] test=new String[2]; test[0]="1"; test[1]="2"; request.setAttribute ("test",test) ; response.sendRedirect("jsp2.jsp"); JSP2代码 String test[]=(String[])request.getAttribute("test"); out.print(test); 为什么JS P2中会找不到test? 用来在同一个request周期中保存变量使用。比如servlet调用后,推出JSP页面,这是一个request周期,如果在Jsp页面需要servlet中的一些 处理结构,就从request.getAttribute中获取。 sendRedirect()方法是通过浏览器重定向的,所以第二个JSP页面中获得的request并非是前一个页面的request(两次请求生成了前后两个不同的 request对象了)。 用RequestDispatcher接口的forward()方法试试看。 都在一起使用 List list = new CommonsDao().getAllCommons(); request.setAttribute("CommonsList", list);

Shadow DOM系列5-JavaScript

本秂侑毒 提交于 2019-12-06 02:07:07
英文链接: Shadow DOM: JavaScript , 02 SEPTEMBER 2013 on Web Components, Shadow DOM 我们目前已经对 模板 、 HTML引入 和 Shadow DOM( 简介 、 基础 、 样式 、 样式续 ) 有了一定了解。所有这些技术的终极目标就是 自定义元素(custom elements) ,但是我们 尚未 企及这一终点。在你迈向这一终点之前,我还希望你能理解使用 JavaScript 操作 Shadow DOM 的基本方式。所以在本文中我将要阐述一些需要注意的问题——特别是关于事件(events)是如何工作的。当你掌握了这些知识,你就能更好的创建你的自定义元素啦。 让我们开整吧! 在今天开始之前,我想要感谢 Eric Bidelman 的这篇介绍 Shadow DOM 样式添加的 宏文 (可以戳 中文译版 )。本文的大部分都是我对他这篇博文内容的实践。如果有机会的话你一定要去读一下 HTLM5 Rocks 关于 Web Components 的全部文章 。 技术支持 我建议你使用 Chrome v33+ 来实验本文的例子,因为 33+ 的 Chrome 对我所描述的这些新特性都有浏览器的原生支持。 JavaScript 作用域 还记得之前我花了大把时间解释 Shadow DOM 的 CSS

Nginx配置文件说明

不羁岁月 提交于 2019-12-06 00:41:34
-- 重定向Nginx错误页面的方法 -- 在nginx的配置文件中,可以对发生错误是的重定向页面进行配置,在nginx.conf文件中有下面的配置信息: error_page 404 /404.html; 这个404.html保证在nginx主目录下的html目录中即可,如果需要在出现404错误后直接跳转到另外一个地址,可以直接设置如下: error_page 404 http://www.***.com; 同样的方式可以定义常见的403、500等错误。 特别注意的是404.html文件页面大小要超过512k,不然会被ie浏览器替换为ie默认的错误页面。 -- Nginx状态监控配置 -- 需要注意的是,Nginx默认安装不包含状态模块stub_status,所以,在编译Nginx的时候,需要添加以下参数: --with-http_stub_status_module 一旦包含stub_status模块后,我们就可以在配置文件nginx.conf中开启状态页面: http { server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } location /nginx-status { stub_status on; access_log off;

Django学习笔记2——Django的View(视图)

可紊 提交于 2019-12-06 00:35:13
Django的View 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。 无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你当前项目目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。 一个简单的视图 下面是一个以HTML文档的形式返回当前日期和时间的视图: from django.http import HttpResponse import datetime def current_datetime (request) : now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 让我们来逐行解释下上面的代码: 首先,我们从 django.http模块导入了HttpResponse类,以及Python的datetime库。 接着,我们定义了current_datetime函数。它就是视图函数

linux下 > /dev/null 2 > &1 的意思

寵の児 提交于 2019-12-06 00:27:20
一、几个基本符号及其含义 之前看到别人写的一个shell脚本,有一个命令是: rm -f ${src_tmp_file} > /dev/null 2>&1 现在大概明白是什么意思了 当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用 类型 文件描述符 默认情况 对应文件句柄位置 标准输入(standard input) 0 从键盘获得输入 /proc/self/fd/0 标准输出(standard output) 1 输出到屏幕(即控制台) /proc/self/fd/1 错误输出(error output) 2 输出到屏幕(即控制台) /proc/self/fd/2 /dev/null 表示空设备文件 0 表示stdin标准输入 1 表示stdout标准输出 2 表示stderr标准错误 >/dev/null 这条命令的作用是将标准输出1重定向到 /dev/null 中。 /dev/null 代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了 >/dev/null 之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。 &1 对于 &1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。 2 对于2 ,表示标准错误,stderr。 2>&1 的意思就是将标准错误重定向到标准输出

2.jsp+servlet登录功能实现

安稳与你 提交于 2019-12-05 23:48:44
登录共功能实现: 实现要求,用户输入账号和密码点击登录 1.输入正确的账号密码跳转到主页面并显示出登录的账号名称。 2.输入错误的账号和密码跳转到登录页面去,并提示账号和密码错误。 login.jsp 页面代码 <body> <%=request.getAttribute("errorMessage") == null ? "" : request.getAttribute("errorMessage")%> <form action="/MyFirstWebProjects/LoginServlet" method="post"> <table> <tr> <td>username</td> <td><input type="text" name="user" /></td> </tr> <tr> <td>password</td> <td><input type="password" name="pass" /></td> </tr> <tr> <td></td> <td><input type="submit" value="登录" /></td> </tr> </table> </form> </body> home.jsp页面代码 <body> 用户名:<%=request.getAttribute("username") %> </body> loginServlet