求助:关于response.sendRedirect()参数问题

cuijiudong 2009-03-03 02:41:07
在程序中用到了response.sendRedirect(),需要将请求转发到另外一个服务器的地址,
现有问题是response.sendRedirect(参数),如果这个参数的地址是无效的,直接访问该地址会显示“该页无法显示”的,那我在转发之前需要怎么判断一下,才能使请求不去转发到这个页面,而在本地这段转向一个自定义的页面呢?

望高手指教啊!
...全文
224 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
peirenjun 2009-03-09
  • 打赏
  • 举报
回复
3 楼正解
陈雪松 2009-03-09
  • 打赏
  • 举报
回复
ajax:
request.status 当前请求的http状态码.只读
陈雪松 2009-03-09
  • 打赏
  • 举报
回复
HttpURLConnection httpConnection = ..

....

int state = httpConnection.getResponseCode()
cuijiudong 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuesong123 的回复:]
两种解决办法:
1. 通过客户端js判断,先redirect或者forward到一个jsp或者html页面,中间使用httprequest,拿到http状态码,如果是404或者500等,那么跳转到另一个页面。

2. 服务端检查,使用HttpUrlConnection连接到一个页面,通过返回的状态码检查

jsp/servlet API本身不提供这种机制,你的需求属于业务范畴
[/Quote]

说的比较好,很受益
但我还想问一下,怎么通过request取得状态码,我查了没有发现有此方法啊,能说一下嘛,另外,我目前的做法是jsp请求到后台,用response了,因为有很多业务上的处理的

croco1981 2009-03-05
  • 打赏
  • 举报
回复
厉害
z362752011 2009-03-03
  • 打赏
  • 举报
回复
我由一个参考办法,
你在后台用一个与网络文件相关的方法(具体什么方法我也不甚清楚)去判断远端服务器的文件是否存在,然后根据判断结果去跳转
陈雪松 2009-03-03
  • 打赏
  • 举报
回复
两种解决办法:
1. 通过客户端js判断,先redirect或者forward到一个jsp或者html页面,中间使用httprequest,拿到http状态码,如果是404或者500等,那么跳转到另一个页面。

2. 服务端检查,使用HttpUrlConnection连接到一个页面,通过返回的状态码检查

jsp/servlet API本身不提供这种机制,你的需求属于业务范畴
cuijiudong 2009-03-03
  • 打赏
  • 举报
回复
现在问题是a没办法判断它是否合法啊,这个url实际上写的是另外一个服务器上配置的servlet地址,
如果该服务没有启动,访问时肯定是无法访问的,
这种情况下,有没有一个状态码返回来呢?现在我也没想到如何能根据逻辑来判断啊
jackdalsen 2009-03-03
  • 打赏
  • 举报
回复
我理解楼主的意思,其实你希望有个函数sendRedirect(a,b).如果a页面不存在,就跳到b页面是吧?
很遗憾,这个做不到。
你只能在程序里hard code一下,判断a是否在你的合法页面内部。然后通过程序逻辑来转到b页面

81,094

社区成员

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

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