jap跳转forward后如何取到浏览器地址栏显示的URL?

mlw2000 2009-04-10 11:15:13

<%@page language="java" contentType="text/html;charset=utf-8" session="false"%>
<jsp:forward page="page2.jsp"/>



<%@page language="java" contentType="text/html;charset=utf-8" session="false"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>page2</title>
</head>

<body>
<%
out.println("getRequestURI():"+request.getRequestURI()+"<br/>");
out.println("getRequestURL():"+request.getRequestURL()+"<br/>");
out.println("getServletPath():"+request.getServletPath()+"<br/>");
%>
</body>

</html>

地址栏显示page1.jsp;如何获取到这个“page1.jsp”的字母串
...全文
331 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dantin 2009-04-15
  • 打赏
  • 举报
回复
来晚了,顶了
ben0759 2009-04-14
  • 打赏
  • 举报
回复
能说的都说了。。
mlw2000 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zyr860122 的回复:]
引用 2 楼 mumu_java 的回复:
js中直接可以location.href获得。


这个最简单
[/Quote]
不能用js
zyr860122 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mumu_java 的回复:]
js中直接可以location.href获得。
[/Quote]

这个最简单
vincent201201 2009-04-13
  • 打赏
  • 举报
回复
那就不清楚了。我用着没问题
wx830 2009-04-13
  • 打赏
  • 举报
回复
资料挺多的, 我也不多加了..... 算是顶下吧
mlw2000 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vincent201201 的回复:]
可以写一个方法。

Java codepublicString getFullURL(HttpServletRequest request) {
StringBuffer url=request.getRequestURL();if(request.getQueryString()!=null) {
url.append('?');
url.append(request.getQueryString());
}returnurl.toString();
}
[/Quote]
request.getQueryString()得到的是一个空字符串。


另外我需要在page2.jsp中的java代码片段中使用“浏览器地址栏的URL”,所以不可能在java代码的执行过程中使用JavaScript。
ouyangqinxin 2009-04-10
  • 打赏
  • 举报
回复
<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
index
</title>
</head>
<body bgcolor="#ffffff">
<%
response.sendRedirect("跳转页面");
%>
</body>
</html>
mumu_java 2009-04-10
  • 打赏
  • 举报
回复
js中直接可以location.href获得。
vincent201201 2009-04-10
  • 打赏
  • 举报
回复
可以写一个方法。


public String getFullURL(HttpServletRequest request) {
StringBuffer url = request.getRequestURL();
if (request.getQueryString() != null) {
url.append('?');
url.append(request.getQueryString());
}
return url.toString();
}
mlw2000 2009-04-10
  • 打赏
  • 举报
回复
request.getRequestURL()和浏览器地址栏的的URL不匹配。
浏览器地址栏显示http://localhost:8080/page1.jsp,
request.getRequestURL()得到的却是"http://localhost:8080/page2.jsp"
mlw2000 2009-04-10
  • 打赏
  • 举报
回复
request.getRequestURL()和浏览器地址栏的的URL不匹配。浏览器地址栏显示http://localhost:8080/page1.jsp,
request.getRequestURL()得到的却是"http://localhost:8080/page2.jsp"
mlw2000 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 vincent201201 的回复:]
这个我在项目中使用过的。能够正常取出request的URL。你DEBUG一下找找原因吧。
[/Quote]
request.getQueryString()得到的是URL中?号之后的字符(不包括hash字符);
其实我提的问题的关键在于
request.getRequestURL()和浏览器地址栏的的URL不匹配。浏览器地址栏显示http://localhost:8080/page1.jsp,
request.getRequestURL()得到的却是"http://localhost:8080/page1.jsp"

vincent201201 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mlw2000 的回复:]
引用 1 楼 vincent201201 的回复:
可以写一个方法。

Java codepublicString getFullURL(HttpServletRequest request) {
StringBuffer url=request.getRequestURL();if(request.getQueryString()!=null) {
url.append('?');
url.append(request.getQueryString());
}returnurl.toString();
}

request.getQueryString()得到的是一个空字符串。


另外我需要在…
[/Quote]

这个我在项目中使用过的。能够正常取出request的URL。你DEBUG一下找找原因吧。
zidasine 2009-04-10
  • 打赏
  • 举报
回复
request.getHeader("Referer")
zidasine 2009-04-10
  • 打赏
  • 举报
回复
request.getHeader("reffer");

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧