h5 android 怎么重定向
jsp , asp, PHP 也有各自页面跳转与重定向的方式。
下文针对js 和jsp 的页面跳转实现方式进行一个总结。
html 页面跳转方式
可以使用html 的meta 标签实现页面的跳转。
下面解释 来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN"><HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<meta http-equiv="refresh" content="0; URL=http://wwwcsdnnet">
<script>
</script>
</HEAD>
<BODY>
This is Test Page
</BODY>
</HTML>
<!--Add by oscar999--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Author" CONTENT="oscar999"><meta http-equiv="refresh" content="0; URL=http://wwwcsdnnet"><script></script></HEAD><BODY>This is Test Page</BODY></HTML>这种用法比较常使用在:
新旧系统升级的状况下, 暂时保留旧系统,通过域名进入时自动转到新系统中。
JS 页面跳转方式
1 使用windowlocation = "newurl"
[html] view plain copy print
<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
</HEAD>
<BODY>
This is Test Page
<script>
windowlocation="http://wwwcsdnnet";
</script>
</BODY>
</HTML>
<!--Add by oscar999--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Author" CONTENT="oscar999"></HEAD><BODY>This is Test Page<script>windowlocation="http://wwwcsdnnet";</script></BODY></HTML>
也可以使用 windowlocationhref = "http://wwwcsdnnet";
2 使用 windownavigate
windownavigate("http://wwwcsdnnet");</script>
<script>windownavigate("http://wwwcsdnnet");</script>
3 windowloctionreplace方式实现页面跳转
<script language="JavaScript">windowlocationreplace("targetaspx");
</script>
有3个jsp页面(1aspx, 2aspx, 3aspx),进系统默认的是1aspx,当我进入2aspx的时候, 2aspx里面用windowlocationreplace("3aspx");
与用windowlocationhref ("3aspx");
从用户界面来看是没有什么区别的,但是当3aspx页面有一个"返回"按钮,调用windowhistoryGo(-1); wondowhistoryback();方法的时候,一点这个返回按钮就要返回2aspx页面的话,区别就出来了,当用 windowlocationreplace("3aspx");连到3aspx页面的话,3aspx页面中的调用 windowhistorygo(-1);wondowhistoryback();方法是不好用的,会返回到1aspx。
JSP跳转方式
JSP 跳转方式大约有三种:
1 responsesendRedirect(“newurl”);
-- 此语句前不允许有outflush(),如果有,会有异常:
JavalangIllegalStateException: Can't sendRedirect() after data has committed to the client
at comcauchoserverconnectionAbstractHttpResponsesendRedirect(AbstractHttpResponsejava:558)
--跳转后浏览器地址栏变化
--如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了
如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;
2 responsesetHeader("Location","newurl");
[html] view plain copy print
responsesetStatus(302);
responsesetHeader("location","newurl");
responsesetStatus(302);
responsesetHeader("location","newurl");
这种使用方式要结合 setStatus(302), 302 这个状态码就是告诉浏览器要重定向了。
此语句前不允许有outflush(),如果有,页面不会跳转。
跳转后浏览器地址栏变化
此语句后面的语句执行完成后才会跳转
3 <jsp:forward page="newurl" />
此语句前不允许有outflush(),如果有,会有异常:
跳转后浏览器地址栏不变,但是只能跳到当前主机下
此语句后面的语句执行完成后才会跳转
跳转后得路径变为当前路径,不是绝对路径将无法显示
例子:
整个简单的例子: 两个文件 ajsp 和 bjsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "http://wwww3org/TR/html4/loosedtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Before: This is ajsp! <br>
<%
//responsesendRedirect("bjsp");
//responsesetStatus(302);
//responsesetHeader("location","bjsp");
%>
<jsp:forward page="bjsp"/>
After: This is ajsp!
</body>
</html>
<!-- by oscar999 --><!-- This is ajsp --><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "http://wwww3org/TR/html4/loosedtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body>Before: This is ajsp! <br><% //responsesendRedirect("bjsp"); //responsesetStatus(302); //responsesetHeader("location","bjsp");%><jsp:forward page="bjsp"/>After: This is ajsp!</body></html>
对于jsp 而言, 就需要嚼一嚼Redirect 和 forward 的差别了。
就字面意思而已: Redirect 翻译成重定向, forward翻译成转发。
两者的区别是:
重定向是客户端行为,转发是服务器行为
重定向过程:客户浏览器发送http请求——》web服务器接受后发送302状态码响应及对应新的location给客户浏览器——》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址——》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。
转发过程:客户浏览器发送http请求——》web服务器接受此请求——》调用内部的一个方法在容器内部完成请求处理和转发动作——》将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。
解析: 第 41题
比如 sleep(1000) 意味着等待1000毫秒,可从 Promise、Generator、Async/Await 等角度实现
解析: 第 42 题
解析: 第 43 题
1、客户端使用https的url访问web服务器,要求与服务器建立ssl连接
2、web服务器收到客户端请求后, 会将网站的证书(包含公钥)传送一份给客户端
3、客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥
4、客户端利用公钥将会话秘钥加密, 并传送给服务端, 服务端利用自己的私钥解密出会话秘钥
5、之后服务器与客户端使用秘钥加密传输
解析: 第 44 题
解析: 第 45 题
1使用第一次push,obj对象的push方法设置 obj[2]=1;objlength+=1
2使用第二次push,obj对象的push方法设置 obj[3]=2;objlength+=1
3使用consolelog输出的时候,因为obj具有 length 属性和 splice 方法,故将其作为数组进行打印
4打印时因为数组未设置下标为 0 1 处的值,故打印为empty,主动 obj[0] 获取为 undefined
解析: 第 46 题
解析: 第 47 题
1、Functionprototypeapply和Functionprototypecall 的作用是一样的,区别在于传入参数的不同;
2、第一个参数都是,指定函数体内this的指向;
3、第二个参数开始不同,apply是传入带下标的集合,数组或者类数组,apply把它传给函数作为参数,call从第二个开始传入的参数是不固定的,都会传给函数作为参数。
4、call比apply的性能要好,平常可以多用call, call传入参数的格式正是内部所需要的格式
解析: 第 48 题
解析: 第 49 题
解析: 第 50 题
为什么在 Vue30 采用了 Proxy,抛弃了 ObjectdefineProperty?
解析: 第 51 题
解析: 第 52 题
解析: 第 53 题
解析: 第 54 题
如下:{1:222, 2:123, 5:888},请把数据处理为如下结构:[222, 123, null, null, 888, null, null, null, null, null, null, null]。
解析: 第 55 题
解析: 第 56 题
解析: 第 57 题
解析: 第 58 题
解析: 第 59 题
解析: 第 60 题
解析: 第 61 题
解析: 第 62 题
解析: 第 63 题
解析: 第 64 题
解析: 第 65 题
解析: 第 66 题
随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20] ,将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], [10, 11], [20]] 。
解析: 第 67 题
解析: 第 68 题
解析: 第 69 题
解析: 第 70 题
解析: 第 71 题
[上传失败(image-2eeb30-1575446538468)]
<figcaption></figcaption>
解析: 第 72 题
解析: 第 73 题
解析: 第 74 题
解析: 第 75 题
解析: 第 76 题
示例 1:
示例 2:
解析: 第 77 题
解析: 第 78 题
解析: 第 79 题
解析: 第 80 题
解析: 第 81 题
解析: 第 82 题
解析: 第 83 题
习题: https://blogcsdnnet/qq_37024887/article/details/106784068
解析: 第 84 题
解析: 第 85 题
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
解析: 第 86 题
解析: 第 87 题
以下数据结构中,id 代表部门编号,name 是部门名称,parentId 是父部门编号,为 0 代表一级部门,现在要求实现一个 convert 方法,把原始 list 转换成树形结构,parentId 为多少就挂载在该 id 的属性 children 数组下,结构如下:
解析: 第 88 题
解析: 第 89 题
[上传失败(image-aea64e-1575446538470)]
解析: 第 90 题
解析: 第 91 题
[上传失败(image-21d53f-1575446538470)]
解析: 第 92 题
示例 1:
中位数是 20
示例 2:
中位数是(2 + 3) / 2 = 25
解析: 第 93 题
解析: 第 94 题
解析: 第 95 题
解析: 第 96 题
解析: 第 97 题
解析: 第 98 题
解析: 第 99 题
解析:[第 100 题]( https://githubcom/Advanced-Frontend/Daily-
一、<a>标签
1 <a href=”testaspx”></a>
2 这是最常见的一种转向方法;
二、HyperLink控件
1 Aspnet 服务器端控件 属性NavigateUrl指定要跳转到的Url地址
2 NavigateUrl是可以在服务器端使用代码修改,这个区别于<a>
3 由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl
4 代码示例:
<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”testaspx”>ok</Asp:HyperLink>
三、ResponseRedirect()方法
1 过程:发送一个Http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。
2 页面跳转之后内部控件保存的所有信息丢失,当A跳转到B,B页面将不能访问A页面提交的数据信息。
3 使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变
4 可以使用Session Cookies Application等对象进行页面间的数据传递
5 重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求
四、ServerTransfer()方法
1 实现页面跳转的同时将页面的控制权进行移交
2 页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
3 跳转之后浏览器地址栏的Url不变
4 这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
五、ServerExecute()方法
1 该方法允许当前页面执行同一个Web服务器上的另一个页面
2 页面执行完毕之后重新回到原始页面发出ServerExecute()的位置。
3 这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合
4 被调用页面的Page指令的EnableViewStateMac属性设置为False
JavaScript
string str = "<script language=javascript>historygo(-2);</script>";
ResponseWrite(str);
设计1:XX网络构建方案设计
http://bbs51ctocom/thread-23928-1-14html
设计2:企业内部Web站点构建及维护;
http://searchnetworkingtechtargetcomcn/tips/293/2137793shtml
http://wwwcnittnet/wz1/Html/2004126181316-1html
http://wwwchinaitservicenet/it/%E5%87%A0%E7%A7%8D%E5%B8%B8%E8%A7%81%E7%9A%84%E5%B1%80%E5%9F%9F%E7%BD%91%E6%8B%93%E6%89%91%E7%BB%93%E6%9E%84html
设计3:企业内部的DNS服务器构建。
http://wwwetoowcom/article/2006/0103/1136290608htm
设计4:利用双网卡主机实现路由功能
首先保证主机有两块网卡,一块连接你的“猫”,一块连接副机,然后进入到副机电脑的Windows XP的“网络邻居”中,点选“设置家庭或小型办公网络”,这时要确定主机电脑和副机已连接好,点两下“下一步”,会出现三个选项,选择第二项,继续点“下一步”,在“工作组名”栏里把默认的“MSHOME”改为“WORKGROUP”,一直点“下一步”,直到问“你要做什么?”时,会出现四个选项,选择第四项,“完成该向导”就可以了。打开笔记本电脑上的IE,是不是可以上网了'
设计5:利用ADSL实现共享上网。
http://www0ccidnetcom/school/net/2001/09/14/70_5132html
设计6:利用代理服务器实现共享上网。
http://thdnchqwcom/archiver/tid-863html
设计7:简单FTP客户端软件设计。
http://happycampus52bloghexuncom/6670430_dhtml
设计8:RS-232串行接口通信软件设计
http://wwwbjxcomcn/files/wx/xddzjs/2002-4/33htm
0条评论