一、Struts2的jar包下载
-
从struts2的官网下载,struts2官网
-
由于我的tomcat版本是8.0,使用最新版struts 2.5时会报错,网上查了很久,有人说是bug,将tomcat提升到9就不会报错,我的tomcat不想再改了,再改比较麻烦。所以退而其次,使用Struts2.3的jar包。点击上图的download,往下翻,就是2.3。
-
下载完成后,解压,目录如下
二·、新建Struts2项目用到的jar包
说明:以下jar包都没有写版本号,对着lib目录下就能找到
-
在lib目录下的jar包并不是全部用到的,我们可以测试一个最基本的struts2项目所需的jar包
-
首先,要导入struts2-core.jar,这是核心的struts2 jar包,另外还有xwork-core.jar,struts2是由webwork框架的基础上开发的,底层都是xwork。如果你用的是struts2.5的话,只需先导入struts2-core即可,因为xwork-core已经放入了struts2-core.
-
启动服务器tomcat,从控制台下面开始找java.lang.ClassNotFoundException这个异常,这个异常是没有找到类,说明缺少jar包
-
ognl.jar,导进去,重启服务器
-
javassist.jar,导进去,重启服务器
-
commons-lang3.jar,导进去,重启服务器
-
commons-fileupload.jar,导进去,重启服务器
-
freemarker.jar ,导进去,重启服务器
-
commons-io.jar ,导进去,重启服务器
-
测试完成,没有再报异常,说明最基本的就是以上几个jar包,如果需要增添其他功能,则需要添加其他jar包。
三、Struts2注解所要用的jar包
-
与上面一样,导入插件jar包,struts2-convention-plugins.jar,这个是struts2注解的插件包,重启服务器
-
asm.jar,导进去,重启服务器
-
测试一个注解的简单例子,一个简单的action,和一个result.jsp页面,还有struts.xml,web.xml。重启服务器。配置struts.xml的文件的目的是指向result.jsp,如果不配置struts.xml,可以将result.jsp放在/WEB-INF/content/下面,这是默认的目录,struts.xml文件中常量struts.convention.result.path的value默认值是/WEB-INF/content/。
-
如果使用struts2.5,web.xml的过滤器的路径是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter,而2.3的路径是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
-
继续报异常,还是缺少类这个异常
-
asm-commons.jar ,导进去,重启服务器
-
无异常,在浏览器输入http://localhost:8080/Struts2-Convention/demo,成功访问result.jsp