2016-10-20 16:57
@jinyuanyuanab 重定向是服务端向浏览器发回一个 url,告知浏览器拿着这个 url 重新发起一个 http 请求,所以地址栏里面的 url 会改变
而 ajax 是一个异步请求,只能是机械式地获取服务端数据,并不会对重定向返回内容做特殊处理,所以 ajax 天然不能与重定向在一起说事
正确的做法是,要么不使用 ajax ,后端做重向向才有意义,要么使用 ajax,服务端返回一个 json 例如 {"url", "http://xxx.yyy.com"},ajax 拿到数据以后,再 location = data.url; 进行跳转
首先要把概念搞清楚,重定向天生不能与ajax 在一起使用
2016-10-20 16:48
@xRhbN 不要去扩展或改写 FileRender,因为 FileRender 支持了断点继传,不适合扩展成为那种可以支持网络资源的 Render,单写个 Render 是最好的
2016-10-20 16:44
@都教授 我这我起码强调过几百次了,java web 规范决定了资源路径与 context path 有关,但是与任何框架无关,用 spring 与 struts 也是一样的结果
2016-10-20 16:42
@都教授 这是因为你的 context path 没有设置为 "",所以页面中所有不以 "/" 打头的 url 资源的路径都是跟着你浏览器的 url 乱串的。解决办法就是将 context path 改为 "",改一下 tomcat 的配置
2016-10-20 16:40
@simon1991 注意我第一个回复的两个关键点