本文实现web工程整合struts2框架为案例
添加依赖
dependency
在pom.xml 中添加dependency标签,如下:
查找坐标
添加依赖需要指定依赖jar包的坐标,但是很多情况下我们是不知道jar包的坐标,可以通过如下方式查询:
网站搜索示例:
- 方法二:使用maven插件的索引功能
如果在本地仓库有我们要的jar包,可以在pom.xml中邮件添加依赖
构建web工程
编写web工程的pom.xml,添加依赖,如下:
依赖范围
1.基本概念
A依赖B,需要在A的pom.xml文件添加B的坐标,添加坐标是需要指定依赖范围,依赖范围包括:
- compile: 编译范围,指A在编译时依赖B,此范围默认为依赖范围。编译范围的依赖会用在编译、测试、运行、由于运行时需要所以编译范围的依赖会被打包。
- provided:provided依赖只有在当JDK或者一个容器已提供改依赖之后才使用,provided依赖在编译和测试时需要,在运行时不需要,比如servlet api被tomcat容器提供。
- runtime: runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
- test:test范围依赖在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要,所以test范围依赖不会打包。
- system:system范围依赖于provided 类似, 但是你必须显示的提供一个对于本地系统中JAR文件的路径,需要指定systemPath磁盘路径,system依赖不推荐使用。
在maven-web工程中测试各个scop。
测试总结:
- 默认引入的jar包 —— compile【默认范围 可以不写】(编译、测试、运行都有效)
- servlet-api、jsp-api —— provided(编译、测试有效,运行时无效防止和tomcat下jar冲突)
- jadb驱动jar包 —— runtime(测试、运行有效)
- junit —— test(测试有效)
依赖范围由强到弱的顺序是:compile > provided > runtime > test
2.测试
- 向web工程添加jsp/servlet依赖
- 向工程添加jdbc依赖
完整的pom.xml
action类
struts.xml
在src/main/resources 创建struts.xml
web.xml
在web.xml中配置struts2的前端控制器