美文网首页
Spring学习遇到问题小计

Spring学习遇到问题小计

作者: lipy_ | 来源:发表于2019-01-07 10:34 被阅读0次

    提示错误,没有找到类,需要正确的导入包

    java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(Ljava/lang/Class;)

    错误信息.png
    导入包.png

    REST默认情况下,PUT和DELETE请求是无法提交表单数据的。
    解决方案:在web.xml中配置Spring提供的过滤器解决。

    <filter>
             <filter-name>HttpMethodFilter</filter-name>
             <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
    </filter>
    <filter-mapping>
             <filter-name>HttpMethodFilter</filter-name>
             <url-pattern>/*</url-pattern>
    </filter-mapping>
            
    <!--  将POST请求转化为DELETE或者是PUT
    要用_method指定真正的请求参数 -->
    <filter>
             <filter-name>HiddenHttpMethodFilter</filter-name>
             <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
             <filter-name>HiddenHttpMethodFilter</filter-name>
             <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    web项目中的跨域问题解决方法

    • 什么是跨域?
      跨域就是跨域名或跨端口号进行调用
      浏览器基于安全考虑,不允许Ajax请求跨域调用数据(json、xml等)

        www.lpy.com >> www.lpy1.com           是跨域
        www.lpy.com >> sso.lpy.com            是跨域
        www.lpy.com >> www.lpy.com:8080       是跨域
        www.lpy.com >> www.lpy.com            不是跨域
      

      只有请求者和被请求者的域名和端口号完全一致,才不是跨域

    • jsonp 只支持get请求

        localhost:82/register.html  请求 localhost:84/user/check
        beforeSubmit: function () {
                    //检查用户是否已经被占用
                    $.ajax({
                        url: REGISTER.param.surl + "/user/check/" + escape($("#regName").val()) + "/1?r=" + Math.random(),
                        dataType: "jsonp",
                        jsonpCallback: "callback",
                        success: function (data) {
                            if (data.result) {
                   
                            } else {
                                alert("此用户名已经被占用,请选择其他用户名");
                                $("#regName").select();
                            }
                        }
                    });
                }
        function callback(data) {
                console.log(data);
            }
      
    • CrossOrigin

    ik-analyzer

    • google code下载IKAnalyzer2012_u6 运行 报ikException in thread "main" java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream.(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analysis/TokenStream;
      原因IKAnalyzer中参考手册中的例子是使用的lucene3.4,与4.0已经是不兼容了,从google code上面下载 IK Analyzer 2012FF_hf1.zip 包即可
      https://code.google.com/archive/p/ik-analyzer/downloads
    • Unknown fieldType 'int' specified on field item_status

      int 改为 pint ,long 改为plong

    spring 分module 运行找不到jar中的spring配置文件

    严重: Context initialization failed
    org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is 
    java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
    
    • 解决
      1. 在war包的spring配置文件中加入
       <import resource="classpath*:spring/applicationContext-dao.xml"/>
       <import resource="classpath*:spring/applicationContext-service.xml"/>
      
      1. 在war包中的web.xml中加入
      <context-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>classpath:/spring/applicationContext-service.xml,classpath:spring/applicationContext-dao.xml</param-value>
      </context-param>
      

    相关文章

      网友评论

          本文标题:Spring学习遇到问题小计

          本文链接:https://www.haomeiwen.com/subject/cbiyrqtx.html