SpringMvc 3.x跨域+ajax请求

一.Cors,实现Js跨域访问Tomcat下资源(步骤如下)

  1. web.xml配置

    <filter>
      <filter-name>CorsFilter</filter-name>
      <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>CorsFilter</filter-name>
      <url-pattern>*.do</url-pattern>
    </filter-mapping>

  2. 请求
    * ajax请求

    $.ajax({
         type : "post",
         url : "",
        data : JSON.stringify(InsertLineInfoArr()),
        datatype : "json",
        contentType : 'application/json',
       success : function(data) {
    });
    问题:
    1) 后台用@requestBody接受
        ajax请求需要带上contentType,还有一个问题就是无论你有没有参数都要带上红色字体,否则会 返回403 请求被驳回。
    2) springmvc用@requestParam
        无所谓了就,就算不跨域也能访问,貌似是浏览器不拦截三种基本类型的。



    二.java实现Filter接口

    1.filter实现(开始设置成Authentitacation不行 改成Contenttype才行)

     

    2.Web.xml配置指向这个filter

    结尾:我也是个小菜鸟,没办法比较low第一种方法最简单,复制完以后只要请求带上contenttype就行,第二中其实也差不多,可能所谓的安全性巨差。

    

 

posted @ 2017-12-02 18:42  鱼克  阅读(2056)  评论(0编辑  收藏  举报