ssm搭建相关的问题
在搭建ssm框架时候踩得坑:
1.对于拦截器url-parttern的设置:第一次设置的是/** 本以为这个是表示拦截所有,没想到这是错误的写法,正确的写法是/
启动项目不会报错,但是会出现404 找不到要访问的路径
2.在pom.xml 文件中servlet的作用域没有设置为provided 这个表示使用jdk或者容器的 默认的是compile
启动项目报错:
Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/ssm-web]]
3.访问项目的时候报错:
Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
原因是缺少jstl的jar包
解决办法:将jstl的依赖加上
加上之后需要install 否则没有效果
4.在spring-service.xml中配置了别名的方式:
<property name ="typeAliasesPackage" value="classpath:com.dzf.entity"></property>
只好在mybatis.xml中配置别名的方式
5.使用注解的方式使用声明式事务,在这里又踩了个坑
我是这样配的
<tx:annotation-driven />
但是我的事务管理器的名字ID为txManager
正确的配置应该是:
<tx:annnotation-driven transaction-manager="txManager"/>
当然你像这样配置的话:
<tx:annocation-driven/> 也是没有问题的,但是有个前提条件是:你的事务管理器的id为 transactionManager
6.需要在pom.xml里面配置
第一次没有在pom.xml中配置这个这个文件资源路径的,加载不到jdbc.properties这个配置文件,启动项目报错,connection连接失败
<resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> <filtering>false</filtering> </resource> </resources>
如果不配置这个的话,就加载不到一些配置文件
7.写了一个小demo报了个:
Connection is read-only. Queries leading to data modification are not allowed
这个原因是我在spring-servlet.xml 中配置了事务,使用aop的方式,由于我的方法名称不规范,本来是insert的操作,方法的命名不规范,导致被获取的方法拦截到了,获取的方法事务权限配置的是read-only。以后需要命名规范!
持续更新中。。。