IDEA 搭建 Struts2 项目(二)

本次介绍的 IDEA 搭建Struts项目与上一篇我们利用 IDEA MAVEN 搭建有所不同,这次我们使用 IDEA自带的框架,IDEA 将自动为我们导入jar 包,并配置相应的项目结构,但是会有一些问题,我们在这里给出解决方案。

1.IDEA 搭建Struts项目步骤

新建项目:

File -> new project -> java -> javaee(勾选 webapplication 及 struts 框架,并选择download方式加载libarary )

这里写图片描述

项目结构:

这里写图片描述

配置Tomcat ,点击运行

2. 报错一: 找不到 struts 的Jar包

这是我们发现,tomcat 启动之后,控制台报错,下面是主要报错信息,详细报错见附录一

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

错误原因:

jar 包路径 放在 lib里,这样导致 IDEA 打包时,没有打包到 web-inf/lib 路径下,所以Tomcat 会报错

解决方案:

  1. 我们可以直接 将 jar 包 放到 WEB-INF/lib 路径下

  2. 可以在 IDEA下设置,让 IDEA在打包的时候,将jar 包打包 到 WEB-INF/lib 路径下,下面介绍:

FILE -> Project Structure中设置。

这里写图片描述

经过上面步骤,我们重启,就会发现,已经打包 到了 WEB-INF/lib 路径下

3.报错二,缺少 javassist 包

上面步骤后,我们重新运行,提示出现了 新的错误,主要错误信息如下:

Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:166)

错误原因:

使用maven 就简单多了,maven 把依赖处理的很好,但是直接使用 IDEA 的framework 引入jar 可能没有那么全,所以需要我们再次手动引入 javassist 包, 并配置 到 WEB-INF\lib 路径下。

解决方案:

我们从IDEA maven 中搜索响应的jar 包。

这里写图片描述

这里写图片描述

同样道理,我们对 javassist 的jar 包 进行 和 struts jar包一样 的打包配置,如下图:

这里写图片描述

添加后重新运行,即可,如下图,成功运行:

这里写图片描述

猜你喜欢

转载自blog.csdn.net/shuai_wy/article/details/79027573