1. Servlet概述
1.1. Servlet概述
1.1.1. Servlet是什么
Servlet是sun公司提供的一门用于开发动态web资源的技术。
按照这套规范写出来的Servlet可以放置到web应用中在Servlet容器中运行。
1.1.2. 开发Servlet步骤
想要开发一个Servlet只需要两个步骤:
(1)写一个类实现javax.servlet接口。
(2)在web.xml中为servlet配置对外访问路径。
2. 开发第一个Servlet
2.1. 写一个类实现Servlet接口
2.1.1. Servlet接口api
接下来我们就手动编写一个Servlet感受一下Servlet开发的过程。
我们用记事本,写一个类实现Servlet接口,我们打开api发现如果直接实现Servlet接口需要实现如下方法,如图-1所示:
图-1
简单介绍下其中重要方法:
init(ServletConfig config)
初始化方法,会在Servlet被创建出来后立即执行,做一些初始化的工作
destroy()
销毁方法,会在Servlet被销毁之前执行,做一些善后工作
service(ServletRequest req, ServletResponse res)
服务方法,每当有请求访问Servlet时,此方法执行,处理请求的代码要写到这个方法里。
2.1.2. GenericServlet抽象类
我们发现这个接口中方法太多了,其实我们可以直接继承Servlet接口的一个默认实现了GenericServlet类,如图-2所示:
图-2
通过观察api,我们发现GenericServlet是个抽象类,实现了Servlet接口中的大部分方法,唯独service方法没有做实现,我们继承GenericServlet需要实现这个Service方法在其中写处理请求的代码。如图-3所示:
图-3
在记事本中编写如下代码,注意写的过程中需要导入包。如图-4所示:
图-4
我们输出当前时间到客户端,service方法有两个参数,ServletRequest代表HTTP请求,ServletResponse代表HTTP响应,我们想要获取客户端发送过来的信息时可以找ServletRequest,现在需要向客户端发送数据就可以使用ServletResponse对象。
通过查询ServletResponse对象的api,发现其中有获取写出数据的流的方法,通过这个方法获取流就可以将数据发送给浏览器。代码如图-5所示:
图-5
编写好java文件