【Servlet开发】Servlet开发及其原理(一)

来源:互联网 发布:阴阳师无法连接网络 编辑:程序博客网 时间:2024/05/21 08:59

一、Web容器

web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。一个服务器可以多个容器。常见的Servlet容器就是用来管理和运行Servlet的。容器一般都会提供通信支持、生命周期管理、多线程支持、等功能,方便我们直接进行Web开发。

二、Servlet简介

Servlet是Java的一个编程接口,凡是实现了相关接口的类都可以叫做一个Servlet。常见的实现接口为HttpServlet,这是实现Http协议的Servlet接口,虽然网络上还有其他协议运行着,但是Http基本占了99%以上的内容,所以一般来说Servlet就是实现HttpServlet接口。其主要运行在Java的服务器端,用来处理相关的Web请求的。一个请求经过Servlet处理过程如下所示:


1) 客户端发送请求至服务器端;
2)服务器把请求转交给Servlet容器
3)容器将请求信息发送至相关的Servlet;
4) Servlet 生成响应内容并将其传给容器。响应内容动态生成,通常取决于客户端的请求;
5) 容器将响应返回给客户端。

三、Web 容器处理Http请求的过程

上面已经说明了请求的大致处理过程,这里将具体说明Servlet如何处理请求的
1、用户点击一个链接,链接Url指向一个Servlet

2、容器看出这个请求指向一个Servlet,所以容器创建两个对象HttpServletResponse(包含空的响应头、响应体),HttpServletRequest(包含请求头、请求体)


3、容器根据请求中的URL查找正确的Servlet,并为这个请求创建或者分配一个线程,并且调用Servlet中的Service(HttpServletRequest request,HttpServletResponse response)方法。

4、Service根据客户端请求的方法(Get、Post等)决定调用哪个Servlet方法。


5、调用doGet或者doPost方法以后产生响应对象返回给容器。


6、service方法调用结束,线程要么撤销,要么返回线程池。请求和响应对象出了作用域可以回收,客户得到响应。




四、一个简单的例子Hello World

写一个Servlet控制器

在Web.xml中配置控制器


输入网址访问http://localhost:8080/TestServlet/servlet1

0 0