【ssm】构建某ssm简单工程遇到的问题(导包等)

【无法启动tomcat】

一开始我只关注到了这个报错,上网查找解决方案一直无果:

org.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误

然后我去调整了web.xml配置文件的配置,却又爆出了这样的错误:

org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext

却不知道真正的问题在于下面的Caused by:...

接下来又报了以下错误,清一色的ClassNotFoundException(不得不说,这个异常一般就是没导到包会报),后来发现原来是没导包到/WEB-INF下的/lib中,所以找不到类。

Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource

Caused by:java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextException

Caused by: java.lang.ClassNotFoundException: org.springframework.beans.FatalBeanException

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log

于是到Project Structure中,选中我要的一个一个包导入lib:

然后又有一个错误(吐槽自己菜还巨多错误,不过犯过的错误积累起来,下次也知道怎么解决的思路了),学了本专业以后,可以说是一天天的都在制造问题(写bug...),然后又不停地解决问题,对我这种急性子来说实在是需要一个冷静平和的心态,不过我现在已经对报错内心毫无波澜了,只想着赶紧找解决方案吧,然后才能继续走下一步。(题外话太多了,赶紧回来)

现在就成功启动tomcat了

[2022-04-27 08:17:45,830] Artifact spring_ssm:war exploded: Artifact is being deployed, please wait…
27-Apr-2022 08:17:46.885 信息 [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext: initialization started
27-Apr-2022 08:17:48.515 信息 [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.context.ContextLoader.initWebApplicationContext Root WebApplicationContext initialized in 1629 ms
27-Apr-2022 08:17:48.656 信息 [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.servlet.DispatcherServlet.initServletBean Initializing Servlet 'DispatcherServlet'
27-Apr-2022 08:17:49.771 信息 [RMI TCP Connection(3)-127.0.0.1] org.springframework.web.servlet.DispatcherServlet.initServletBean Completed initialization in 1114 ms
[2022-04-27 08:17:49,790] Artifact spring_ssm:war exploded: Artifact is deployed successfully
[2022-04-27 08:17:49,790] Artifact spring_ssm:war exploded: Deploy took 3,960 milliseconds
27-Apr-2022 08:17:55.522 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\Tomcat\apache-tomcat-9.0.59\webapps\manager]
27-Apr-2022 08:17:55.715 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\Tomcat\apache-tomcat-9.0.59\webapps\manager]的部署已在[192]毫秒内完成

可是一开始进行实际的操作,又出了不少问题...

【启动tomcat以后】

这个就是mybatis出的问题了,其实每次报错给的提示非常清晰,这一次又一次地提醒我,不要忽视报错的信息,很可能其中就是解决问题的关键,可以求助的方面:①自己找错误(代码写错?配置错误?版本问题?...)②面向百度编程(找技术博客,如csdn,特别是①找到了错误的地方,但因为首次遇到该错误不知道怎么解决)③官方文档、帮助文档也很重要!

 简而言之,就是两个bound的AccountMapper.xml和AccountMapper.java(interface)没有绑定成功,会根据xml配置中的命名空间去找该资源路径下是否有对应接口。

<mapper namespace="com.mapper.AccountMapper">
    <!-- 具体方法代码 -->
</mapper>

 然后我一看,果然是我起错了名字的问题...应该是com/mapper下

如何查看资源路径:

就会看到资源管理器中的目录关系。

可是又遇到了那个配置局部/全局数据源,连接sql失败也遇到的问题(找不到驱动类),先留个坑, 解决以后来填...

日志也报了以下的错误,细看也发现了lookup()方法的失败:破案了,原来是我配置jdbc的时候,获取参数名字填错了,是Driver不是driver(晕...),不过这说明,连接不到资源(无论是配置文件中的错误,如url,driver等本来就不对,还是获取参数没获取到等)都会导致资源创建实例错误,即NamingException,不过一般lookup()跟驱动driver有关的。

javax.naming.NamingException: 无法创建资源实例
		at org.apache.naming.factory.FactoryBase.getObjectInstance(FactoryBase.java:98)
		at java.naming/javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:330)
		at org.apache.naming.NamingContext.lookup(NamingContext.java:864)
		at org.apache.naming.NamingContext.lookup(NamingContext.java:158)
		at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:115)
		at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:69)
		at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:32)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值