警告: No mapping found for HTTP request with URI [/mark_head/WEB-INF/jsp

本文探讨了使用Ajax请求时遇到的重定向问题及其解决方案。详细分析了如何通过调整配置及添加@ResponseBody注解来确保正确的页面跳转。

       这个问题出现的原因是在第一次访问接口成功的时候后转到jsp页面的时候,想要的情况是跳转到另一个jsp,然后在网上一通乱查乱改,在web.xml改<servlet> <url-pattern>/*</url-pattern></servlet>变成 <url-pattern>/</url-pattern>不行,然后在扫描注解 加上*,像这样<context:component-scan base-package="com.bejing.*" />,但是还是没什么用,后来觉得应该是返回的问题,然后在@RequestMapping(value="/login",method=RequestMethod.POST, produces = "text/html;charset=UTF-8" )加上了@ResponseBody,加上它对于ajax请求就能够按照原路返回了。

      另外值得说的就是在ajax请求中重定向和请求转发都是不起作用的,下面是从http://blog.youkuaiyun.com/ideality_hunter/article/details/61680554博客中找到的。

1)正常的http url请求,只有浏览器和服务器两个参与者。浏览器端发起一个http请求,服务器端处理后发起一个重定向,浏览器端从response中获取到重定向地址,发起另一个http url请求。也就是说,浏览器会按照response中的内容进行响应(如重定向),这是浏览器的功能决定的就得响应。
2)Ajax请求,参与者就有三个即ajax、客户端、服务器,ajax处于客户端和服务器两者之间。过程是客户端发起一个ajax请求,服务器端处理后,如果发起一个重定向,然后ajax会怎么办呢?它只会获取刚才请求返回的数据,其他的任何动作一概不去做,ajax是这么做的(ajax功能就是这么设定的,ajax框架源代码也是这么写的)。
也就是说,引入了ajax之后,ajax就插在浏览器和服务器之间了,服务器给浏览器的response被ajax拦截了,但是ajax本身却什么都不做,也不转达。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值