Servlet 12学时 1.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
LOGO 第 9 章 Java Servlet 和 JSP 编程 孙焘. 重点: servlet 编程原理 1 servlet 的基础类与编程实现 2 JSP 编程原理 3 JSP 的常用语法 4.
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
面向侧面的程序设计 方林博士 本文下载地址:
JSP 动态 Web 技术 深圳职业技术学院软件技术专业 JSP 与 Servlet. 内容提要 4 学习目标 彩色验证码 购物车 留言板 总结与提高.
动态网页设计(JSP) 第6章 Java Servlet技术.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
精英型软件人才 培养模式的探索与实践 卢 苇 北京交通大学国家示范性软件学院.
第14章 c++中的代码重用.
在PHP和MYSQL中实现完美的中文显示
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
Hadoop I/O By ShiChaojie.
OpenMP简介和开发教程 广州创龙电子科技有限公司
Java Applet 介绍.
专题一 Servlet技术 案例一简单计数器.
第二讲 Java Servlet技术.
第二讲 搭建Java Web开发环境 主讲人:孙娜
面向对象建模技术 软件工程系 林 琳.
SOA – Experiment 3: Web Services Composition Challenge
SQL Injection.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第一讲: 基本流程(1).
第11章 Android客户端与服务器端交互 QQ号: QQ群: (Android编程入门) 网络资源:
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
PaPaPa项目架构 By:Listen 我在这.
第11章 Android客户端与服务器交互.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
任务1-3 使用Dreamweaver创建ASP网页
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
JSP程序设计 第9章 Servlet简介.
C#面向对象程序设计 $6 深入理解类.
第十二章 过滤器.
第四章 团队音乐会序幕: 团队协作平台的快速创建
DQMClientDim.cxx及双光子练习
企业应用实训教程 JSP企业级应用.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
分裂对象模型 C++ otcl.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Web安全基础教程
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
万方数据知识服务平台 论文相似性检测 培训师:何娟
Chapter 18 使用GRASP的对象设计示例.
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
基于列存储的RDF数据管理 朱敏
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Presentation transcript:

Servlet 12学时 1

第三章:Servlet 目标: 本章旨在向学员介绍请求与响应对象以及Servlet的基本规范。通过本课的学习,学员应该掌握如下知识: 1) 掌握请求与响应对象的基本使用 能够读取客户端请求的参数 掌握Servlet处理请求的流程 教学方法:讲授

主要内容 Servlet简介 Servlet的作用 Servlet API Servlet生命周期 Servlet的并发访问 请求与响应 HTTP请求信息 使用请求对象读取请求信息 HTTP响应信息 使用响应对象作出HTTP响应

主要内容 HTTP请求的参数 什么是请求参数 请求参数的格式和位置 读取请求参数 HTML的表单控件 使用表单的隐藏字段 使用URL传递数据

什么是Servlet Servlet是运行在web服务器上的Java程序 5 之前我们在编写web应用时,提到了到目前为止能够接收客户在 就来了解J2EE中非常重要的一个技术就是Servlet。 Servlet容器负责servlet和客户端的通信及调用servlet方法, 客户端与容器的通信方式采用“请求/响应”方式。 Servlet的作用 1)接收客户端的请求,并处理; 2)输出响应。 5

HTTPServlet的作用 HTTPServlet的作用 读取客户发送的所有数据 查询HTTP请求中包含的任何其他 请求信息 处理数据并生成结果 设置合适的HTTP响应参数 将响应信息回送给客户端 之前我们在编写web应用时,提到了到目前为止能够接收客户在 表单输入的数据的只有Servlet,那么Servlet在我们编写的web应用 中究竟是什么样的角色?我们应该怎么写这个Servlet呢?现在我们 就来了解J2EE中非常重要的一个技术就是Servlet。 Servlet容器负责servlet和客户端的通信及调用servlet方法, 客户端与容器的通信方式采用“请求/响应”方式。 Servlet的作用 1)接收客户端的请求,并处理; 2)输出响应。 6

Servlet API Servlet的继承体系 Servlet最核心的是Servlet接口,所有servlet类都必须实现该接口。 实现Servlet接口,或继承GenericServlet类,或继承HttpServlet类。 Servlet不仅可以处理基于http协议的请求,也可以处理基于其他协议的 请求,若写的servlet与http协议无关,则继承GenericServlet,若与HTTP 协议有关则继承HttpServlet。 Servlet的继承体系 7

Servlet API Servlet的框架主要由两个包组成: javax.servlet.*:定义了所有Servlet类都必须实现或继承的通用接口和类 javax.servlet.http.*:定义了采用HTTP协议通信的HttpServlet类。 我们了解了servlet在整个web工程中的作用,接下来我们 就来学习一下如何创建servlet,一个servlet里应该写什么。 8

HTTPServlet的生命周期 HTTPServlet的生命周期 初始化阶段 响应客户请求阶段 销毁阶段 我们发现在web应用中我们并没有定义main方法在里面来初始化一个servlet对象,那么 Servlet是什么时候被初始化,怎么被调用的,什么时候销毁的呢?我们来了解一下servlet 的生命周期。 Servlet接口有3个方法,这3个方法也体现了servlet的生命周期。 9

HTTPServlet的生命周期 Servlet的生命周期 示例 HelloServlet.java Web容器 Servlet类 1.加载类 2.实例化Servlet(构造函数) 3. init( ) 1、容器在启动时,会寻找部署好的web应用,然后开始搜索里面的类文件; 有可能在容器启动时或在第一个客户访问该servlet时,加载类。 2、加载类完成后,会马上调用servlet的构造方法创建一个servlet对象,在整个 Servlet的生命周期中,只存在一个servlet对象。这时的servlet对象还不具备servlet的所有特性。 3、在servlet对象创建完成后,会马上调用init()方法,通过该方法,时servlet对象具有所有servlet 该具有的特性。 处理客户 请求(doGet()、 doPost()等) 4. service( ) 初始化 5. destroy( ) 初始化 10

HTTPServlet的生命周期 生命周期方法名 何时调用 作用 能否覆盖 init( ) service( ) doGet()/ Servlet实例被创建之后,并在servlet能为客户服务之前,容器要调用servlet对象的init()方法 使你在servlet处理客户请求之前有机会对其初始化 可能。如果有初始化代码(如得到一个数据库连接,或向其他对象注册),就要覆盖servlet类中的init()方法 service( ) 当一个客户请求到来时,容器会开始一个新的线程,或者从线程池分配一个线程,并调用servlet对象的service()方法 这个方法会查看HTTP请求,确定请求类型(Get、Post),并调用servlet对象对应的方法,如doGet()、doPost()等 不,不太可能。 不应该覆盖service()方法。 doGet()/ doPost() service()方法根据请求的HTTP方式来调用doGet或doPost方法 要在这里开始写你的代 码。Web应用想要做什么,就要由这个方法负责 至少要覆盖其中之一 1、启发学生思考: HttpServlet实例创建的时间? 创建多少个HttpServlet实例? 2、通常只创建一个servlet实例,针对同一个servlet的多个请求,都是由一个servlet实例来处理的。 3、在dd文件中配置Web应用启动时创建特定的Servlet的实例: <servlet> <<display-name>InitServet</display-name> <servlet-name>address/InitServlet</servlet-name> <servlet-class>course.web.address1.center.InitServet</servlet-class> <init-param> <param-name>dataSourceName</param-name> <param-value>java:comp/env/jdbc/address1</param-value> </init-param> <load-on-startup>0</load-on-startup> //在web应用启动时,被载入。0载入的顺序。 </servlet> 11

HTTPServlet的生命周期 生命周期方法名 何时调用 作用 能否覆盖 destroy( ) 在服务器销毁servlet对象之前,它会调用servlet对象的destroy()方法 使servlet有机会清理资源 可能。 Destroy方法中可以关闭数据库连接、中止后台线程、将Cookie程序清单或访问计数写到磁盘以及执行 其他类似的收尾工作。 Servlet对象什么时候会 被销毁? 1)服务器关闭时,会释放所有servlet对象 2)服务器刷新时,也释放所有servlet对象 服务器什么时候刷新? 一般情况下tomcat6.0每30min刷新一次。 12

练习 下列有关Servlet的生命周期,说法不正确的是_____。 A. 在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例。 B. 在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法。 C. 在销毁阶段,执行destroy()方法后系统立刻进行垃圾回收。 D. destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法。 答案:A