关于springmvc的跨域问题
来源:互联网 发布:淘宝上可信的澳洲代购 编辑:程序博客网 时间:2024/06/05 19:57
废话不多说直接上代码
1.首先是一个过滤器:
import java.net.URL;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class AccessKeyInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String referer = request.getHeader("Referer");
URL u = new URL(referer);
String host = u.getHost().toLowerCase();
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
response.setHeader("Access-Control-Allow-Origin", "*");
return true;
}
}
2.配置过滤器,拦截的接口
<mvc:interceptor>
<mvc:mapping path="/user/getUserCount"/>
<bean class="com.hiifire.filter.AccessKeyInterceptor"></bean>
</mvc:interceptor>
3.由于Spring默认Controller是不处理OPTIONS的请求的,所以必须在web.xml中打开,如下:
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>dispatchOptionsRequest</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
4.js进行访问
$(function(){
$.post("http://192.168.6.84/user/getUserCount",function(data,status){
alert(JSON.stringify(data));
},'json');
})
搞定
- 关于springmvc的跨域问题
- 关于springmvc处理跨域请求的问题
- 关于SpringMVC配置的问题
- 关于springMVC 时间的问题
- 关于springmvc的配置问题
- 关于SpringMVC的路径问题
- 关于SpringMvc传值的小问题
- SpringMVC 关于@RequestMapping的一些问题
- 关于springMVC中ModelAndView的问题
- 关于SpringMvc中使用aop的问题
- 关于SpringMVC返回date的格式问题
- 关于shiro+springMVC整合使用的问题
- 关于springMVC中AOP的问题
- 关于springMVC 访问静态资源的问题
- 关于springMvc action 无法进入的问题
- Springmvc关于静态资源的404问题
- 关于springmvc的静态资源映射问题
- springmvc关于@Autowired注入失败的问题
- Andrew NG 《machine learning》week 4,class1 —Motivations
- Binary Tree Preorder Traversal
- Android中的内存泄露问题
- UITableView默认选中第一个cell
- 三星上传问题解答(特别是2014年7月1日后新注册的开发者)
- 关于springmvc的跨域问题
- 过滤DataTable数据的Select()方法
- java和jsp四舍五入问题
- gcc -static 命令
- c/c++中float和double类型的存储
- C语言的面向对象写法
- 视频质量诊断
- Android 枚举类型的使用
- 枚举enum的用法