response

转发和重定向的区别

你。 提交于 2020-03-06 12:38:24
看到一篇关于页面跳转方式的介绍,写得挺好的,转载一下。 转发和重定向区别详解 作为一名java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别。 1、request.getRequestDispatcher().forward()方法,只能将请求转发给同一个WEB应用中的组件;而response.sendRedirect() 方法不仅可以重定向到当前应用程序中的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。 如果传递给response.sendRedirect()方法的相对URL以“/”开头,它是相对于整个WEB站点的根目录;如果创建request.getRequestDispatcher()对象时指定的相对URL以“/”开头,它是相对于当前WEB应用程序的根目录。 2、重定向访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。 3、HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求,这个过程好比有个绰号叫“浏览器”的人写信找张三借钱

js自动刷新页面代码

被刻印的时光 ゝ 提交于 2020-03-06 09:33:42
<script language="JavaScript"> function myrefresh(){ window.location.reload(); } setTimeout('myrefresh()',1000); //指定1秒刷新一次 </script> 页面自动刷新代码大全 1) 自动刷新页面 在 <body> 与 </body> 之间加入: <META http-equiv=refresh content=”10;url=../index.htm”> 10表示间隔10秒刷新一次 2) <script> window.location.reload(true); </script> 如果是你要刷新某一个iframe就把window给换成frame的名字或ID号 3) <script> window.navigate(”本页面url”); </script> 4> function abc() { window.location.href=”/blog/window.location.href”; setTimeout(”abc()”,10000); } 刷新本页: Response.Write(”<script>window.location.href=”/window.location.href”;</script>”) 刷新父页: Response.Write(”

Servlet中的编码问题

…衆ロ難τιáo~ 提交于 2020-03-06 02:26:04
对于response.setContentType()和response.setCharacterEncoding()的理解: 经过一些实践,对着两个方法有了一些自己的理解,有可能今后的学习中会发现自己现在得理解是错误的,到时候再改吧。 setCharacterEncoding()方法的作用是指定对服务器响应进行重新编码,与此同时,浏览器也会根据这个参数进行解码。所以,无论将此方法的参数设定为“UTF-8”还是“GBK”,浏览器均能正确显示中文。 如: 代码为 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); //response.setContentType("text/html;charset=UTF-8"); 浏览器显示如下: 代码为: request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("GBK"); // response.setContentType("text/html;charset=UTF-8"); 浏览器显示如下: 而setContentType()方法的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。

WebAPI-HTTP编程模型

喜夏-厌秋 提交于 2020-03-06 01:29:26
带着问题去思考,大家好! 它是什么?它包含什么?它能干什么? 消息 HTTP编程模型的核心就是消息抽象,表示为:HttPRequestMessage,HttpResponseMessage.用于客户端和服务端之间交换请求和响应消息。 HttpMethod类包含了一组静态属性: private static readonly HttpMethod getMethod = new HttpMethod("GET"); private static readonly HttpMethod putMethod = new HttpMethod("PUT"); private static readonly HttpMethod postMethod = new HttpMethod("POST"); private static readonly HttpMethod deleteMethod = new HttpMethod("DELETE"); private static readonly HttpMethod headMethod = new HttpMethod("HEAD"); private static readonly HttpMethod optionsMethod = new HttpMethod("OPTIONS"); private static readonly

Struts2动态方法调用

删除回忆录丶 提交于 2020-03-06 00:44:27
动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过,类似下面的配置就可以实现 <action name="chainAction" class="chapter2.action.Chapter2Action" method="chainAction"> <result name="chainAction" type="chain">redirect</result> </action> <action name="plainText" class="chapter2.action.Chapter2Action" method="plainText"> <result name="plainText" type="plainText">/WEB-INF/JspPage/chapter2/plaintext.jsp</result> </action> 第二种方式:感叹号方式(需要开启),官网不推荐使用这种方式,建议大家不要使用. 用这种方式需要先开启一个开关 <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 将此常量设置为true,这种方式才能使用

遇到OutOfMemoryException异常了

纵饮孤独 提交于 2020-03-06 00:42:48
遇到OutOfMemoryException异常了 2008-11-28 09:52 asp.net做的售后服务系统运行了快1年了,昨天在做全年数据导出的时候出现OutOfMemoryException异常,数据量大约50M。50M应该不是很大,放在数据库里也就几万条(表字段很多)。IIS6的应用程序池的设置是默认的。不知道为什么这样,本机测试的时候是没有这个问题的。估计问题的原因在于:1。程序中内存控制问题;2。服务器内存回收的问题。据说IIS6最多能用800M的内存,如果IIS设置的内存超过800M就可能出现OutOfMemoryException错误。IIS的设置也是比较重要的,可以在早上设置内存回收,把内存回收的周期设置为600分钟。 程序内一定要注意控制内存,虽然C#的程序基本都是托管的,由垃圾回收器来收内存,但是我们一定要注意多用using,数据读取用datareader。不要用dataset做大数据量的处理,合理利用分页。看了下系统的代码,有很多地方都需要优化,唉,没那么多时间搞,郁闷。以后写程序要多注意。 对于这个异常,貌似没有什么好的解决办法,只是在写程序的时候多注意。根治的办法只能是对程序动手术了。在Application_Error里可以捕获此异常。 ================Application_Error里处理异常的例子 //初始化异常

前端 fetch 通信

守給你的承諾、 提交于 2020-03-06 00:04:55
随着前端异步的发展, XHR 这种耦合方式的书写不利于前端异步的 Promise 回调. 而且,写起来也是很复杂. fetch API 本来是在 SW(ServiceWorkers) 中提出的, 不过, 后面觉得好用, 就把他挂载到 window 对象下. 这样, 在前端的正常通信中, 我们也可以直接调用. 但, fetch 毕竟比较新, 看一下他的兼容性. 在 PC 端上, 就 FF, Opera 和 Chrome 比较 fashion. mobile 的话, 基本上是不能用的. 当然, 前端一直是个拥抱变化的职业, 官方已经有一个现成的 polyfill 可以使用. 这样的话, 就没必要过多担心. 每用到一个新的 feature, 我们首先得知道他能不能用. Modernizr 这个库做的挺好的. 这里, 我们简单的了解一下就 ok 了. let isFetch = window.fetch?true:false; fetch 基本格式 可以说, fetch 就是 ajax + Promise. 使用的方式和 jquery 提供的 $.ajax() 差不多. fetch('./api/some.json') .then( function(response) { if (response.status !== 200) { console.log(`返回的响应码$

解决文件下载文件名乱码和特殊符号的问题

試著忘記壹切 提交于 2020-03-05 21:18:32
为了解决中文文件名乱码的问题,通常都会通过URLEncoder转码的方式来解决,关键代码如下 response . setContentType ( "application/x-msdownload" ) ; response . setHeader ( "Content-Disposition" , "attachment;filename=" + URLEncoder . encode ( fileName , "UTF-8" ) ) ; 但这样会出现的问题是,如果文件名有空格,下载下来文件名中的空格就会被+号替代,网上搜索大多数是URLEncoder.encode之后将+号替换成%20,这种做法指标不治本,如果文件名中有+号或%号等特殊符号,加号就会变成%20,%号就会变成%25输出,所以有特殊字符都不行。URLEncoder.encode可以解决中文名乱码问题,但无法解决文件名中包含特殊字符问题,所以正确的做法如下 response . setContentType ( "application/x-msdownload" ) ; fileName = new String ( fileName . getBytes ( "gbk" ) , "iso8859-1" ) ; response . setHeader ( "Content-Disposition" ,

python爬虫 day01

会有一股神秘感。 提交于 2020-03-05 20:13:59
1.http   (1)当用户在地址输入了网址 发送网络请求的过程是什么   (2)http 的请求方式:     get 请求: 比较便捷  缺点:不安全;明文  参数的长度有限制     post请求:比较安全  数据整体没有限制  上传文件:put(不完全的);delete(删除一些信息)  发送网络请求  请求头里面 requesrtheader  返回数据:response     head(请求头):accept:文本的格式  accept-Encoding:编码格式  Connection:长链接 短连接  Cookie:验证用的  Host:域名  Referer:标志从哪个页面跳转过来的  User-Agent:浏览器和用户的信息  2.爬虫的价值   (1)数据的买卖:数据分析:出分析报告  流量   (2)阿里指数;百度指数   (3)合法性:灰色产业     政府没有法律规定爬虫是违法的,也没有法律规定爬虫是合法的     公司概念:公司让你怕数据库(窃取商业机密) 违法   (4)爬虫只可以爬取用户能访问到的数据     爱奇艺的视频(VIP 和 非VIP)     普通用户  只能看非VIP的 爬取非VIP的视频     VIP 爬取VIP的视频     普通用户想要爬取VIP的视频(黑客) 3.爬虫的分类   (1)通用爬虫     1.使用搜索引擎

第二章:程序的基本结构

旧时模样 提交于 2020-03-05 17:22:07
flask中的helloworld: 1 from flask import Flask 2 3 app = Flask(__name__) 4 5 @app.route('/') 6 def index_1(): 7 return 'hello world' 8 9 @app.route('/<name>') 10 def index_2(name): 11 return 'hello {}'.format(name) 12 13 if __name__ == '__main__': 14 app.run(debug=True, port=8888) flask中的上下文全局变量: current_app:程序上下文: 当前激活程序的程序实例 g:程序上下文: 处理请求时用作临时存储的对象,每次请求都会重设这个变量 request:请求上下文: 请求对象, 封装了客户端发出的http请求中的内容 session:请求上下文: 用户回话, 用于存储请求之间需要“记住”的值的词典 请求调度:flask使用app.route修饰器或者app.add_url_rule()生成映射 请求钩子:在处理请求之前或之后执行某些代码很有用。比如,在请求开始前,需要创建数据库或者认证用户,为了避免使用重复代码,flask提供了注册通用函数的功能。 flask支持以下4中钩子: before