Servlet总结
来源:互联网 发布:淘宝卖家发货 具体流程 编辑:程序博客网 时间:2024/06/06 09:30
Servlet的一点点简介:
①、Servlet是一个按照Servlet规范编写的Java类,基于HTTP协议,在服务器端运行。②、当服务器收到客户端的请求是Servlet可以动态的生成HTML内容,对客户端进行响应。
一句话Servlet:响应 Web 应用程序上下文中的 HTTP 请求
Servlet生命周期:
加载、实例化—->初始化—>就绪状态—>销毁
①、加载和实例化:在第一次请求Servlet时,Servlet容器将会创建Servlet实例;②、初始化:调用 init() 方法进行初始化,一般只调用一次;③、响应请求的就绪状态:调用Service()处理接收到的客户端请求,且根据用户的请求方式,调用doPost或者doGet方法;④、销毁:调用destory()实现销毁,Servlet 由 JVM 的垃圾回收器进行垃圾回收。web应用终止运行、Servlet容器终止运行、Servlet容器装载新的实例化时Servlet调用destory方法释放所有占用资源。
Servlet容器装载Servlet的时间段:
a、web.XML文件中Servlet 的 load-on-startup 配置项大于 0,那么在 Context 容器启动的时候就会被实例化 b、在Servlet容器启动后,客户首次向Servlet发送请求 c、Servlet类文件被更新后,重新装载Servlet ※Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。
Servlet运行过程
①、由客户端发出Servlet请求到web服务器。②、web服务器接到请求之后,首先检查是否已经创建了该Servlet的实例对象: a、未装载Servlet实例对象:加载并初始化一个Servlet实例对象,调用init()方法; b、已装载Servlet实例对象: 创建一个用于封装HTTP请求消息的HttpServletRequest对象 创建一个代表HTTP响应消息的HttpServletResponse对象, 然后调用Servlet的service()方法,并将请求和响应对象作为参数传递进去。③、WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
Servlet细节介绍
https://www.ibm.com/developerworks/cn/java/j-lo-servlet/Servlet详尽介绍
https://www.ibm.com/developerworks/cn/education/java/j-intserv/index.html
Servlet接口的实现类
Servlet接口中的方法:
ServletConfig接口:
在Servlet初始化过程中获取配置信息,一个Servlet只有一个ServletConfig对象
ServletContext接口:
获取Web应用上下文,与Servlet容器进行通信
<context-param>
元素定义 void setAttribute(String name, Object object) 设置名称为name的属性 Object getAttribute(String name) 获取名称为name的属性 String getRealPath(String path) 返回参数所代表目录的真实路径 void log(String message) 记录一般日志信息GenericServlet抽象类:
提供了Servlet与ServletConfig接口方法的默认实现(service( )方法除外)
HttpServlet抽象类:继承自GenericServlet
处理HTTP协议的请求和响应
ServletRequest接口
获取客户端请求的数据;
HttpServletRequest接口
继承ServletRequest接口中的方法,还增加了一些用于读取HTTP请求信息的方法
ServletResoponse接口
设置响应参数和向客户端发送响应数据
HttpServletResponse接口
继承ServletResponse接口中的方法,还增加了适用于HTTP响应的新方法
Servlet应用步骤:
①、创建Servlet类②、Servlet类继承HttpServlet③、重写doPost()或doGet()方法④、部署Servlet⑤、编译Servlet到/WEB-INF/classes目录⑥、编辑部署描述文件web.xml <servlet> <servlet-name> <filter-class> <servlet-mapping> <servlet-name> <url-pattern>⑦、启动Tomcat,访问Servlet
web.xml配置
Servlet初始化参数配置:
//初始化参数只对一个Servlet有效<servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>demo.servlet.HelloServlet</servlet-class> <init-param> <param-name>initParam</param-name> <param-value>Hello Servlet</param-value> </init-param></servlet>
Servlet初始化参数获取:
String initParam = this.ServletConfig().getInitParam("initParam"); //获取到的值是一个字符串;
Servlet上下文参数配置:
<web-app> <context-param> <param-name>contextParam</param-name> <param-value>Hello Servlet</param-value> </context-param> <!--省略其他配置--></web-app>
Servlet上下文参数获取:
String contextParam = this.getServletContext().getInitParameter("contextParam"); //根据web.xml文件中设置的参数名进行获取
阅读全文
0 0
- Servlet总结
- Servlet总结
- Servlet总结
- Servlet总结
- Servlet总结
- servlet总结
- Servlet总结
- Servlet总结
- Servlet总结
- servlet总结
- Servlet总结
- Servlet总结
- Servlet 总结
- servlet 总结
- Servlet总结
- Servlet总结
- servlet总结
- Servlet总结
- 计数排序-Counting Sort
- FZU 2181 快来买肉松饼(dfs)
- 51nod 1002 数塔取数问题(简单DP)
- 大四课程设计之基于RFID技术的考勤管理系统(三)数据库设计
- bootstrap 基础(一)
- Servlet总结
- 日历插件
- C++Sort函数的潜规则
- C#梳理【命名空间namespace】
- Web_监听器的创建与使用
- springmvc统一异常管理
- 算法day04
- html的三种布局
- Linux进程概念和基本命令