Spring/SpringBoot学习中遇到的问题记录(2):java.lang.ClassNotFoundException:org.apache.jsp.WEB_002dINF.views.xx

最近在学习Spring实战第四版,学习到第5章,搭建SpringMVC时碰到了一个大问题。在这里我记录一下自己遇到的问题及解决办法。

首先,先描述一下自己在IDEA中搭建基于Java配置的SpringMVC的过程。过程如下:

(1)新建一个基本的Java项目,如下

 确定好命名,点Finish。

 

 构建出的空项目,目录结构如下:

 

(2)新建目录:lib、web等。具体可以参考我的结构。(注意:项目没添加web模块之前,web文件夹图标上不会出现小蓝点,而且web.xml文件也是不存在的。后面会介绍如何添加web模块) 

 

(3)将所需的jar包拷入lib文件夹下。 注意一下jstl-1.2这个包,我的问题就是这个包引起的。

 

(4) 点击File--》ProjectStructure,打开下面的窗口,照箭头方向将jar包正式引入到项目中:需要引入的主要有两项:一项是刚才拷入lib文件夹下jar包,可以点击“+”----》JARs or directories... 在打开的窗口中直接选中项目下的lib文件夹即可。

 

 第二项是Tomcat所依赖的包,选择Library,如果你的IDEA已经配置好自己的Tomcat,则会出现相对应版本的libraries,选择之后,添加即可。

 注意:一定要引入Tomcat的libraries库!!!!避免在项目中出现servlet-api、jasper包和jsp-api包等,这些包都包含在Tomcat本身的lib里,不然会冲突!!!!

 (5)给项目添加Web模块:选中ProjectStructure中的Facets选项,点击“+”号,选择Web选项。选择之后记得看一眼WebResourceDiretory这个设置。这里是你web资源(jsp页面、css等静态资源)的根目录,如果和你的文件目录不一样记得修改一下。

(6)添加完Web模块之后,选择Artifacts选项,看看右边所圈的内容是否有波浪线出现(WEB-INF下),如果有,底部会有提示,点击Fix,然后点击Apply就行。 

 

 (7)在编写完代码之后,将其部署到Tomcat上,设置可以参考下面我的设置

(8)部署完成之后,运行即可。 

 

 简单介绍完流程之后,讲一下我遇到的问题。一个是404问题,这个问题困扰我好久,我最后也没解决,然后就按照上面的流程重新构建,接着就出现了我接下来的问题java.lang.ClassNotFoundException:org.apache.jsp.WEB_002dINF.views.home.jsp。网上说的多是servlet-api和jasper还有一个jsp-api的jar包与tomcat自带的冲突。但是除了第一个jar包,后两个我根本就没引用,然后我将servlet-api换成和tomcat内置的servlet-api一致的版本,还是不行。最后我开始去查日志,一查就找到问题了。

 看我圈出来的地方,至此,我明白了是jstl的问题,然后一查才发现,我之前的引用的是jstl-1.2-sources.jar,这下找到问题了。于是用jstl-1.2.jar替换,果然,问题解决。我查看的这个日志位于:C盘.IntelliJIdea2019.1\system\tomcat\(项目部署到tomcat时的名字,在部署时控制台可以查看到)\logs下一个名字为localhost

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值