
上QQ阅读APP看书,第一时间看更新
3.9 实战:创建基于Servlet的Web应用
本节将演示如何使用Maven创建一个基于Servlet的Web程序。该程序源码可以在hello-servlet目录下找到。
3.9.1 创建动态Web项目
使用以下Maven命令来创建动态Web项目:

创建完成之后,能够看到如下的项目结构:

3.9.2 创建Servlet实现类
为了能使用Servlet API,我们需要在项目的pom.xml文件中引入Servlet API的Maven依赖。添加内容如下:

<scope>设置为provided表明该包只在编译和测试的时候用,因为当项目打包完部署到Servlet容器时,Servlet容器会提供Servlet API,因此无须将Servlet API打包到项目的WAR包中。
在项目中创建HelloServlet类,代码如下:

HelloServlet类的逻辑非常简单,当客户端访问“/HelloServlet”URL时,会响应“Hello World!”字样的文本内容给客户端。
3.9.3 编译应用
执行“mvn package”来编译、打包应用。执行成功后,可以在应用的target目录下看到一个hello-servlet.war文件。该WAR包可以用来部署到Servlet容器中。
3.9.4 运行应用
将hello-servlet.war文件部署到Servlet容器中。比如,本例是部署到Tomcat中。Tomcat安装目录下的webapps默认是用来部署应用的,我们将hello-servlet.war文件放置到该目录下,如图3-2所示。

图3-2 Tomcat部署应用的目录
Tomcat成功启动后,在浏览器中访问http://localhost:8080/hello-servlet/HelloServlet,可以看到如图3-3所示的响应内容。

图3-3 HelloServlet响应内容