SSM框架mapper文件夹由resource目录转入java目录后服务器上访问不到404
来源:互联网 发布:word数据转换成excel 编辑:程序博客网 时间:2024/05/19 18:38
1、遇到的问题
在搭建SSM框架的时候,由于是模仿别人的框架搭建,所以讲mapper文件夹放在了resource的目录下。然后spring-mybatis的配置为:
<!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:mapping/*.xml"></property> <!-- 文件映射器,指定类文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"/> </property> </bean>
这时在本地环境以及服务器环境上使用都没有任何问题。但是在编程过程中会出现一个比较麻烦的问题,就是要在java目录下与resource目录下来回切换。于是想到了将mapper文件夹直接剪切到java目录下。结果很不好意思,报错了。
2、出错原因
诱发这种错误的原因有几方面
(1)一般情况下。maven打包的时候对于 src/main/java 目录下的文件只打包源代码,不会打包其他的文件。所以我们的mapper.xml文件不会被打包,即使你已经转移到java目录下了。此类配置参见pom.xml文件的build标签配置,如果你的项目里build下没有resource的配置,那么证明你的项目采用的是默认配置。
(2)在我们的spring-mybatis.xml配置文件中,关于mapper映射的配置一定要改到你新转移的java目录下。一般来说,直接采用拖拽式转移文件的,系统都会自动帮你改掉此路径,这里没有什么可赘述的。附上两种配置情况。
<!--两种路径配置--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 自动扫描resource路径下的mapping.xml文件--> <property name="mapperLocations" value="classpath:mapping/*.xml"></property> <!-- 自动扫描java路径下的mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/familylife/ssm/mapper/*.xml"></property> </bean>
3、解决办法:
除了上边提到的,把spring-mybatis.xml文件路径改掉之外(其实改到这一步在本地就可以正常运行了,但是服务器上可访问不到,关于这点为什么我也没有深入研究,可能本地的打包方式跟服务器上不一样),我们还要在pom.xml中去配置maven在打包的时候都打包哪些文件。
在pom.xml文件中修改build配置:
<build> <finalName>FamilyLife</finalName> <!--使mapper文件夹可以配置在java文件夹下的关键配置。--> <resources> <!--扫描打包java目录下的xml文件与class文件--> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.class</include> </includes> <filtering>true</filtering> </resource> <!--扫描打包resource目录下的各类文件。(项目中用不到的类型文件可以删掉,这个随情况而定)--> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.bpmn</include> <include>**/*.conf</include> <include>**/*.pdf</include> </includes> </resource> </resources> </build>
到此,“SSM框架mapper文件夹由resource目录转入java目录后服务器上访问不到404“的问题就解决了。如果大家有更深入的研究,可以在评论区评论,共同学习。
阅读全文
0 0
- SSM框架mapper文件夹由resource目录转入java目录后服务器上访问不到404
- 在linux上访问windows共享目录
- java遍历resource目录
- mac上访问samba服务器
- mac上访问samba服务器
- 在非root android手机上访问/data/data/com.*目录
- java目录文件夹操作
- java获得文件夹目录
- 在android上访问本地服务器
- java框架学习目录
- Java集合框架目录
- java展示文件夹目录结构
- java 删除文件 目录 文件夹
- webstorm打开后无法显示文件夹目录
- webstorm打开后无法显示文件夹目录
- 如何在Mac上访问Windows的共享文件夹
- 如何在Mac上访问Windows的共享文件夹
- 在UBUNTU上访问同机windows下的文件夹:
- 常用的SQL语句
- SGISTL源码探究-关联式容器:hash_set
- const变量 C++
- 转发,重定向中的路径问题以及两者的区别,用法
- Eclipse关闭XML文件验证的方法
- SSM框架mapper文件夹由resource目录转入java目录后服务器上访问不到404
- 新广告法禁用词汇,各类极限用语整理汇总
- 写给自己
- 无须对抗分心也能更专注(笔记)
- 华为P9移动定制版刷为联通移动双4G版本
- 2018年小米校招笔试题
- Pythonic Data Structures and Algorithms(Array 4)
- C# DataTable中的计算函数
- explicit关键字和隐式的类类型转换