Servlet基础(二)
1.什么是Servlet
java类,提供web形式的访问
servlet就是按照javaee中servlet规范所编写的java类
能够被浏览器通过URL形式访问到
2.怎么在javaee规范下写servlet
创建:实现或继承 接口/父类 实现/重写方法
servlet 接口 五个抽象方法
GenericServlet 抽象类 一个抽象方法(service)
重写init做初始化设置,重写无参init
HttpServlet 抽象类 无
3.servlet生命周期
初始化:默认,第一次访问servlet时
可以根据配置,修改servlet初始化时机
web.xml
load-on-stratup元素标记容器是否在启动时加载该servlet(实例化并调用init方法)
它的值必须是一个整数,表示servlet应该被载入的顺序
如果该元素不存在或这个数为负时,则容器会当该Servlet被初始化时再加载
当值为0或大于0时,表示容器在应用启动时就加载并初始化这个servlet
整数值越小,该servlet优先级越高,应用启动时就越先加载
当值相同时,容器自己选择顺序来加载
1)创建servlet对象,调用构造器
2)init(ServletConfig):GenericServlet
3)init():GenericServlet/重写
运行:服务器接收到请求后,,封装与该请求相关的HttpServtRequest,HttpServletResponse传递给service方法。service--service-doXXX
4)service(SercviceRequest):HttpServlet
5)service(HttpServletRequest):HttpServlet
6)doXXX(HttpServletRequest):HttpServlet/重写
销毁:服务器正常关闭,重新加载
7)destroy();GenericServlet/重写
4.Servlet接口中的方法
destroy() 销毁
getServletConfig() 获取ServletConfig对象,初始化参数信息
getServletInfo() 获取有关Servlet的信息,如作者,版本,版权
init(ServletConfig config) servlet初始化的时候调用
service(ServletRequest req,ServletResponse res) 服务器接收请求后,servlet运行时调用
5.ServletConfig中的方法
getInitParameter(java.lang.String name)
servlet在web.xml配置获取初始化参数的值
getInitParameterNames()
servlet在web.xml配置获取所有初始化参数发的name
getServletContext()
ServletContext,上下文对象
getServletName()
servlet在web.xml配置的<servlet-name>
6.servlet的访问
访问servlet三种方式:
url get
html 超链接 get
form表单 method get/post
Servlet基础(二)的更多相关文章
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- 将 Shiro 作为应用的权限基础 二:shiro 认证
认证就是验证用户身份的过程.在认证过程中,用户需要提交实体信息(Principals)和凭据信息(Credentials)以检验用户是否合法.最常见的“实体/凭证”组合便是“用户名/密码”组合. 一. ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Bootstrap <基础二十九>面板(Panels)
Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...
- Bootstrap <基础二十八>列表组
列表组.列表组件用于以列表形式呈现复杂的和自定义的内容.创建一个基本的列表组的步骤如下: 向元素 <ul> 添加 class .list-group. 向 <li> 添加 cl ...
- Bootstrap<基础二十七> 多媒体对象(Media Object)
Bootstrap 中的多媒体对象(Media Object).这些抽象的对象样式用于创建各种类型的组件(比如:博客评论),我们可以在组件中使用图文混排,图像可以左对齐或者右对齐.媒体对象可以用更少的 ...
- Bootstrap <基础二十六>进度条
Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...
- Bootstrap <基础二十五>警告(Alerts)
警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...
- Bootstrap<基础二十四> 缩略图
Bootstrap 缩略图.大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 ...
随机推荐
- 安装pywin32
1.下载pywin32:https://sourceforge.net/projects/pywin32/files/pywin32/ 2.安装: 安装过程中报错:Python version 2.7 ...
- Boost锁~临界区保护和临界资源共享
前言: 除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock.condition和barrier,这些 ...
- 杭电 2095 find your present (2)【位运算 异或】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2095 解题思路:因为只有我们要求的那个数出现的次数为奇数,所以可以用位运算来做,两次异或同一个数最后结 ...
- facebook atc弱网环境搭建和踩坑总结
facebook atc介绍 Augmented Traffic Control(又名atc)是一种模拟网络状况的工具.由facebook开源,是一个允许开发人员控制设备与互联网连接的项目.atc可以 ...
- 关于ZBrush中Subtool的小秘密
想问大家一个问题,你们刚开始学习ZBrush 3D图形绘制软件的时候,是不是特别迷茫?有没有人和小编一样,一直以为ZBrush中的Subtools就相当于Layers呢? 经过长时间的实践之后,小编才 ...
- 3.2、Ansible单命令测试
0.Ansible的group支持all.通配符(*).IP地址 1.查看Ansible的版本 $ ansbile --version [root@test ~]# ansible --versi ...
- 4.1、Ansible模块
ansible-doc -l 列出所有模块 ansible-doc 模块名 查看模块的help说明 ansible-doc -s module_name:获取指定模块的使用信息 ***文 ...
- 1、认识和安装MongoDB
MongoDB简介:MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.目的是为WEB应用提供扩展的高性能的数据存储解决方案.MongoDB是一个介于关系型数据库和非关系型数据库之间的产 ...
- 【Manthan, Codefest 18 (rated, Div. 1 + Div. 2) B】Reach Median
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 将数组排序一下. 考虑中位数a[mid] 如果a[mid]==s直接输出0 如果a[mid]<s,那么我们把a[mid]改成s ...
- 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclips ...