一个奇怪的问题,请明白原因的帮我解答一下

aloie 2010-08-14 10:34:51
java web应用,

http://www.aaa.cn/test/goto.jsp?url=http://www.aaa.cn/test/t.html

我想用goto.jsp作为一个中间跳转页面,接收一个url参数,通过goto.jsp跳转到t.html,但是我发现如果url后面是html的就不能正常跳转,浏览器404错误。但是http://www.aaa.cn/test/t.html页面确实存在且可以访问。我试过了,如果后面url指定的页面是htm就可以

为什么会出现这样的问题?如何解决?
...全文
72 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanfang1hao 2010-08-14
  • 打赏
  • 举报
回复
恩,可能是浏览器问题。。。。
aloie 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhoupuyue 的回复:]
我机器上的tomcat测试http://www.deartaobao.cn/lf/adclick.jsp?url=http://www.baidu.com/index.html也没问题的。

应该是tomcat的问题
[/Quote]

可能是吧,我的tomcat版本比较低了,5.5的。我试了试,转码之后可以了
adclick.jsp?url=<%=java.net.URLEncoder.encode(url)%>
阿_布 2010-08-14
  • 打赏
  • 举报
回复
我机器上的tomcat测试http://www.deartaobao.cn/lf/adclick.jsp?url=http://www.baidu.com/index.html也没问题的。

应该是tomcat的问题
aloie 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 monkeyking1987 的回复:]
这应该是参数中有的字符不能解析引起的吧.
并且你要URL不一定就传URL信息吧.你可以换个思路,
这问题不会太难的.
[/Quote]

我觉得你说的对,可能浏览器对html的url有特殊的要求,可能是路径中的斜线啥的需要转码,就像汉字要转码一样,但是我不知道怎么转,呵呵
aloie 2010-08-14
  • 打赏
  • 举报
回复
大家看看实例吧,访问下面这两个页面
http://www.deartaobao.cn/lf/adclick.jsp?url=http://www.baidu.com/index.html
http://www.deartaobao.cn/lf/adclick.jsp?url=http://www.baidu.com/index.htm
http://www.deartaobao.cn/lf/adclick.jsp?url=http://www.baidu.com

看看哪个可以正常访问到百度,为什么那个不能访问到?
dqsweet 2010-08-14
  • 打赏
  • 举报
回复
你的html文件的后缀名是不是 .htm?
aloie 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhoupuyue 的回复:]
但是我发现如果url后面是html的就不能正常跳转

如果后面url指定的页面是htm就可以

这两句怎么看都觉得矛盾。
[/Quote]

我把t.html另存为t.htm
http://www.aaa.cn/test/goto.jsp?url=http://www.aaa.cn/test/t.html 不能访问
http://www.aaa.cn/test/goto.jsp?url=http://www.aaa.cn/test/t.htm 可以访问
阿_布 2010-08-14
  • 打赏
  • 举报
回复
但是我发现如果url后面是html的就不能正常跳转

如果后面url指定的页面是htm就可以

这两句怎么看都觉得矛盾。
monkeyking1987 2010-08-14
  • 打赏
  • 举报
回复
这应该是参数中有的字符不能解析引起的吧.
并且你要URL不一定就传URL信息吧.你可以换个思路,
这问题不会太难的.
aloie 2010-08-14
  • 打赏
  • 举报
回复
goto.jsp代码很简单,如下:
<%@ page language="java"  pageEncoding="gbk"%>

<%
String url = request.getParameter("url");

if(url!=null && !"".equals(url))
{
response.sendRedirect(url);
}

%>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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