Servlet的学习笔记

1.这个技术是什么?

Java Servlet 是运行在Web服务器或应用服务器上的程序,它是作为来Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。

2.这个技术可以做什么?

①读取客户端发送的显示的数据。包含网页上的HTML表单,或者来自applet或自定义的HTTP客户端程序的表单。

②读取客户端发送的隐式的HTTP请求数据。包含cookies、媒体类型和浏览器能理解的压缩格式等。

③处理数据并生成结果。这个过程可能需要访问数据库,执行调用,调用Web服务,或者直接计算出对应结果。

④发送显式的数据到客户端。该文档的格式可以是多种多样,包括文本文件、二进制文件、Excel等

⑤发送隐式的HTTP响应到客户端,主要是设置cookies和缓存参数。

3.这个技术的特点是什么?

①Servlet在Web服务器的地址空间内执行。这样它就没必要再创建一个单独的进程来处理每个客户端请求

②Servlet是独立于平台的,因为它们是Java编写的

③服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。所以,Servlet是可信的。

笔记:

Servlet的生命周期:

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步

②装载并创建该Servlet的一个实例对象

③调用Servlet实例对象的init()方法

④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去

⑤Web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

特别说明:在Servlet的整个生命周期内,Servlet的init方法只被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次Servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。

Servlet的接口实现类:

Servlet接口由SUN公司定义了两个默认实现类,分别是:GenericServlet、HttpServlet。

HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。

HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGet或doPost方法,而不要去覆写service方法。

猜你喜欢

转载自www.cnblogs.com/yangkang0202/p/9257373.html
今日推荐