标签:forward

跨域跳转相关问题

发表于3年前(Jan 27, 2015 10:29:58 AM)  阅读 522  评论 0

分类: Java 开发运维环境

标签: 跨域 forward nginx sendRedirect

1、背景:

昨天有同学碰到这么一个问题,有服务器A部署了系统A,有服务器B部署了系统B,A系统使用IFrame嵌入了B系统相关功能。因为网络权限控制得比较严格,用户暂时只有访问服务器A的权限,与服务器B的网络是不通的,所以用户访问系统A的时候,嵌入系统B的功能页面将是空白。后咨询得知,网络不通的情况只是暂时的,但还是想先通过其他手段能先进行常规的开发和测试。

2、分析:

首先,Iframe本身跨域是没有问题的,只要客户浏览器能正常访问B服务器即可。如果客户跟B服务器网络不通,那Iframe直接嵌入肯定是行不通的。

其次,如果使用转发跳转,在java里面有sendRedirect和forward两种,其中sendRedirect是浏览器转发,所以其实还是浏览器访问目标地址,而forward则是服务器转发,浏览器并不需要具有目标地址的访问权限,但forward不能跨域。

反向代理是唯一可

......

Spring MVC使用ModelAndView进行重定向

发表于3年前(Dec 24, 2014 2:24:14 PM)  阅读 14076  评论 1

分类: Java

标签: forward ModelAndView redirect 重定向

1、Servlet重定向forward与redirect:

使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你,告诉你应该去重新请求另外一个url,具体表现就是地址栏的url变成了新的url。

2、ModelAndView重定向:

使用Spring MVC通常是使用ModelAndView用来返回视图。ModelAndView其实也是支持Servlet中的两种重定向方式。比如404页面我们一般采用redirect重定向方式,像下面的代码就是redirect重定向:

 

public ModelAndView getPage404MV() {		
	ModelAndVi
......