1.介绍
创建一个简单的web应用,然后再叫jetty的serlvet容器中运行这个web应用程序
2.创建web应用框架
mvn archetype:generate-DgroupId=org.sonatype.mavenbook.ch05 -DartifactId=simple-webapp -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp
这种打包类型让maven以war形式生成一个web应用,其中war文件的默认名称是${artifactId}-${version}.war,但是如果配置了finalName则生成的war文件就是用finalName命名
3.配置jetty插件
利用该插件,我们就不用下载jetty或者tomcat,然后复制war文件到webapps目录下面。利用jetty插件就不用这么复杂了
<plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> </plugin> </plugins>
配置好了之后我们就可以启动web应用,在工程目录下面运行:mvn jetty:run。一定要在工程目录下面运行,即和pom.xml同一目录,不然就会出错:The plugin 'org.apache.maven.plugins:maven-jetty-plugin' does not exist or no valid version could be found
jetty启动界面如下:
这个时候在浏览器输入http://localhost:8080/simple-webapp就能看到默认生成的index.jsp
4.添加一个简单的servlet,配置web.xml
5.pom.xml中添加对servlet依赖等
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_2.4_spec</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jsp_2.0_spec</artifactId> <version>1.1</version> <scope>provided</scope> </dependency> </dependencies>
所有的apache geronimo规格说明的实现的groupId都是org.apache.geronimo.specs
artifactId包含大家熟悉的规格说明的版本号,如,如果要引入servlet2.3规格说明,artifactId是geronimo-servlet-2.3_spec。我们可以到http://repo2.maven.org/maven2/上查看有哪些规格
6.mvn clean install,然后运行mvn jetty:run就能看到servlet输出