当前位置: 技术问答>java相关
如何在新窗口中打开链接
来源: 互联网 发布时间:2015-05-16
本文导语: 假设在以web页面中有一链接,我想在新窗口中打开,应该怎么写, | 实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 se...
假设在以web页面中有一链接,我想在新窗口中打开,应该怎么写,
|
实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session ID 。
把 session ID 加到一个连接可以使用一对方法来简化:response.encodeURL() 使 URL 包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL () 来对 URL 进行编码。
encodeURL () 及 encodeRedirectedURL () 方法首先判断 cookies 是否被浏览器支持;如果支持,则参数 URL 被原样返回,session ID 将通过 cookies 来维持。
来看下面的例子,两个 JSP 文件:hello1.jsp 和 hello2.jsp,及它们之间的影响。我们在 hello1.jsp 中简单的创建一个会话,并在 session 中存储一个对象实例。接着用户可以点击页面的连接到达 hello2.jsp。在 hello2.jsp 中,我们从 session 中获取原先放置的对象并显示它的内容。注意,我们在 hello1.jsp 中调用了 encodeURL() 方法来获得 hello2.jsp 的链接,使得在浏览器停用 cookies 的情况下,session ID 自动添加到 URL,hello2.jsp 仍能得到 session 对象。
把 session ID 加到一个连接可以使用一对方法来简化:response.encodeURL() 使 URL 包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL () 来对 URL 进行编码。
encodeURL () 及 encodeRedirectedURL () 方法首先判断 cookies 是否被浏览器支持;如果支持,则参数 URL 被原样返回,session ID 将通过 cookies 来维持。
来看下面的例子,两个 JSP 文件:hello1.jsp 和 hello2.jsp,及它们之间的影响。我们在 hello1.jsp 中简单的创建一个会话,并在 session 中存储一个对象实例。接着用户可以点击页面的连接到达 hello2.jsp。在 hello2.jsp 中,我们从 session 中获取原先放置的对象并显示它的内容。注意,我们在 hello1.jsp 中调用了 encodeURL() 方法来获得 hello2.jsp 的链接,使得在浏览器停用 cookies 的情况下,session ID 自动添加到 URL,hello2.jsp 仍能得到 session 对象。
|
你可以在你的URL中加入一个变量,用于说明是哪个页面。
如:test1.htm链接到页面
test2.htm链接到页面
test3.htm链接到页面
你可以在test.jsp中添加语句
如:test1.htm链接到页面
test2.htm链接到页面
test3.htm链接到页面
你可以在test.jsp中添加语句
|
返回
|
|
request.getrequestURL();
|
可以在JSP中java 的条件来判断是转到哪张页面的。
等等
等等
|
你可以把上一个页面URL放在session中,再在下一个页面中取出来。
下面的这段代码给你一点启示:
hello1.jsp
hello2.jsp
hello2.jsp
下面的这段代码给你一点启示:
hello1.jsp
hello2.jsp
hello2.jsp
|
用Session或Cookie都是很好的做法!只是不知Jsp里有没有类似Asp里的Request.ServerVariables("HTTP_REFERER")的环境变量,不过你可以Jdk文档!