目录

  • 1 阶段1模块一Java Web编程准备
    • 1.1 学习导航
    • 1.2 任务一进行系统需求分析与总体设计
    • 1.3 任务二搭建开发环境
    • 1.4 任务三制作静态页面
    • 1.5 任务四部署并运行第一个JSP文件
    • 1.6 模块一课件
    • 1.7 模块一习题
  • 2 阶段1模块二Java Web编程入门
    • 2.1 学习导航
    • 2.2 任务一认识JSP页面组成元素
    • 2.3 任务二认识JSP的内置对象
    • 2.4 任务三使用out对象输出信息
    • 2.5 任务四获取客户端请求数据
    • 2.6 任务五实现页面跳转
    • 2.7 任务六实现访问控制
    • 2.8 任务七制作网页计数器
    • 2.9 模块二 课件
    • 2.10 模块二习题
  • 3 阶段1模块三JavaWeb数据库编程
    • 3.1 学习导航
    • 3.2 任务一使用MySQL
    • 3.3 任务二使用SQL操作数据
    • 3.4 任务三认识连接数据库的步骤
    • 3.5 任务四使用Statement处理数据
    • 3.6 任务五使用PreparedStatement处理数据
    • 3.7 模块三课件
    • 3.8 模块三习题
  • 4 阶段1模块四JavaWeb基础阶段实训
    • 4.1 课件
    • 4.2 IT新闻资讯系统
  • 5 阶段2模块五Java Web应用优化
    • 5.1 学习导航
    • 5.2 任务一认识软件设计分层架构
    • 5.3 任务二使用分层架构实现管理员登录
    • 5.4 模块五课件
    • 5.5 模块五习题
  • 6 阶段2模块六Java Web开发业务应用
    • 6.1 学习导航
    • 6.2 任务一实现页面的分页显示
    • 6.3 任务二使用SmartUpload组件实现文件上传下载
    • 6.4 任务三使用图表组件显示动态数据图表
    • 6.5 模块六课件
    • 6.6 模块六习题
  • 7 阶段2模块七Servlet技术基础
    • 7.1 学习导航
    • 7.2 任务一认识Servlet
    • 7.3 任务二创建并运行一个简单的Servlet
    • 7.4 任务三使用Filter解决中文乱码问题
    • 7.5 模块七课件
    • 7.6 模块七习题
  • 8 阶段2模块八MVC开发模式
    • 8.1 学习导航
    • 8.2 任务一认识MVC模式
    • 8.3 任务二使用MVC模式实现用户登录
    • 8.4 模块八课件
    • 8.5 模块八习题
  • 9 阶段2模块九  Java Web进阶阶段实训
    • 9.1 模块九课件
    • 9.2 在线收藏夹
  • 10 阶段3模块十学生会网站项目开发
    • 10.1 模块十课件
  • 11 实训题库
    • 11.1 网络留言板系统1
    • 11.2 网络留言板系统2
    • 11.3 猜数游戏
    • 11.4 学生成绩查询系统
    • 11.5 场馆管理系统
    • 11.6 物资管理系统
    • 11.7 网络书签
    • 11.8 商品库存系统
    • 11.9 火车车次管理系统
    • 11.10 会议室预定系统
    • 11.11 人员档案管理系统
    • 11.12 新闻资讯系统
任务一认识Servlet
  • 1 知识链接
  • 2 任务实现
  • 3 同步实训

JSP技术出现之前,如果想动态生成HTML页面,那么就只有在服务器端运行Java程序,并生成HTML格式的内容。运行在服务器端的Java程序就是Servlet

【知识链接】

微课:Servlet概述


1Servlet简介

Servlet是一个符合特定规范的Java程序,在服务器端运行,处理客户端请求并做出响应,通常称为“Java服务器小程序”,它与协议和平台无关。

回顾一下JSP在服务器上的执行过程,在图7-1中的翻译阶段,即服务器对JSP文件进行翻译,将编写好的JSP文件通过JSP引擎转换成可识别的Java源代码,这里的Java源代码其实就是Servlet

    


7-1  JSP在服务器上的执行过程

Servlet拥有与生俱来的跨平台特性,使得Servlet程序完全可以在不同的Web服务器上执行,Servlet与普通的Java程序一样,是被编译成字节码后在Servlet容器管理的Java虚拟机中运行,被客户端发来的请求激活,在虚拟机中装载一个Servlet就能够处理多个新的请求,每个新请求可以使用内存中的同一个Servlet副本,执行效率高,很适合用来开发Web服务器应用程序。

Servlet的优点总的来说可以分为以下几个方面:

1)可移植性好。Servlet是用Java语言编写的,具有完善的Servlet API标准,企业编写的Servlet程序可以轻松地移植到其他服务器中。

2)安全高效。Servlet使用Java的安全框架,Servlet容器也保证Servlet的安全,Servlet载入内存并使用多线程,效率很高,加快响应速度。

3)模块化。每个Servlet可以完成一定的任务,不同的Servlet可以互相交流数据。

4)可扩展性。Servlet接口设计非常精简,便于扩展。

5)功能强大。Servlet除了支持HTTP访问,还支持图像处理、数据压缩、多线程、JDBCRMI、序列化等功能。

2Servlet的生命周期

当服务器调用Servlet类时,Servlet对象被创建。从服务器创建Servlet对象到该对象被消灭这段时间称为Servlet的生命周期。

Servlet的生命周期分为装载Servlet、处理客户请求和结束Servlet三个阶段,分别由javax.servlet.Servlet接口的init()方法、service()方法和destroy()方法来实现,如图7-2所示。

7-2  Servlet的生命周期

1)装载Servlet。所谓装载Servlet,实际上是用Web服务器创建一个Servlet对象,调用这个对象的init()方法完成必要的初始化工作。在Servlet对象生命周期内,本方法只调用一次。

2)处理客户请求。当客户请求到来时,Servlet引擎将请求对象传递给service()方法,同时创建一个响应对象,service()方法获得请求/响应对象后进行请求处理(调用被覆盖的doXXX()方法进行逻辑处理),然后将处理的结果以响应对象的方式返回给客户端。在Servlet对象周期内,该方法可能被多次请求,而被多次调用。

3)结束Servlet。当Web服务器要卸载Servlet或重新装入Servlet时,服务器会调用Servletdestory()方法,将Servlet从内存中删除,否则它一直为客户服务。在Servlet对象周期内,该方法只调用一次。