Giter Site home page Giter Site logo

spring-web's Introduction

✨Hello, world

Talk is cheap, show me the code!

onergang's total

spring-web's People

Contributors

dependabot[bot] avatar onergang avatar

Watchers

 avatar

spring-web's Issues

java.lang.IllegalArgumentException: Result Maps collection already contains value for com.gang.practice.spring.dao.UserDao.userResultMap

主要是mybatis配置文件问题,区别与去何处加载各个Dao文件位置的问题。
区别在于一个在applicationContext.xml中配置,一个在mybatis.xml中配置。

applicationContext.xml 配置

主要是在sqlSessionFactory属性中配置mapperLocations

 <!-- 配置SqlSessionFactoryBean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
      <property name="configLocation" value="classpath:mybatis/mybatis.xml"/>
        <property name="mapperLocations">
            <list>
            <value>classpath:mybatis/*.xml</value>
        </list>
        </property>
    </bean>

之后在mybatis.xml 中不需要在配置mapper 的相关属性。
如果再在mybatis.xml中配置相关属性,则会报错:Result Maps collection already contains value

mybatis.xml 配置

区别在于在定义sqlSessionFactory时不配置mapperLocations属性,则需要在mybatis.xml中配置mappers。

 <!-- 配置SqlSessionFactoryBean -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis.xml"/>
    </bean>

此时,需要在mybatis.xml中配置mapper的相关属性。

 <mappers>
        <mapper resource="mybatis/user-mapper.xml"/>
         ……
  </mappers>

静态资源(js css image)的处理

1.在web.xml中配置了servlet

    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

这个 "/" 意味着DispatcherServlet处理所有的请求,包含静态资源,但静态资源没有相应的处理器,所以会读取不到。

对静态资源的过滤主要有两种方式:

  1. 引入外部js 即 从服务器上引入。
    <!--  Bootstrap 核心 CSS 文件 -->
    <link href="http://apps.bdimg.com/libs/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
   <!-- 可选的Bootstrap主题文件(一般不使用) -->
    <script src="http://apps.bdimg.com/libs/bootstrap/3.2.0/css/bootstrap-theme.min.css"></script>
    <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
    <script src="http://apps.bdimg.com/libs/bootstrap/3.2.0/js/bootstrap.min.js"></script>

目前不在配置文件中加相应配置就可以读取到文件。
2.本地文件引入
首先要在spring配置文件中配置

    <!-- 对静态资源的处理-->
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven/>

对静态资源处理有3种方式。具体参照:springMVC对静态资源访问的处理
两个配置要协同使用。
本项目基于maven,静态资源挡在webapp下。
访问方式:

<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-3.1.0.min.js"></script>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.