博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Maven搭建Struts2框架的开发环境
阅读量:4651 次
发布时间:2019-06-09

本文共 5248 字,大约阅读时间需要 17 分钟。

一、创建基于Maven的Web项目

  

  

  

  

  我使用的是MyEclipse8.5的版本,创建好的Web项目如下所示:

  

  我们知道,一个标准的Maven项目是必须包括【src/main/java】,【src/main/resources】,【src/test/java】,【src/test/resources】这四个Source Folder的,而创建好的项目当中只有一个(不懂为啥MyEclipse8.5没有帮我生成【src/main/java】),所以我们还需要手动创建剩下的【src/main/java】,【src/test/java】,【src/test/resources】这三个Source Folder,以创建【src/main/java】为例,具体步骤如下:

  

  

  点击【Finish】按钮完成创建,如下图所示:

  

  【src/test/java】,【src/test/resources】也是采用相同的方式进行创建,这里用一张动态的gif动画演示一下创建过程,如下图所示:

  

  最终效果如下:

  

  这样我们的【Struts2AnnotationMavenProject】项目才是一个标准的Maven项目,我们可以使用Maven来构建一下【Struts2AnnotationMavenProject】项目,看看能否正常构建成功,如下图所示:

  

   从运行结果显示,项目可以正常构建成功。

二、搭建Struts2的开发环境

2.1、添加Struts2框架的核心jar包

  由于我们是使用Maven管理项目中的jar包的,所以我们需要在pom.xml文件中添加Struts2框架的核心jar包的描述。

  编辑pom.xml文件,添加添加Struts2框架的核心jar包的描述,如下:

1 
3
4.0.0
4
me.gacl
5
Struts2AnnotationMavenProject
6
war
7
0.0.1-SNAPSHOT
8
Struts2AnnotationMavenProject Maven Webapp
9
http://maven.apache.org
10
11
12
junit
13
junit
14
3.8.1
15
test
16
17
18
19
org.apache.struts
20
struts2-core
21
2.3.16
22
23
24
25
Struts2AnnotationMavenProject
26
27

  pom.xml文件中标红的部分就是我们添加的Struts2框架的核心jar包的描述,保存pom.xml文件,此时Maven就会自动帮我们把struts2-core这个jar包依赖的其他相关jar包导入到我们的Web项目当中,如下图所示:

  

2.2、添加Struts2框架的配置文件struts.xml

  Maven约定,web项目开发中的使用到的配置文件都要放到【src/main/resources】这个Source Folder,如下图所示:

  

  编辑struts.xml文件,添加常用的配置项,配置信息如下:

1 
2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 27
28 29 30
31 32

2.3、convention-plugin和config-browser-plugin插件介绍

  以前用struts2框架开发项目时,每次编写好一个Action,就需要在struts.xml文件中配置Action,而convention-plugin这个插件的出现出现后,就不再需要在struts.xml文件中配置Action了,convention-plugin提供了一种非常方便的注解方式来配置Action类。

  convention-plugin采用"约定大于配置”的思想,只要我们遵守约定,完全可以少写配置甚至不写配置;config-browser-plugin插件则用于方便的浏览项目中的所有action及其与 jsp view的映射。这二个插件结合起来学习,能很方便的搞定struts2中各种复杂的action-view映射需求,所以现在使用Struts2框架开发Web应用时,一般都会配合这两个插件一起使用。

2.3.1、convention-plugin和config-browser-plugin插件使用

  为了方便使用Struts2框架,我们最好在项目中配合convention-plugin、 config-browser-plugin这两个插件一起使用,在maven项目的pom.xml中加上这两个插件的jar包描述,如下:

1 
2
3
org.apache.struts
4
struts2-convention-plugin
5
2.3.20
6
7
8
9
org.apache.struts
10
struts2-config-browser-plugin
11
2.3.20
12

  

2.4、在web.xml文件中配置Struts2的核心过滤器

1 
2
7 8
Archetype Created Web Application
9 10
11
12
配置struts2的核心过滤器
13
struts2
14
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
15
16 17
18
struts2
19
*.action
20
21
22

2.5、测试Struts2框架是否搭建成功

  编写一个TestAction类,用于测试

1 package me.gacl.action; 2  3 import org.apache.struts2.convention.annotation.Action; 4 import org.apache.struts2.convention.annotation.Namespace;  5 @ParentPackage("basePackage") 6 //使用convention插件提供的@Action注解将一个普通Java类标识为可以处理用户请求的Action类 7 @Action 8 //使用使用convention插件提供的@Namespace注解指明这个Action类的命名空间 9 @Namespace("/")10 public class TestAction {11     /**12      * test方法的访问方式:http://localhost:8080/Struts2AnnotationMavenProject/test!test13      * MethodName: test14      * Description: 15      * @author xudp16      */17     public void test(){18         System.out.println("调用了TestAction里面的test方法");19     }20 }

  在将类使用@Action注解标识时发现@Action注解必须使用JDK1.6才行,所以我修改了JDK的版本,改成使用JDK1.6的,如下图所示:

  

  由于使用了convention-plugin插件的提供的注解方式映射Action的访问路径,所以我们不再需要像以前那样在Struts.xml文件中配置Action的访问路径了,测试结果如下:

  

  可以看到,我们的TestAction里面的test方法已经成功调用了,这说明我们的Struts2框架的开发环境搭建成功。并且我们也感受到了使用convention-plugin插件开发基于注解的Struts2程序是非常方便和快捷的。

  我们的项目中还使用到了config-browser-plugin插件,下面我们来感受一下这个config-browser-plugin插件带来的便利之处

  输入访问URL:http://localhost:8080/项目名/config-browser/index.action来访问config-browser-plugin插件提供的视图页面,例如:http://localhost:8080/Struts2AnnotationMavenProject/config-browser/index.action,这样就可以进入config-browser-plugin插件提供的视图界面,如下图所示:

  

  以上就是在MyEclipse中使用Maven搭建Struts2框架的开发环境的相关介绍,使用了Maven之后,大大提高了框架开发环境的搭建速度,起码我们不再需要关心Struts2框架的开发环境需要哪些jar包,我们只需要引入Struts2的核心jar包struts2-core,然后Maven就会自动帮我们把struts2-core这个jar包的相关依赖jar全部加入到项目中,将web应用中的jar包全部交给Maven进行管理是一种非常好的做法,现在主流的项目都是采用Maven进行构建的。

转载于:https://www.cnblogs.com/xdp-gacl/p/4233289.html

你可能感兴趣的文章