Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。本系列将一步步地写出一个Servlet程序。
这篇博文将演示如何创建一个servlet。
新建项目
首先,使用Maven的maven-archetype-webapp
创建一个Java Webapp项目。这样就可以得到一个Java Webapp项目的基本骨架。将项目命名为servletdemo
。
创建Servlet对象
新建一个名为DemoServlet的类。
因为GenericServlet
已经实现了一个servlet的生命周期方法,而且这里也不需要对生命周期方法做定制化,所以直接继承一个GenericServlet
就可以。
1 | public class DemoServlet extends GenericServlet { |
实现这个servlet的功能
service()
方法定义了这个servlet的具体实现,这里先让它返回一个HTML。
1 |
|
注册到容器
光有servlet还不够,下面还需要让容器知道有这个servlet,以及知道要把哪些请求发往这个servlet。这里可以通过修改web.xml
的方式,也可以通过注解的方式完成注册。
web.xml
web.xml
位于src/main/webapp/WEB_INF/web.xml
。
向其中添加如下内容:
1 | <!-- servlet属性定义了一个servlet的名字和对应的类 --> |
注解
WebServlet(String value)
注解表明了这个类是一个servlet,其中value
的值等同于web.xml
中url-patterm
参数。
在项目部署时,容器会处理WebServlet
注解,并将这个servlet与指定的URL pattern绑定。
1 | "/demoServlet") (value = |
运行起来吧,servlet哟!
在上面步骤中,创建一个servlet的所有步骤就完成了,尽管这个servlet的功能及其有限,它甚至不能区分发来的HTTP请求。
那么,就将这个servlet部署到容器中,让它开始工作吧。启动成功后,使用浏览器,或者HTTP请求构造工具,向http://localhost:8080/servletdemo/DemoServlet
(假设Tomcat在监听8080端口)发一条请求。
如果一切正常的话,就可以看到服务器返回了上面service()
方法中指定的内容。
系列博文
- 循序渐进写一个Servlet(1) - 介绍相关的接口和类
- 循序渐进写一个Servlet(2) - 第一个servlet
- 循序渐进写一个Servlet(3) - 分别处理GET和POST
- 循序渐进写一个Servlet(4) - 会话追踪
- 循序渐进写一个Servlet(5) - Filter