1. Servlet简介

 

(1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中

(2) Servlet的功能:

① 创建并返回客户请求的动态HTML页面

② 创建可嵌入到现有HTML页面中的部分HTML页面

③ 与其他服务器资源进行通信

  1. Servlet容器响应客户请求的过程

① Servlet引擎检查是否已经装载并创建该Servlet实例对象(有②否④)

② 装载并创建Servlet的一个实例对象:调用该Servlet的构造器

③ 调用init()方法

④ 创建一个用于封装请求的ServletRequest对象和一个代表响应信息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去

⑤ web程序在停止或重新启动前,Servlet引擎卸载Servlet,并在卸载之前调用Servlet的destroy()方法

  1. 声明周期方法

都是由Servlet容器负责调用

l 构造器:只被调用一次,第一次请求servlet是,创建servlet实例,调用该构造器,说明servlet是单实例的。

l init:只被调用一次,在创建好servlet实例后立即被调用,负责初始化servlet

l service:被调用多次,每次请求servlet都会调用该方法,用于响应请求

l destory:只被调用一次,在当前servlet所在的web应用程序被终止之前被调用,释放当前servlet所占的资源

  1. Servlet注册和运行

 

(一)Servlet程序必须通过Servlet容器来运行

(二)Servlet程序必须在web引用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问

(三)一个Servlet元素用于注册一个Servlet,它包含两个主要的子元素:servlet-name和servlet-class,分别用来设置servlet的注册名称和Servlet完整类名

l 一个Servlet-mapping 元素用于映射一个已注册的Servlet的一个对外访问路径,它包含两个子元素:servlet-name和url-pattern分别用于指定Servlet的注册名称和对外访问的路径

l 同一个Servlet可以被映射到多个url上,即多个servlet-mapping的子元素,servlet-name设置值可以是一个Servlet的注册名

l 在Servlet映射的url可以使用*通配符,但只能是两种固定格式:一种是“*.扩展名”,另外一种是以“/”开头“/*”结尾

l 在浏览器的访问路径是:http://localhost:8080/Servlet1114/hello

  1. ServletConfig对象

 

  • 获取servlet初始化参数

1) getInitParameter(String name):获取指定的参数名的初始化参数

String name=servletconfig.getInitParameter(“jdbc”);

2) getInitParameterNames();获取参数名组成的Enumeration对象

Enumeration<String> names=servletconfig.getInitParameterNames();

  1. ServletContext对象

 

  • Servlet引擎为每一个Web程序创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用servletconfig.getServletContext方法可以返回ServletContext对象的引用
  • 获取web应用初始化参数

getInitParameter()

ServletContext servletContext=servletConfig.getServletContext();

String driver=servletContext.getInitParameter("driver");

  • 获取web应用初始化参数名

getInitParameter()

Enumeration<String> names=servletContext.getInitParameterNames()

  • 获取当前项目的真实路径

  • 获取当前项目的绝对路径

  1. Servlet的加载

l 如果load-on-startup如果为负数,则在第一次请求servlet是创建实例和初始化;

l 如果是0或正数,则在当前web应用加载的时候创建该实例和初始化

l 数值越小,先被创建

Java web课程学习之Servlet的更多相关文章

  1. 【Java Web开发学习】Servlet、Filter、Listener

    [Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...

  2. Java web课程学习之JSP

    JSP     jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. jsp脚本片段 l jsp脚本片段是指 ...

  3. Java web课程学习之会话(Session)

    Session会话   l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程 l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状 ...

  4. Java web课程学习之Request和Response

    request和response l HttpServletRequest l 请求转发 l HttpServletResponse l 请求重定向   请求流程 每次请求service(),都会由容 ...

  5. 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener

    [Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...

  6. 初学Java Web(3)——第一个Servlet

    这学期 Java Web 课程的第一节课就简短复习了一下 Java 的一些基础知识,所以觉得 Java 的基础知识还是很重要的,但当我想要去写一篇 Java 回顾的文章的时候发现很难,因为坑实在太多了 ...

  7. 【Java Web开发学习】跨域请求

    [Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...

  8. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  9. 【Java Web开发学习】Spring MVC文件上传

    [Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...

随机推荐

  1. 洛谷 P1903 BZOJ 2120 清橙 A1274【模板】分块/带修改莫队(数颜色)(周奕超)

    试题来源 2011中国国家集训队命题答辩 题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔 ...

  2. Android自己定义控件之轮播图控件

    背景 近期要做一个轮播图的效果.网上看了几篇文章.基本上都能找到实现,效果还挺不错,可是在写的时候感觉每次都要单独去又一次在Activity里写一堆代码.于是自己封装了一下.这里仅仅是做了下封装成一个 ...

  3. cocos2d-android学习四 ---- 精灵的创建

    上篇文章我们创建了一个黑乎乎的界面.以下我们就给它增加一个精灵. 我们这次就一起来学习精灵的基础知识. 1.什么是精灵 游戏中全部会动的对象都是精灵,能够是主人公,背景元素,一个子弹或者是敌人. 一个 ...

  4. js中简单操作

    去空格:ss.replace(/\s/g,""); 数组: 千万不能用in操作符 in 是说存不存在这个key而不是value! var a = [66,99,77]; 66 in ...

  5. xcode打包测试

    模拟器的内存cpu网络,都是电脑的.xcode可以查看. Xcode7之前是限制人,限制电脑,限制app,限制真机调试的. Xcode7之后,做真机测试只需要apple id即可,会自动生成证书. X ...

  6. 淘宝CDN系统架构

         存储与架构分论坛上,淘宝网技术委员会主席,淘宝网核心工程师章文嵩向我们详细介绍了淘宝网图片处理与存储系统的架构.章文嵩博士的演 讲日程包括了 淘宝的整个系统架构.淘宝图片存储系统架构,淘宝网 ...

  7. HUdson2092整数解

    2019-05-17 16:04:37 加油,坚持就是胜利,fightting m / i的情况,i可能等于0 #include <bits/stdc++.h> using namespa ...

  8. Java登录界面简单设计

    package cn.com.view; import java.awt.Color; import java.awt.Font; import java.awt.SystemColor; impor ...

  9. TYVJ 1941 BZOJ3038 上帝造题的七分钟2 并查集+树状数组

    背景 XLk觉得<上帝造题的七分钟>不太过瘾,于是有了第二部. 描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列. 第二分钟,L说,要能修改,于是便有了对一段数中每个 ...

  10. C - Game With Sticks

    Problem description After winning gold and silver in IOI 2014, Akshat and Malvika want to have some ...