Servlet基本概念
来源:互联网 发布:nodejs 面向对象编程 编辑:程序博客网 时间:2024/05/17 07:05
Servlet
- Servlet(服务器端小程序)是使用Java语言编写的服务器端程序,可以像JSP一样,生成动态的WEB页,Servlet主要运行在服务器端,并由服务器调用执行,是一种按照Servlet标准开发的类。
- Servlet程序是Java对CGI程序的实现,但是与传统CGI的多进程处理操作不同的是,Servlet采用了多线程的处理方式,这样就使得Servlet程序的运行效率比传统的CGI更高,而且Servlet还保留有Java的可移植性的特点,这样使得Servlet更易使用,功能也更加强大。
Servlet处理的基本流程:
- 客户端(很可能是Web浏览器)通过HTTP提出请求。
- WEB服务器接收该请求并将其发送给servlet。如果这个servlet尚未被加载,web服务器将把它加载到Java 虚拟机并且执行它。
- Servlet程序将接收该HTTP请求并执行某种处理。
- Servlet会将处理后的结果向Web服务器返回应答。
- WEB服务器将从Servlet收到的应答发回给客户端。
在整个Servlet程序之中最重要的就是Servlet接口,在此接口下定义了一个GenericServlet的子类,但是一般不会直接继承此类,而是根据所使用的协议选择GenericServlet的子类继承,例如:现在是采用HTTP协议处理的,所以一般而言当需要使用HTTP协议操作时用户自定义的Servlet类都要继承HttpServlet类。
编写Servlet程序
- 一个Servlet程序就是一个实现了javax.servlet.Servlet接口的Java类,Servlet接口定义了Servlet引擎与Servlet程序之间通信的协议约定。
- javax.servlet.GenericServlet类实现了Servlet接口,它实现了Servlet程序的基本特征和功能。
- javax.servlet.http.HttpServlet类是GenericServlet的子类,它在GenericServlet类的基础上进行了一些针对HTTP特点的扩充。
- 客户端每次访问一个支持HTTP的Servlet程序时,Servlet引擎都将调用Servlet的service方法来进行处理。service方法接受两个参数,一个是用于封装HTTP请求消息的对象,其类型为HttpServletRequest,另一个是代表HTTP响应消息的对象,其类型为HttpServletResponse。
- 调用HttpServletResponse对象的getWriter方法可以获得一个文本输出流对象,向这个流对象中写入的数据将作为HTTP响应消息的实体内容部分发送给客户端。
Web Application Name
WEB-INF
web.xml 该web app的配置文件
lib 该web app用到的库文件
classes 存放编译好的servlet
META-INF 存放该web app的上下文信息,符合J2EE标准
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
Servlet运行过程
- Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
- 装载并创建该Servlet的一个实例对象。
- 调用Servlet实例对象的init()方法。
- 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
- WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
0 0
- Servlet-基本概念
- servlet基本概念
- servlet基本概念
- Servlet基本概念
- Servlet基本概念
- Servlet基本概念
- servlet基本概念
- [读书笔记]J2EE 基本概念 --- Servlet
- Java Servlet 基本概念
- servlet的基本概念
- Java基本概念-Servlet
- Servlet基本概念和流程
- Servlet的基本概念与使用
- Jsp/Servlet 读书笔记(一) -- 基本概念
- 监听器第一篇【基本概念、Servlet各个监听器】
- servlet转发与重定向基本概念与区别
- 基本概念
- 基本概念
- VM 中Centos7 增加/目录容量
- CALayer 锚点
- Date和String类型相互转化
- JSP的自定义标签(三)之带标签体的标签
- C++二分法
- Servlet基本概念
- loadNibName 崩溃
- JS模块化工具requirejs
- Python应用matplotlib绘图简介
- mysql之优化
- 数据库导出
- 工作5年的菜鸟
- iOS 使用NSURLSession进行断点续传
- 如何将数据库中的多表的查询数据导出到excel中