第6章 Servlet技术 在Web应用程序开发中,一般由JSP技术、JavaBean技术和Servlet技术的结合实现MVC开发模式。

Slides:



Advertisements
Similar presentations
Power point 制作 耿祥义 张跃平 配合 例子源代码一起使用. 第 4 章 内 置 对 象 有些成员变量不用声明就可以在 JSP 页 面的脚本( Java 程序片和 Java 表达式) 中使用,这就是所谓的内置对象。 内置对象有: resquest 、 response 、 session.
Advertisements

第 4 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 内置对象.
第 4 章 JSP 内置对象 本章主要内容:  内置对象的概念  内置对象的作用域和生命期  内置对象的作用和关系  内置对象的使用方法.
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
第五章 jsp 内置对象 1. request 对象 在 jsp 中,内置对象 request 封装了用户提交的信息, 那么该对象调用相应的方法可以获取封装的信息, 即使用该对象可以获取用户提交的信息。 客户一般使用 html 表单向服务器的某个 jsp 页面提 交信息,表单的一个格式 提交手段.
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
第五章 JSP 的内置对象 西南科技大学网络教育系列课程 动态网页设计( JSP ). 动态网页设计( JSP ) 内置对象概述 特点 request :得到客户端的信息。 (HttpServletRequest) session :保存单个用户访问时的一些信息。
IBM WX-ETP © 2009 IBM Corporation review  JSP 1.What 2.Where 3.How 4. 与 的区别 5. 的作用是什么 6. 的作用是什么 1JSP
第 4 课 使用 JSP 处理客户端请求.  掌握 Form 表单的请求处理  掌握 JSP 常用内置对象的用法 out 对象 request 对象 response 对象 本章目标.
LOGO 第 9 章 Java Servlet 和 JSP 编程 孙焘. 重点: servlet 编程原理 1 servlet 的基础类与编程实现 2 JSP 编程原理 3 JSP 的常用语法 4.
基于JSP搭建Web应用程序.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
第五章 JSP内置对象 第4章学习了页面组成元素和使用方法。本章学习JSP内置对象的使用。使用JSP内置对象,可以方便操作页面,访问页面环境,实现页面内、页面间、页面与环境之间的通讯。 学习目标 熟悉主要内置对象的概念 理解主要内置对象的作用域和生命期 理解主要内置对象的作用和关系 熟悉主要内置对象的使用方法.
7.5 其他对象 JSP 视频教学课程.
基于JSP搭建Web应用程序.
上节课我们是讲解了request, response, session, application 等内置对象,有了它们,我们就可以编写一个完整的应用程序了。 我们来看ebank这个小应用程序的编写。
张孝祥IT课堂 -深入体验Java Web开发内幕
MVC Servlet与MVC设计模式.
基于工作过程的网页设计与网站开发教程 英语等级考试专题学习网站发布测试 主编:张洪斌 刘万辉 机械工业出版社.
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
移动开发的灵便迭代之道 黄凯.
第9章 过滤器和监听器技术 过滤器(Filter)和监听器(Listener)是两种特殊的Servlet技术。过滤器可以对用户的请求信息和响应信息进行过滤,常被用于权限检查和参数编码统一设置等。监听器可以用来对Web应用进行监听和控制的,增强Web应用的事件处理能力。 本章主要介绍过滤器和监听器的编程接口、基本结构、信息配置、部署和运行,最后通过案例说明过滤器和监听器的典型应用。
数据库操作示例 import java.sql.*; //导入java.sql包 public class JDBCDemo {
Hadoop I/O By ShiChaojie.
专题一 Servlet技术 案例一简单计数器.
崑山科技大學資訊管理系 伺服網頁程式設計 系統開發細部流程 教師:游峰碩.
第二讲 搭建Java Web开发环境 主讲人:孙娜
面向对象建模技术 软件工程系 林 琳.
第7章 Java Web常用开发模式与案例 本章主要介绍Java Web应用程序开发常采用的开发模式,首先介绍Web程序中各组件之间的关系,然后,详细介绍Web程序的不同设计模式的设计方法和使用技巧。 主要有: 单纯的JSP页面编程 JSP+JavaBean设计模式 JSP+Servlet设计模式.
SQL Injection.
走进编程 程序的顺序结构(二).
辅导课程六.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
供应商登录CJLR SRM系统入口 CJLR供应商仅可以在互联网上访问SRM系统,无法在CJLR内网登录SRM系统.
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
任务1-3 使用Dreamweaver创建ASP网页
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
续签协议&修改密码操作手册 GDP项目组 2019/01/30.
JSP程序设计 第9章 Servlet简介.
第四章 团队音乐会序幕: 团队协作平台的快速创建
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
HTML表单 JSP借由标签所构成的表单区块中,取得用户在其中特定字段输入的数据內容 。 JSP 动态网页新技术.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
第5章 表达式语言.
FPGA系统设计与实践 本章小结(第5章).
多个Activity的使用 本讲大纲: 1、使用Bundle在Activity之间交换数据 2、调用另一个Activity并返回结果
Presentation transcript:

第6章 Servlet技术 在Web应用程序开发中,一般由JSP技术、JavaBean技术和Servlet技术的结合实现MVC开发模式。 在MVC开发模式中,将Web程序的组件分为3部分:视图、控制、业务,分别由JSP、Servlet和JavaBean实现。 前几章已经介绍了JSP和JavaBean技术。本章介绍Servlet技术,以及它与JSP、JavaBean技术的集成。

第6章 Servlet技术 6.1 Servlet技术 6.2 Servlet常用对象及其方法 6.3 综合案例—基于Jsp+Servlet的用户登录验证 6.4 在Servlet中使用JavaBean 6.5 Jsp与Servlet的数据共享 6.6 Jsp与Servlet的关联关系 6.7 基于JSP+Servlet+JavaBean实现复数运算 6.8 Cookie管理 本章小结

6.1 Servlet技术 Servlet是用Java语言编写的服务器端程序,是由服务器端调用和执行的、按照Servlet自身规范编写的Java类。 Servlet可以处理客户端传来的HTTP请求,并返回一个响应。本节介绍Servlet的设计方法。 本节主要内容: 6.1.1 Servlet编程接口 6.1.2 设计Servlet

6.1.1 Servlet编程接口 功能 类和接口 Servlet实现 javax.servlet.Servlet,javax.servlet.SingleThreadModel javax.servlet.GenericServlet,javax.servlet.http.HttpServlet Servlet配置 javax.servlet.ServletConfig Servlet异常 javax.servlet.ServletException, javax.servlet.UnavailableException 请求和响应 javax.servlet.ServletRequest,javax.servlet.ServletResponse javax.servlet.ServletInputStream, javax.servlet.ServletOutputStream javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse 会话跟踪 javax.servlet.http.HttpSession, javax.servlet.http.HttpSessionBindingListener javax.servlet.http.HttpSessionBindingEvent Servlet上下文 javax.servlet.ServletContext Servlet协作 javax.servlet.RequestDispatcher 其他 javax.servlet.http.Cookie,javax.servlet.http.HttpUtils

6.1.2 设计Servlet (1)Servlet基本结构

说明: Servlet类需要继承类HttpServlet Servlet的父类HttpServlet中包含了几个重要方法,根据需要重写它们: init():初始化方法,Servlet对象创建后,接着执行该方法。 doGet():当请求类型是“get”时,调用该方法。 doPost():当请求类型是“post”时,调用该方法。 service():Servlet处理请求时自动执行service()方法,该方法根据请求的类型(get或post),调用doGet()或doPost()方法,因此,在建立Servlet时,一般只需要重写doGet()和doPost()方法。 destroy():Servlet对象注销时自动执行。

(2)Servlet建立步骤: Step1:建立Web工程 Step2:建立Servlet 在项目src下创建。 重写Servlet的doGet或doPost方法。 修改web.xml配置文件,注册所设计的Servlet。 Step3:部署并运行Servlet

6.2 Servlet常用对象及其方法 JSP内置对象与Servlet类(接口)的关系 JSP内置对象 Servlet类或接口 out javax.servlet.http.HttpServletResponse 得到PrintWriter类并创建Servlet的out对象 request javax.servlet.http.HttpServletRequest response session javax.servlet.http.HttpSession application javax.servlet.ServletContext config javax.servlet.ServletConfig exception javax.servlet.ServletException

1.javax.servlet.http.HttpServletRequest 类HttpServletRequest的对象对应JSP的request对象, 常用方法: void setCharacterEncoding(): 设置请求信息字符编码,常用于解决post方式下参数值汉字乱码问题。 String getParameter(String paraName):获取单个参数值。 String[] getParameterValues(String paraName): 获取同名的参数的多个值。 Object getAttribute(String attributeName): 获取request范围内属性的值。 void setAttribute(String attributeName,Object object): 设置request范围内属性的值。 void removeAttribute(String attributeName): 删除request范围内的属性。

2.javax.servlet.http.HttpServletResponse 类HttpServletResponse对象对应JSP的response对象, 常用方法: void response.setContentType(String contentType): 设置响应信息类型。 PrintWriter response.getWriter(): 获得out对象。 void sendRedirect(String url): 重定向。 void setHeader(String headerName,String headerValue) 设置http头信息值。

3.javax.servlet.http.HttpSession 类HttpSession的对象对应JSP的session对象,但在Servlet中,该对象需要由request.getSession()方法获得。常用方法: HttpSession request.getSession():获取session对象。 long getCreationTime():获得session创建时间。 String getId():获得session id。 void setMaxInactiveInterval():设置最大session不活动间隔(失效时间),以秒为单位。 boolean isNew():判断是否是新的会话,是返回true,不是返回false。 void invalidate():清除session对象,使session失效。 object getAttribute(String attributeName):获取session范围内属性的值。 void setAttribute(String attributeName,Object object):设置session范围内属性的值。 void removeAttribute(String attributeName):删除session范围内的属性。

4. javax.servlet.ServletContext 类ServletContext的对象对应JSP的application对象,但在Servlet中,该对象需要由this.getServletContext()方法获得。常用方法: ServletContext this.getServletContext(): 获得ServletContext对象。 object getAttribute(String attributeName): 获取应用范围内属性的值。 void setAttribute(String attributeName,Object object): 设置应用范围内属性的值。 void removeAttribute(String attributeName): 删除应用范围内的属性。

6.3 综合案例 —基于Jsp+Servlet的用户登录验证 【例6-1】实现一个简单的用户登录验证程序,如果用户名是abc,密码是123,则显示欢迎用户的信息,否则显示“用户名或密码不正确”。 【分析】 该案例采用JSP页面只完成提交信息和验证结果的显示,而验证过程由Servlet完成,这些组件通过request(或HttpServletRequest)对象实现数据共享。由提交页面将数据传递给Servlet,而Servlet获取数据并实现验证,根据验证结果,转向显示验证结果的页面。

【设计】 根据分析,该系统需要设计3个组件以及修改web.xml文件。 (1)登录表单页面:login.jsp。 (2)处理登录请求并实现验证的Servlet:LoginCheckServlet.java。 (3)显示提示的页面:info.jsp。 (4)修改web.xml,配置Servlet的信息。 假设,组件之间共享数据的参数为:username(用户名称)和userpwd(密码)。

【实现】 (1)登录页面login.jsp (2)处理登录的Servlet:LoginCheckServlet.java (3)修改配置文件: 在web.xml中,添加LoginCheckServlet的配置信息。 (4)显示结果的页面Info.jsp 【运行】《程序执行》

6.4 在Servlet中使用JavaBean Servlet和JavaBean都是类,但JavaBean是供JSP或Servlet调用。 在JSP中使用JavaBean,第5章已经介绍。 在Servlet使用JavaBean有两种方式: 在一个Servlet中单独使用JavaBean。 在Servlet与JSP之间或Servlet之间实现共享的JavaBean。 (1)在一个Servlet中单独使用JavaBean 一般需要完成的操作是: 在Servlet中实例化JavaBean。 通过实例化的对象调用JavaBean方法,完成业务处理,并获得处理结果。 将获得的结果交给Servlet继续处理。 (2)在Servlet与JSP之间或Servlet之间实现共享的JavaBean

6.5 Jsp与Servlet的数据共享 JSP组件之间通过内置对象(request、session和application)实现数据共享。 对于一个Web应用程序,其中的JSP组件与Servlet组件之间可以通过request(HttpServletRequest)、session(HttpSession)和application(ServletContext)实现不同作用范围的数据共享。 本节主要内容: 6.5.1 基于请求的数据共享 6.5.2 基于会话的数据共享 6.5.3 基于应用的数据共享

6.5.1 基于请求的数据共享 请求共享的范围是用户请求访问的当前Web组件以及和当前的Web组件共享同一请求的其他Web组件。 6.5.1 基于请求的数据共享 基于请求的共享就是共享用户的请求数据,请求数据存放在“请求对象”中。 请求共享的范围是用户请求访问的当前Web组件以及和当前的Web组件共享同一请求的其他Web组件。 服务器响应完用户请求后,相应的request对象也会结束其生命周期,request对象占用的内存也会被回收,因此,基于请求的数据共享的效率是比较高的。 请求共享的数据有两类: 请求参数数据 请求属性数据。

(1)请求参数的传递 (2)请求参数的获取 共享请求参数的传递有4种传递方式: 通过表单提交后,由表单action属性指定进入的页面或Servlet,它们所接受的表单数据,就是请求参数数据。 带参数的超链接,所传递的参数也是请求参数。 在地址栏中,输入的参数,也是请求参数。 在jsp中,利用Forward或include动作时,利用参数子动作标签所传递的数据,也是请求参数。 (2)请求参数的获取 在另一个组件内,可以从请求对象内获取请求参数并进行加工处理。通过request/HttpServletRequest的实例,利用getParameter()方法获取,其格式为: String request.getParameter("参数变量名称");

2.共享请求属性数据 对于请求属性数据的共享,需要先保存形成属性值,然后,在另一个组件,再取出该属性的值,经进行处理加工。 (1)请求属性数据的形成与保存 通过request/HttpServletRequest的实例,利用setAttribute()方法形成属性及其属性值并保存,其格式为: request.setAttribute("属性名",对象类型的属性值); (2)请求属性数据的获取 对于请求属性数据在另一个组件中,获取属性数据的格式(注意数据类型): 对象类型 (强制类型转换)request.getAttribute("属性名"); (3)若不想再共享某属性,可从request中删除该属性,删除格式为: request.removeAttribute("属性名");

6.5.2 基于会话的数据共享 1.会话属性数据的形成与保存 6.5.2 基于会话的数据共享 对于会话共享采用的是属性数据共享,其共享过程是:需要先形成属性并保存到会话对象(session)内值,然后,在另一个组件,再取出该属性的值并进行处理加工。 1.会话属性数据的形成与保存 通过session/HttpSession的实例对象,利用setAttribute()方法形成属性及其属性值并保存,其格式为: session.setAttribute("属性名",对象类型的属性值); 注意:对于Servlet组件,需要先获取HttpSession的实例对象,然后再使用setAttribute()方法。 获取HttpSession的实例对象的语句为: HttpSession request.getSession(boolean create) 2.会话属性数据的获取 会话属性数据在另一个组件中,获取属性数据的格式(注意数据类型): 对象类型 (强制类型转换)session.getAttribute("属性名"); 3.删除共享会话属性 若不想再共享某属性,可从session中删除该属性,删除格式为: session/application.removeAttribute("属性名");

6.5.3 基于应用的数据共享 对于基于应用的数据共享与会话数据共享的处理类似。 1.应用属性数据的形成与保存 利用setAttribute()方法形成属性及其属性值并保存,格式: application.setAttribute("属性名",对象类型的属性值); 注意:对于Servlet组件,要首先获取ServletContext的实例对象,其获取方法: ServletContext application=this.getServletContext() 2.应用属性数据的获取 应用属性数据在另一个组件中,获取属性数据的格式: 对象类型 (强制类型转换) application.getAttribute("属性名"); 3.删除共享应用属性 若不想再共享某属性,可从application中删除该属性,删除格式为: application.removeAttribute("属性名");

6.6 Jsp与Servlet的关联关系 JSP和Servlet都是在服务器端执行的组件,两者之间可以互相调用,JSP可以调用Servlet,Servlet也可以调用JSP;同时,一个JSP可以调用另一个JSP,一个Servle也可以调用另一个Servlet。但它们的调用格式是不同的。 1. JSP页面调用Servlet 2. Servlet跳转到JSP页面 3. Servlet调用另一个Servlet 4. JSP跳转到另一个JSP

1、JSP页面调用Servlet 在JSP页面中,通常通过提交表单和超链接两种方式访问Servlet。 (1)通过表单提交调用Servlet <form action="servlet访问地址">……</form> 提示:这里的访问地址是在web.xml中配置的地址。 (2)通过超链接调用Servlet 在JSP网页中,也可以采用超链接调用Servlet,并且也可以给Servlet传递参数,其调用格式: <a href="servlet访问地址">提示信息</a> 或 <a href="servlet访问地址"?要传递的参数>提示信息</a>

2. Servlet跳转到JSP页面 Servlet调用JSP,由两种方式:转向和重定向。 转向:是在一个Web工程内部,各组件之间的调用,在调用时,request对象中的信息不丢失(request对象不消亡),进入另一个组件后,request对象中的数据可以在新组件中继续使用。 重定向:可以在一个Web工程内部,各组件之间实现调用,也可以直接跳转到其他Web工程的JSP页面。并且,在跳转到新组件后,重新创建request对象。

转向与重定向的实现 (1)转向 RequestDispatcher rd=request.getRequestDispatcher("jsp网页") rd.forward(request,response); (2)重定向: response.sendRedirect("JSP网页地址");

3. Servlet调用另一个Servlet 一个Servle调用另一个Servlet,其调用格式同Servlet调用JSP,只是将JSP网页地址更换为Servlet映射地址即可。

4、JSP跳转到另一个JSP 一个JSP跳转到另一个JSP,其跳转方法在地3章中已经详细介绍,请参考第3章中的有关内容。

6.7 基于JSP+Servlet+JavaBean实现复数运算 【例6-2】设计程序完成复数运算,用户在页面上输入两个复数的实部和虚部,并选择运算类型,程序完成复数的指定运算。运行界面如图所示。

【分析】该案例使用JSP、Servlet、JavaBean三种技术集成,实现系统的设计,JSP主要完成信息的提交和显示;Servlet主要完成对请求数据的获取与处理;JavaBean主要用于业务处理并实现数据的存储。 【设计】该程序需要设计: (1)输入表单页面input.jsp:将该页面的请求参数信息,传给Servlet。 (2)接收运算请求的Servlet,CaculateServlet.java:该Servlet接受input.jsp的请求信息,并创建JavaBean对象实例,然后调用JavaBean的业务处理方法,完成业务处理,形成新的结果,并将结果在request范围内实现属性数据共享,然后转向输出信息页面output.jsp。 (3)封装复数运算的JavaBean,Complex.java:该JavaBean有2个属性,并有完成加、减、乘、除的4种业务方法。 (4)显示结果的页面output.jsp:接受Servlet传递的共享数据,并显示。

【实现】 (1)首先编写复数类JavaBean:Complex. java (2)提交信息的页面input 【实现】 (1)首先编写复数类JavaBean:Complex.java (2)提交信息的页面input.jsp,在该页面内需要提交5个参数 (3)实现控制的Servlet:CaculateServlet.java (4)修改web.xml,完成对CaculateServlet.java的配置 (5)显示计算结果的页面:output.jsp 【运行】《执行程序》

6.8 Cookie管理 在Java Web开发中经常用到Cookie对象。Cookie对象是由服务器产生并保存到客户端(内存或文件中)的信息,常用它记录用户个人信息及个性化设置。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。例如,当用户访问站点时,可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问站点时,应用程序就可以检索以前保存的信息。 Cookie对象所属于的类是javax.servlet.http.Cookie,要注意的是它不是JSP的内置对象,在页面中使用时需要通过其构造方法创建。 本节主要内容: 6.8.1 Cookie基本用法 6.8.2 Cookie相关方法 6.8.3 案例—利用Cookie实现自动登录

6.8.1 Cookie基本用法 对于Cookie对象的使用,一般需要两步操作,首先由服务器创建Cookie对象保存到客户端,然后在JSP页面或Servlet中读取Cookie并进行处理。因此,Cookie也是实现Web组件间共享的一种方式。 注意:session和Cookie两种技术的区别和联系: (1)session是借助于Cookie实现的,sessionId就是通过Cookie对象保存到客户端的(对象名为JSESSIONID,对象值为sessionId),客户端向服务器发出请求时,服务器可以从Cookie对象中获得sessionId从而识别用户身份。 (2)保存sessionId的Cookie对象存在于客户端的内存中,当浏览器关闭时,sessionId就会丢失,导致服务器无法获取而使session失效。而一般的Cookie对象可以通过设置有效时间(setMaxAge(int expiry))以文件的形式保存到客户端,这样浏览器关闭或关机都不会导致信息丢失 。因此使用Cookie实现数据共享可以获得更长的生命周期。

6.8.2 Cookie相关方法 方法 说明 Cookie(String name, String value) void response.addCookie(Cookie c) 向客户机添加一个Cookie对象 Cookie[] request.getCookies() 用于取得所有Cookie对象的数据,存放到一个 数组中 String getName() 取得Cookie对象的属性名 String getValue() 取得Cookie对象的属性对应的属性值 setMaxAge(int expiry) 设置cookie有效时间,以秒为单位,设置了有 效时间的cookie将以文件形式保存在客户端, 否则只是存储在浏览器的内存区域中

6.8.3 案例—利用Cookie实现自动登录 【例6-3】利用Cookie实现自动登录。 【设计】本案例包含三个文件: (1)login.jsp:为用户登录页面; (2)loginCheck.jsp:用于登录处理,为简单起见不做用户名和密码验证。接收用户输入并创建Cookie保存用户输入的用户名和密码,同时在session中保存用户名,转入页面main.jsp。 (3)main.jsp:系统主页面,需要登录才能访问。先检验用户是否已经登录,如果已经登录则显示欢迎信息;如果没登录,启动自动登录功能,读取Cookie信息:如果读取到用户名信息(不做密码验证),则显示欢迎信息;否则转到登录页面。

【实现】 (1)登录页面:login.jsp (2) 登录处理:logincheck.jsp (3) 主页面:main.jsp 【运行】《执行程序》

本章小结 介绍了Java Web程序重要组件—Servlet的设计与使用。介绍了Servlet的工作原理、编程接口、基本结构、信息配置及部署和运行等知识; 最后阐述了JSP与Servlet、以及Servlet和JavaBean的关系并通过两个实例说明它们如何结合起来使用,并简单介绍了Cookie的使用。

习题 1. 设计一个Web应用程序,当用户在提交页面上输入圆的半径,提交后显示出圆的周长和面积。 要求: (1)使用Servlet,获取提交的信息,并计算求值,求值后跳转到显示结果页面。 (2)使用例5-1的JavaBean类,并由Servlet,获取提交的信息,并计算求值,求值后跳转到显示结果页面。 2.设计一个注册页面register.jsp,用户填写的信息包括:姓名、性别、出生年月、民族、个人介绍等,用户点击注册后将注册信息通过output.jsp显示出来。 要求,使用Servlet获取提交的信息,然后跳转到显示结果页面。