1. spring集成mybatis常见的错误整理。
java.lang.NullPointerException:空指针异常
一个对象为NULL,使用它了,对他执行 点 操作。
String str = null;
sout(str.length());
ApplicationContext context= WebApplicationContextUtils.getWebApplicationContext(req.getServletContext());
UserDao userDao = (UserDao) context.getBean(“userDao”);
context 是null,说明没有实例化spring容器,查找web.xml中是否配置监听器
…NoSuchBeanDefinitionException: No bean named ‘userDao’ available
bean组件未定义异常:
-
容器中确实没有配置组件:
@Component("") @Repository @Service @Controller
组件扫描:扫描的包写对了没有 -
对一下bean的名字是否正确,区分大小写的
spring扫描接口,将接口首字母变小写
404:资源路径找不到
-
url路径写错了
-
没有deploy项目
-
由于某些代码问题:urlPattern没有以/开始,两个servlet映射同一个名字,启动报错
-
jsp可以访问,servlet,类都无法访问,tomcat坏了
500:系统异常
NullPointerException, NoSuchBeanDefinitionException,.........
405: Method Not Allowed, 方法不允许
servlet : --> doGet doPost
add.jsp --> form表单post提交 --> add.shtml --> doPost方法
–> 增删改成功一般是重定向到查询页面 response.sendRedirect();
无意中用成转发
user/select.shtml --> doGet doPost
JNDI : Java Naming Directory Interface, Java命名和目录访问接口,一般用于从容器中获取组件的
如何在Tomcat中配置数据源?
-
在tomat中配置数据源:$tomcat_home/conf/context.xml,
-
在spring容器中引入数据源 JNDI
-
如何测试?必须启动tomcat测试,不用java类直接测试
spring的自动装配:
-
xml方式
-
annotation 方式
@Resource : byName , name search --> type search
@AutoWired : byType