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 创建缩略图的步骤如下: 在图像周围添加带有 ...
随机推荐
- 【Oracle】审计
1.审计的功能:监控用户在database 的 action (操作) 2.审计分类: 1) session :在同一个session,相同的语句只产生一个审计结果(默认) 2) access : 在 ...
- 图像检索中为什么仍用BOW和LSH
原文链接:http://blog.csdn.net/jwh_bupt/article/details/27713453 去年年底的时候在一篇博客中,用ANN的框架解释了BOW模型[1],并与LSH[2 ...
- bzoj 1192: [HNOI2006]鬼谷子的钱袋 思维_二进制
十分巧妙的一道题. 考虑当前凑出$[1,i/2)$,那么再有一个 $i/2$,就可以凑出 [i/2+1,i). 注意,这里的 $i$ 都是 2 的 $k$ 次幂. 于是,我们只要找到 $i$ 使得 2 ...
- 【leecode】独特的电子邮件地址
每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔. 例如,在 alice@leetcode.com中, alice 是本地名称,而 leetcode.com 是域名. 除了小写字母,这些电 ...
- vue-cli 中eslint代码检查之过滤指定文件
在需要过滤的文件头部末尾分别添加:/* eslint-disable */,/* eslint-disable no-new */
- webpack使用中遇到的相关问题
问题一:使用webpack打包jquery后,在页面使用错误信息:$ is not defined new webpack.ProvidePlugin({ "$": "j ...
- redi通过哨兵sentinel实现主从切换
本次实验主要为了让哨兵监听redis主从复制,当主节点关闭后,哨兵会选举一台从节点成为主节点,并且让其他从节点变成新主节点得从节点 本次理论需要三台机器,一主两从,为了方便用一台服务器开启三个实例,一 ...
- Mac python3 环境下 完善pdf转jpg脚本
由于样本图片数据都是保存在pdf里,想拿到样本必须先把图片从pdf中提取出来,算是数据清洗中的一点小小的积累吧. 这里不得不吐槽一下公司存储图片的机制,业务员把jpg格式的照片放到word里,然后用工 ...
- eclipse 去掉Eclipse打开后定期弹出Usage Data Upload对话框
Eclipse 的 UDC 老定期蹦出来说要上传使用数据到 eclipse 官网服务器去除方法: 1.删除 eclipse/plugins 目录下以 org.eclipse.epp.usagedata ...
- 洛谷—— P1262 间谍网络
https://www.luogu.org/problem/show?pid=1262 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果A间谍手中掌握着关于B间谍的犯罪证据,则称A ...