什么是 Servlet
我们在网上浏览网页,需要一个 web 服务器,浏览网页的过程就是浏览器通过 HTTP 协议与 WEB 服务器 交互的过程。
在过去,大多是静态网页,因此只须把资源放在 WEB 服务器上即可。如今随着应用的发展,客户与服务器需要动态的交互,为了实现这一目标,就需 要开发一个遵循 HTTP 协议的服务器端应用软件,来处理各种请求。
那么 servlet 是一个基于 java 技术的 WEB 组件,运行在服务器端,我们利用 sevlet 可以很轻松的扩展 WEB 服务器的功能,使它满足特定的应用需要。
servlet 由 servlet 容器管理,servlet 容器也叫 servlet 引擎,是 servlet 的运行环境,给发送的请求和响应之上提供网络服务。比如 tomcat 就是我们常用的一个 servlet 容器,其接受 客户端并做出响应的步骤如下:
客户端发送请求至服务器端;
服务器将请求信息发送至 Servlet;
Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
服务器将响应返回给客户端。
最简单的 Servlet 结构
servlet-api.jar
运行 Servlet 服务的基础包
web.xml
1 | <web-app> |
HelloFilter.java
1 | package demo; |
HelloServlet.java
1 | package demo; |
运行结果
- 页面
- 控制台
……… 省略
Filter 初始化
三月 19, 2015 11:43:35 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler [“http-nio-8080”]
三月 19, 2015 11:43:35 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler [“ajp-nio-8009”]
三月 19, 2015 11:43:35 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 1458 ms
拦截 URI=/corning.test.servlet_basic/
拦截 URI=/corning.test.servlet_basic/hello