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 创建缩略图的步骤如下: 在图像周围添加带有 ...
随机推荐
- 开源作品-PHP写的JS和CSS文件压缩利器(单文件绿色版)-SuMinify_PHP_1_5
前言: 网站项目需要引用外部文件以减小加载流量,而且第一次加载外部资源文件后,其他同域名的页面如果引用相同的地址,可以利用浏览器缓存直接读取本地缓存资源文件,而不需要每个页面都下载相同的外部资源文件. ...
- CV与IP:基础,经典以及最近发展
原文链接:http://blog.csdn.net/dcraw/article/details/7617891 原文编写层层递进,逻辑清晰: 不过看这篇转载可以少点击鼠标:http://blog.cs ...
- 基于libVLC的视频播放器
本文来自于:http://blog.csdn.net/leixiaohua1020/article/details/42363079 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放 ...
- win7不需要密码访问网络共享文件(转载)
大家是不是觉得,共享一个文件夹后,每次输入密码都很麻烦呢?有没有不需要输入密码就可以访问共享文件的方法呢? 答案是肯定的,当然有,下面介绍下win7不需要密码访问网络共享文件 工具/原料 两台电脑在局 ...
- 普通平衡树 Splay
Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; ...
- 洛谷P2038 无线网络发射器选址 水题 枚举
刚开始边界写错了(将128写成127). 注意n <= 20,所以可以每读入一个点就将其周边更新,这样最多也只会有 40 * 40 * 20 种位置需要被枚举. Code: #include&l ...
- jquery bind 传参数
方法一. ? 1 2 3 4 function GetCode(event) { alert(event.data.foo); } ? 1 2 3 4 $(document).ready(functi ...
- 【Linux常见问题总结】
1. 如何设置vim编辑器TAB的缩进量?自己在使用Linux编写Python脚本的时候发现TAB的缩进量总是太长,于是想自己修改下vim编辑器的缩进量. 在/etc/vim/ 文件夹下建立 .vim ...
- Python 绘制2016世界GDP地图
2016世界GDP地图 从https://datahub.io/core/gdp#data下载得到json文件. # country_code.py 获取国家二字代码 # 从pygal.maps.wo ...
- 我的第一个arcgis地图应用
步骤: 1.设置一个基本的html文档 <!DOCTYPE html> <html> <head> <meta http-equiv="Conten ...