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 创建缩略图的步骤如下: 在图像周围添加带有 ...
随机推荐
- vim 常用操作笔记
跳转最后一行 :$ 或 shift+g 跳转第一行 :1 或 gg 设置自动换行 :set wrap 设置不自动换行 :set nowrap
- 0xc000007b:vs2012+Opencv2.4.4出现"0xc000007b"问题
在64位系统中,VS2012+opencv2.4.4下编程出现一个问题,我简单的读取图片就出现"应用程序无法正常启动0xc000007b"的问题:如图: 注意事项:把运行环境改成 ...
- 搞不懂的算法-排序篇<1>
最近在学习算法,跟着<Algorithms>这本书,可能是自己水平不够吧,看完排序算法后各种,希尔,归并,快排,堆的实现在脑子里乱成一锅粥,所以就打算大概总结一下,不求精确,全面,只想用平 ...
- 00--Qt Creator 你必须要掌握的快捷操作
Qt Creator 你必须要掌握的快捷操作 多使用快捷键能显著提高工作效率,尽可能减少键盘,鼠标之间切换所浪费的时间.我这里列出个人认为非常重要必须掌握的 Qt Creator 快捷键.看你知道几个 ...
- form 表单的另类触发方式:报错触发
在用form表单提交的时候,遇到一个问题:表单未验证完,表单就提前提交了. 然后通过断点调试,发现form提交会因为函数报错提前提交. 即如果你的form提交过程中,没有执行到return true之 ...
- 记一次IOS对 JS的支持问题
最终在这位博主那块找到问题https://blog.csdn.net/github_36487770/article/details/82465741 在利用Vue开发一个功能时遇到时间拼接格式化问题 ...
- 文字横向滚动marquee
<div style="width:200px; height:300px"> <marquee behavior="scroll" cont ...
- HAOI2006 受欢迎的牛 缩点
不难分析出我们就是要求是否有唯一一个出度为0的强连通分量. Code: #include<cstdio> #include<stack> #include<algorit ...
- OpenGL中着色器,渲染管线,光栅化
https://www.zhihu.com/question/29163054 光栅(shan一声)化(Rasterize/rasteriztion).这个词儿Adobe官方翻译成栅格化或者像素化 ...
- Python数据分析5-----数据规约
1.数据规约概念和目的 数据规约是产生更小且保留数据完整性的新数据集. 意义:降低无效错误数据的影响.更有效率.降低存储成本. 2.属性规约 (1)属性合并(降维):比如PCA (2)删除不相关属性 ...