• spring 报错


      一. java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter

    解决方案:

    1.看WEB-INF下面有没有lib,没有就自己创建一个

    2.右键改工程,选择properties

    3.再选择Deployment Assembly

    4.点击add

    5.选择Java Build Path Entries后点击next

    6.选择Maven Dependencies后点击finish

    7.点击Apply后点击OK

    重启tomcat就可以了

    二. Caused by: java.lang.IllegalStateException: Could not load JDBC driver class [com.mysql.jdbc.Driver]

    原因: Libraires 里没有相关mysql-connector-java的jar包

    解决方法: 在pom.xml 加入以下依赖项即可

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>

    三. java.lang.ClassNotFoundException: org.mybatis.spring.SqlSessionFactoryBean

    原因: Libraires 里没有org.mybatis的jar包

    解决方法: 在pom.xml 加入以下依赖项即可

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.2</version>
    </dependency>

     四.mybatis报错:The alias 'xxx' is already mapped to the value 'com.demo.xxx' 

    经过分析,原来是因为配置文件中,mybatis指定别名时,指定的是一个包路径,而不是一个具体的类。恰巧该项目依赖的jar包中,有2个不同jar包,存在同名类,并且所在包路径的顶层是相同的,故而出现此错误。

    修改方法很简单,可以修改配置文件中的包路径,或者修改其中一个类名。

     五. 报警不能发现 InternalResourceViewResolver 类

    原因: springmvc-config.xml 漏加 beanclass="controller.ProductController" /> //controller.ProductController 是自己编写的控制器

    加好后配置如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    
        <context:component-scan
            base-package="app18b.controller" />
        <mvc:annotation-driven />
        <mvc:resources mapping="/css/ **" location="/css/" />
        <mvc:resources mapping="/ *.html" location="/" />
        <!-- Register the bean -->
        <bean class="controller.ProductController" />
        <bean id="viewResolver"
                  class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
            <property name="prefix" value="/WEB-INF/jsp/" />
            <property name="suffix" value=".jsp" />
            
        </bean>
    </beans>

    六. 报警 Ambiguous mapping. Cannot map 'controller.ProductController#0' method

    原因 springmvc-config文件定义了一个ProductController,使用@service注解时又自动创建了一个ProductController

    错误springmvc-config配置

        <context:component-scan base-package="controller"/>
    <context:component-scan base-package="service"/>
    <mvc:annotation-driven/>
    <mvc:resources mapping="/css/ **" location="/css/"/>
    <mvc:resources mapping="/ *.html" location="/"/>
     <!-- Register the bean -->
    <bean class="controller.ProductController" /> 
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>
        
    </beans>

    修改后springmvc-config配置

    <context:component-scan base-package="controller"/>
    <context:component-scan base-package="service"/>
    <mvc:annotation-driven/>
    <mvc:resources mapping="/css/ **" location="/css/"/>
    <mvc:resources mapping="/ *.html" location="/"/>
     <!-- Register the bean -->
    <!--     <bean class="controller.ProductController" /> -->
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    </bean>
        
    </beans>

     七 报错没有bean没有init()方法 .java.lang.NoSuchMethodException: domain.Category.<init>()

    原因: java bean 设置了有参构造函数,导致bean 不能初始化

    解决方法: 去掉构造函数的参数,或者加上一个无参构造函数

    八   不能为属性:[commandName]找到setter 方法.

    <div id="global">
            <form:form commandName="book" action="/book_update" method="post">
                <fieldset>
                    <legend>Edit a book</legend>
                    <form:hidden path="id" />

    原因: commandName 已被淘汰

    解决方法: 改用  modelAttribute 即可

    九 :Spring url 格式转换错误:

    警告: Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'long'; nested exception is java.lang.NumberFormatException: For input string: "book_update"]

    原因: 表单form的action错误

    错误的url

    错误的表单

    <form:form modelAttribute="book" action="book_update" method="post">

    解决方法

    修改action加上项目名

    <form:form modelAttribute="book" action="/app19a/book_update" method="post">

    正确的url

    http://localhost:8080/app19a/book_list
  • 相关阅读:
    Iso-seq 必备基础
    html 段落
    html 标题
    html 简介
    motiMaker 软件安装测试
    ggplot2 提取stat计算出来的数据
    R包 randomForest 进行随机森林分析
    AJAX应用【股票案例、验证码校验】
    Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】
    Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/10760005.html
Copyright © 2020-2023  润新知