中国高校课件下载中心 》 教学资源 》 大学文库

内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第六章 Servlet技术

文档信息
资源类别:文库
文档格式:DOC
文档页数:13
文件大小:244KB
团购合买:点击进入团购
内容简介
内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第六章 Servlet技术
刷新页面文档预览

内蒙古科技大学 教 案 第6章Servlet技术 理论 Servlet技术、Servlet的应用、生命周期和各种常用的类接口 ·技能: 很好地处理Servlet与JSP之间的关系,灵活应用JSP开发网站 ·要求: 掌握Servlet的结构、接口方法和生命周期等概念,学会使用Servlet进行编 程,与表单交互、控制会话等 历史背景: 1995年,Java技术正式推出。 1997年,Sun紧接着又推出Servlet技术 2008年,Servlet的版本己经发展到了2.5版。 念 Servlet(java服务器小程序)是一个用Java编写的程序,此程序在服务器上运 行以处理客户端请求。是按照Servlet规范编写的java类 6.1 servlet对象 ·Java Servlet核心思想:在服务器端创建能响应用户请求的对象,即创建servlet 对象。 ·学习Java Servlet首要任务: (1)编写创建servlet对象的类 (2)综写部署文件 (3)运行servlet(请求Tomcat服务器创建一个servlet对象) (4)servlet对象的使用 一、HttpServlet类 (一)、javax.servlet.http包中的HttpServlet类 (二)、HttpServlet类实现了Servlet接口,实现了响应用户的方法 (三)、HttpServlet类的子类称为一个Servlet类 (四)、Servlet类创建的对象称为一个servlet对象 ,Servlet源文件HelloBeijing.java package star.moon; import iava.io,* import javax.servlet.*; impo mblic class lon extends ervlet rt iavax public void init(ServletConfig config)throws ServletException super.init(config); public void service(HtpServletRequest response) throws IOException 第1页

内 蒙 古 科 技 大 学 教 案 第 1 页 第 6 章 Servlet 技术 ·理论 : Servlet 技术、Servlet 的应用、生命周期和各种常用的类接口 ·技能: 很好地处理 Servlet 与 JSP 之间的关系,灵活应用 JSP 开发网站 ·要求 : 掌握 Servlet 的结构、接口方法和生命周期等概念,学会使用 Servlet 进行编 程,与表单交互、控制会话等 历史背景: 1995 年,Java 技术正式推出。 1997 年,Sun 紧接着又推出 Servlet 技术 2008 年,Servlet 的版本已经发展到了 2.5 版。 概念: Servlet (java 服务器小程序)是一个用 Java 编写的程序,此程序在服务器上运 行以处理客户端请求。是按照 Servlet 规范编写的 java 类 6.1 servlet 对象 ·Java Servlet 核心思想:在服务器端创建能响应用户请求的对象,即创建 servlet 对象。 ·学习 Java Servlet 首要任务: (1)编写创建 servlet 对象的类 (2)编写部署文件 (3)运行 servlet(请求 Tomcat 服务器创建一个 servlet 对象 ) (4)servlet 对象的使用 一、HttpServlet 类 (一)、javax.servlet.http 包中的 HttpServlet 类 (二)、HttpServlet 类实现了 Servlet 接口,实现了响应用户的方法 (三)、HttpServlet 类的子类称为一个 Servlet 类 (四)、Servlet 类创建的对象称为一个 servlet 对象 ·Servlet 源文件 HelloBeijing.java package star.moon; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloBeijing extends HttpServlet { public void init(ServletConfig config) throws ServletException { super.init(config); } public void service(HttpServletRequest reqest,HttpServletResponse response) throws IOException

内蒙古科技大学 教 案 (response.setContentType("text/html:charset=GB2312"):/设置响应 的MTE类型 PrintWriter out-response.getWriter(:/获得一个向客户发送数 的输出流 out.println(""): out.println(北京奥运圆满成功!"): out.printIn(""); ·response.getWriter(0和out的区别: 1、out和response.getWriter的类不一样,一个是JspWriter,另一个是 ava.io.PrintWriter 2、执行原理不同:JspWriter相当于一个带缓存功能的printWriter,它不是直接 将数据输出到页面,而是将数据刷新到response的缓冲区后再输出, response.getWriter直接输出数据: 3、out为jsp的内置对象,刷新jsp页面,自动初始化获得out对象,所以使用 out对象是需要刷新页面的,而response.getWriter0响应信息通过out对象输出到 页上,当响应结束时它自动被关闭,与j5页面无关,无需刷新页 4、out的print0方法和printin0方法在缓冲区溢出并 1没有自动刷新时候会产 生ioexception,而response.getWrite()方法的print和printIn中都是抑制 ioexception异常的,不会有ioexception 二、部署servlet (一)字节码的保存 C:\Program Files\Apache Software Foundation'\Tomcat 6.0\webapps\ch6\ WEB-INF\classes\star\moon (二)为了能让Tomcat服务器用字节码文件创建对象,必须为Tomcat服务器编一个部 署文件,一个XL文件,web.Xml,该文件由Tomcat 服务器负责管理 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch6\WEB-INF ·web.xml Kservlet-name>helloK/servlet-name star.moon.HelloBeijing 《servlet-mapning> hello /lookHello /servlet-mapping 第2页

内 蒙 古 科 技 大 学 教 案 第 2 页 { response.setContentType("text/html;charset=GB2312");//设置响应 的 MIME 类型 PrintWriter out=response.getWriter();//获得一个向客户发送数据 的输出流 out.println(""); out.println("北京奥运圆满成功!"); out.println(""); } } ·response.getWriter()和 out 的区别: 1、out 和 response.getWriter 的类不一样,一个是 JspWriter,另一个是 java.io.PrintWriter 2、执行原理不同:JspWriter 相当于一个带缓存功能的 printWriter,它不是直接 将数据输出到页面,而是将数据刷新到 response 的缓冲区后再输出, response.getWriter 直接输出数据; 3、out 为 jsp 的内置对象,刷新 jsp 页面,自动初始化获得 out 对象,所以使用 out 对象是需要刷新页面的,而 response.getWriter()响应信息通过 out 对象输出到网 页上,当响应结束时它自动被关闭,与 jsp 页面无关,无需刷新页 4、out 的 print()方法和 println()方法在缓冲区溢出并且没有自动刷新时候会产 生 ioexception,而 response.getWrite()方法的 print 和 println 中都是抑制 ioexception 异常的,不会有 ioexception 二、部署 servlet (一)字节码的保存 HelloBeijing.class 当前 Web 服务目录\WEB-INF\classes\star\moon C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch6\ WEB-INF\classes\star\moon (二)为了能让 Tomcat 服务器用字节码文件创建对象,必须为 Tomcat 服务器编一个部 署文件,一个 XML 文件,web.xml,该文件由 Tomcat 服务器负责管理。 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ch6\WEB-INF ·web.xml hello star.moon.HelloBeijing hello /lookHello

内蒙古科技大学 教案 注:1、Encoding属性的值: (1)IS0-8859-1:XWL文件只使用ASCII字符 (2)UTF-8:XML文件可使用ASCII字符、汉字、日文等字符 2、标记的内容指定Tomcat服务器用哪个类创建servlet对象 3、标记的内容是Tomcat服务器创建的servlet对象的名字。 例:he11o” 4、标记的内容用来指定用户用怎样的模式来请求servlet对象。 例:“/1 ookHe11o” 测宽器地址栏:http:/h27.00.1:80s0/ch6/1oke1l (三)一个Web服务目录的veb.xml文件负责管理该目录下的servlet对象 (四)一个Wb服务目录需要多个servlet对象时,只要在eb.xml文件中增加 和子标记即可 、行sarv1at 用户请求服务器运行一个s0 rvlet对象时,需根据eb.ml文件中 se vlet-mapping>标记指定的格式输入请求。 例:http:/127.0.0.1:8080/ch6/1 ookHello (二)如果服务器没有名字为hello的servlet对象,服务器会根据web.xml文件中 (servlet-class>标记,用指定的类创建一个名字为hello的servlet对象 四、Servlet体系结构 (一)Servlet包含两个包: l.javax.servlet称为GenericServlet 2.javax.servlet.http称为HttpServlet (二)Servlet包的层次结构 Servlet GenericSer HttnServlet 用户自定义的Servlet 第3页

内 蒙 古 科 技 大 学 教 案 第 3 页 注:1、Encoding 属性的值: (1)ISO-8859-1:XML 文件只使用 ASCII 字符 (2)UTF-8: XML 文件可使用 ASCII 字符、汉字、日文等字符 2、标记的内容指定 Tomcat 服务器用哪个类创建 servlet 对象 3、标记的内容是 Tomcat 服务器创建的 servlet 对象的名字。 例:“hello” 4、标记的内容用来指定用户用怎样的模式来请求 servlet 对象。 例:“/lookHello” 浏览器地址栏:http://127.0.0.1:8080/ch6/lookHello (三)一个 Web 服务目录的 web.xml 文件负责管理该目录下的 servlet 对象 (四)一个 Web 服务目录需要多个 servlet 对象时,只要在 web.xml 文件中增加 和子标记即可 三、运行 servlet (一)用 户请 求服 务 器运 行一 个 servlet 对象 时 ,需 根据 web.xml 文件中 标记指定的格式输入请求。 例:http://127.0.0.1:8080/ch6/lookHello (二)如果服务器没有名字为 hello 的 servlet 对象,服务器会根据 web.xml 文件中 标记,用指定的类创建一个名字为 hello 的 servlet 对象 四、Servlet 体系结构 (一)Servlet 包含两个包: 1.javax.servlet 称为 GenericServlet 2. javax.servlet.http 称为 HttpServlet (二)Servlet 包的层次结构 Servlet GenericSer vlet HttpServlet 用户自定义的 Servlet

内蒙古科技大学 教 案 (三)Servlet必须实现javax.servlet.Servlet接口 (四)通过扩展这两个类实现: 跨协议的Servlet 2.javax.servlet.HttpServlet HTTP Servlet ,Servlet实现. GenericServlet类和HttpServlet类 abstract GenericServlet public abstract service(request response) ◆ 继承 HttpServlet protected void service(request.response) public void service(request.response) protected void doGet(request.response) protected void doPost(request.response) 注 (1)我们自己编写的servlet要继承HttpServlet,.一般要覆盖doPost或者doGe 方法。 (2)HttpServlet类的doGet方法用于接收Get请求,doPost方法用于接收Post 请求。 第4页

内 蒙 古 科 技 大 学 教 案 第 4 页 (三)Servlet 必须实现 javax.servlet.Servlet 接口 (四)通过扩展这两个类实现: 1.javax.servlet.GenericServlet 跨协议的 Servlet 2.javax.servlet.HttpServlet HTTP Servlet ·Servlet 实现: GenericServlet 类和 HttpServlet 类 注: (1)我们自己编写的 servlet 要继承 HttpServlet,一般要覆盖 doPost 或者 doGet 方法。 (2)HttpServlet 类的 doGet 方法用于接收 Get 请求,doPost 方法用于接收 Post 请求

内蒙古科技大学 教 案 elet收到一个请求 这个 ublic的service()方 法调用ro的 调用public的service()方法 方法 根据HTTP请求方法的类 6.2 servlet的工作原理 、servlet的生命周期 (一)一个servlet对象的生命周期: 1.初始化servlet对象。servlet对象第一次被请求加载时,服务器创建一个 servlet对象,这个对象调用init方法完成必要的初始化工作。 2.诞生的 ervlet对象再调用ser C方法响应客户的请求。 3.当服务器关闭时,调用destory方法,结束该servlet。 实例化:一般在第一次请求servlet时创建servlet实例。 初始化:包容器调用实例的initO方法。 服务:如果包容器有请求要传送给servlet,它就会调用 et立例的 个清求作为一个线程 消亡:在实例消亡之前,包容器调用servlet3实例的destroy()方法。 不可获得的:实例被删除了。 第5页

内 蒙 古 科 技 大 学 教 案 第 5 页 6.2 servlet 的工作原理 一、servlet 的生命周期 (一)一个 servlet 对象的生命周期: 1.初始化 servlet 对象。 servlet 对象第一次被请求加载时,服务器创建一个 servlet 对象,这个对象调用 init 方法完成必要的初始化工作。 2.诞生的 servlet 对象再调用 service 方法响应客户的请求。 3.当服务器关闭时,调用 destory 方法,结束该 servlet

内蒙古科技大学 教案 服务器加载Servlet Servlet在服务器调用 destrov()方法后被卸载 服务器创建Servlet类 的空 Servlet等待下一个请求 调用Servlet实例的 或由服务器印载 nit)方注 servicet()方法处理请求 收到请求 并将输出结果返回客户端 调用service()方法 (二)Servlet生命周期 Servlet服务器负责管理Servlet的生命周期 ·三个阶段 1.init 2.service (service阶段使用请求/响应方式进行通信) 3.destroy 二、init方法 (一)HttpServlet类中的方法,可以在Servlet类中继承和重写此方法。 (二)Init方法的声明格式: public void init(ServletConfig config)throws ServletException ·Servlet对象第 次被请求加载时,服务器创建一个servlet对象,调用init 方法完成必要的初始化工作 三、service方法 (一)HttpServlet类中的方法,可以在Servlet类中继承和重写此方法。 (二)service方法的声明格式: public void service(HttpServletRequest reqest,HttpServletResponse response) throws ServletException,IOExceptionlttpServletRequest l.Servlet对象成功创建和初始化之后,该对象就调用service方法来处理用户的 请求并返回相应。 2.服务器传递两个参数给service方法:HttpServletRequest类型的对象和 HttpSe 类型的对象 3.客户请求servlet对象服务时,服务器启动线程,在该线程中,servlet对象调 用service方法响应客户请求,。 4,每个客户的每次请求都导致service方法被调用执行,调用过程运行在不同的线 程中,互不干扰。 注:()ttpServletRequest类型的对象封装了用户的请求信息 如客户请求方式,参数名,参数值,客户端正在使用的协议,以及发出客户请求的远 程主机信息等 第6页

内 蒙 古 科 技 大 学 教 案 第 6 页 (二)Servlet 生命周期 Servlet 服务器负责管理 Servlet 的生命周期 ·三个阶段 1.init 2.service (service 阶段使用请求/响应方式进行通信) 3.destroy 二、init 方法 (一)HttpServlet 类中的方法,可以在 Servlet 类中继承和重写此方法。 (二)Init 方法的声明格式: public void init(ServletConfig config) throws ServletException ·Servlet 对象第一次被请求加载时,服务器创建一个 servlet 对象,调用 init 方法完成必要的初始化工作 三、service 方法 (一)HttpServlet 类中的方法,可以在 Servlet 类中继承和重写此方法。 (二)service 方法的声明格式: public void service(HttpServletRequest reqest,HttpServletResponse response) throws ServletException,IOExceptionHttpServletRequest 1.Servlet 对象成功创建和初始化之后,该对象就调用 service 方法来处理用户的 请求并返回相应。 2.服务器传递两个参数给 service 方法:HttpServletRequest 类型的对象和 HttpServletResponse 类型的对象 3.客户请求 servlet 对象服务时,服务器启动线程,在该线程中,servlet 对象调 用 service 方法响应客户请求,。 4.每个客户的每次请求都导致 service 方法被调用执行,调用过程运行在不同的线 程中,互不干扰。 注:(1)HttpServletRequest 类型的对象封装了用户的请求信息: 如客户请求方式,参数名,参数值,客户端正在使用的协议,以及发出客户请求的远 程主机信息等 调用 service( ) 方法 服务器加载 Servlet 服务器创建Servlet类 的实例 调用 Servlet 实例的 init( ) 方法 收到请求 service( ) 方法处理请求 并将输出结果返回客户端 Servlet 等待下一个请求 或由服务器卸载 Servlet 在服务器调用 destroy( ) 方法后被卸载

内蒙古科技大学 教 案 (2)HttpServletResponse类型的对象响应客户的请求,为Servlet提供了返回相 应结果的方法 四、destroy方法 一)HttpServlet类中的方法,可以在Servlet类中继承此方法,一般不需要重写 (二)destroy方法的声明格式: public destory() 当服务器中止服务时,例:关闭服务器,destroy方法被执行,结束servlet对象。 6.3通过JP页面调用servlet 一、通过表单向servlet提交数据 giveRadius.jsp Computer.iava (servlet> computer star.moon.Computer servlet mapping> computer /servlet/Computer 二、通过超链接访问servlet showLetter.jsp ShorLetter.java web.xml ShowLetter servet-assstaro Sheerserlet-ass ShowLetter servlet/ShowLetter 6.4共享变量 一、Servlet类是HttpServlet的一个子类,在编写子类时可声明一些成员变量,成员 变量被所有请求该servlet的用户共享 例:/4=1-1/3+1/5-1/7+1/9-1/11 利用成员变量被所有客户共李这一特性实现客户帮助计算π的值, 每当客户请求 访问servlet时都参与了一次x的计算 第7页

内 蒙 古 科 技 大 学 教 案 第 7 页 (2)HttpServletResponse 类型的对象响应客户的请求,为 Servlet 提供了返回相 应结果的方法。 四、destroy 方法 (一)HttpServlet 类中的方法,可以在 Servlet 类中继承此方法,一般不需要重写。 (二)destroy 方法的声明格式: public destory() 当服务器中止服务时,例:关闭服务器, destroy 方法被执行,结束 servlet 对象。 6.3 通过 JSP 页面调用 servlet 一、通过表单向 servlet 提交数据 giveRadius.jsp Computer.java web.xml computer star.moon.Computer computer /servlet/Computer 二、通过超链接访问 servlet showLetter.jsp ShowLetter.java web.xml ShowLetter star.moon.ShowLetter ShowLetter servlet/ShowLetter 6.4 共享变量 一、Servlet 类是 HttpServlet 的一个子类,在编写子类时可声明一些成员变量,成员 变量被所有请求该 servlet 的用户共享 例:π/4=1-1/3+1/5-1/7+1/9-1/11. 二、利用成员变量被所有客户共享这一特性实现客户帮助计算π的值,每当客户请求 访问 servlet 时都参与了一次π的计算

内蒙古科技大学 教 案 showPI.jsp ComputerPI.java web.xml 《serylet> ComputerPI star.moon.ComputerPI (/servlet> (servlet-mapping> ComputerPI servlet/ComputerPI 6.5 doGet和doPost方法 服务器收到一个servleti请求 调用service()方法检查HTTP请求类型(get、post) 根据HTTP请求方法的类型,调用doGetO)、doPostO方法之一 一、在servlet类中,不必重写service方法来响应客户,直接继承该方法 二、在se t0方法来响应客户请求 )如果请求类型不同,服务器处理过程不同,在doGet()和doPost0方法编 不同处理过程 (二)如果请求类型相同,服务器处理过程相同,可以只在doPost方法编写处理过 程,在doGet方法中再调用doPost方法:或者可以只在doGet方法编写处理过程,在 doPost方法中再调用doGet方法. ·method.jsp ·GetSquare.java (表单提交数据是post、get方法处理数据手段都相同,计算表单提交数据的平方) .GetSquareOrCubic.java (表单提交数据方法是。 st时,计算表单提交数据的平方:表单提交数据方法是 时, 计算表单提交数据的立方。) 6.6重定向与转发 ·重定向:将用户从当前页面或servlet定向到另一个JSP页面或servlet。. HttpServletResponse类的重定向方法sendRedirect ·转发:将用户对当前JSP页面或s rvlet对象的请求转发给另一个5P页面或servle, 对象。RequestDispatcher类的转发方法forward方法 第8页

内 蒙 古 科 技 大 学 教 案 第 8 页 showPI.jsp ComputerPI.java web.xml ComputerPI star.moon.ComputerPI ComputerPI servlet/ComputerPI 6.5 doGet 和 doPost 方法 一、在 servlet 类中,不必重写 service 方法来响应客户,直接继承该方法 二、在 servlet 类中,重写 doGet()、doPost()方法 来响应客户请求 (一)如果请求类型不同,服务器处理过程不同,在 doGet()和 doPost()方法编写 不同处理过程 (二)如果请求类型相同,服务器处理过程相同,可以只在 doPost 方法编写处理过 程,在 doGet 方法中再调用 doPost 方法; 或者可以只在 doGet 方法编写处理过程,在 doPost 方法中再调用 doGet 方法. ·method.jsp ·GetSquare.java (表单提交数据是 post、get 方法处理数据手段都相同,计算表单提交数据的平方) ·GetSquareOrCubic.java (表单提交数据方法是 post 时,计算表单提交数据的平方;表单提交数据方法是 get 时, 计算表单提交数据的立方。) 6.6 重定向与转发 ·重定向:将用户从当前页面或 servlet 定向到另一个 JSP 页面或 servlet。 HttpServletResponse 类的重定向方法 sendRedirect ·转发:将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet 对象。RequestDispatcher 类的转发方法 forward 方法

内蒙古科技大学 教 案 一、sendRedirect方法 Void sendredirect (iava.lang.string location) 将用户从当前页面或s1et定向到 一个JSP页面或servlet:但不能将用 求(HttpServletRequest对象)传递给所转发的JP页面或servlet::即重定向的目标 页面或servlet对象无法使用request获取用户提交的数据 二、RequestDispatcher对象 将用户对当前JSP页面或servlet对象的请求转发给另一个JSP页面或servlet对 象:而且将用户请求和响应(HttpServletR est对象, q HttpServletResponse对象 专递给所转发的JSP页面或servlet:即目标页面或servlet对象可以使用request 取用户提交的数据。 ·实现转发2个步骤: L.得到RequestDispatcher对象 public RequestDispatcher getRequestDispatcher(java.lang.String path) 例如 dispatcher que t.getRequestDispatcher( *HttpServletRequest类的request对象调用getRequestDispatcher方法,返回 个RequestDispatcher对象:参数path是要转发的JSP页面或servlet地址。 2.转发 Void forward(ServletRequest request,ServletResponse response) servletExc ption,ava.io.I0Ex 例如:dispatch forword(request,response) *在步骤1获取的RequestDispatcher对象调用forward方法可以将用户对当前 JSP页面或servlet的请求转发给目标JSP页面或servlet。 ·input.jsp提供表单输入姓名和年龄,并提交给Verify.java .Verify iava 用户输入数据不完整或不合法,重定向到input.jsp页面 用户输入数据符合要求,转发给ShowMessage.java ·ShowMessage.java显示用户输入的信息 Web.xml Verify star.moon.Verify ShowMessage star.moon.ShowMessage verify servlet/Verify /servlet-apping. servlet-mpping ShowMessage 第9页

内 蒙 古 科 技 大 学 教 案 第 9 页 一、sendRedirect 方法 Void sendRedirect(java.lang.String location) 将用户从当前页面或 servlet 定向到另一个 JSP 页面或 servlet;但不能将用户 求(HttpServletRequest 对象)传递给所转发的 JSP 页面或 servlet;即重定向的目标 页面或 servlet 对象无法使用 request 获取用户提交的数据 二、RequestDispatcher 对象 将用户对当前 JSP 页面或 servlet 对象的请求转发给另一个 JSP 页面或 servlet 对 象;而且将用户请求和响应(HttpServletRequest 对象, HttpServletResponse 对象) 传递给所转发的 JSP 页面或 servlet;即目标页面或 servlet 对象可以使用 request 获 取用户提交的数据。 ·实现转发 2 个步骤: 1.得到 RequestDispatcher 对象 public RequestDispatcher getRequestDispatcher(java.lang.String path) 例如:RequestDispatcher dispatcher=request. getRequestDispatcher(“a.jsp”) ***HttpServletRequest 类的 request 对象调用 getRequestDispatcher 方法,返回 一个 RequestDispatcher 对象;参数 path 是要转发的 JSP 页面或 servlet 地址。 2.转发 Void forward(ServletRequest request,ServletResponse response) throws ServletException,ava.io.IOException 例如:dispatcher.forword(request,response); ***在步骤 1 获取的 RequestDispatcher 对象调用 forward 方法可以将用户对当前 JSP 页面或 servlet 的请求转发给目标 JSP 页面或 servlet。 ·input.jsp 提供表单输入姓名和年龄,并提交给 Verify.java ·Verify.java 用户输入数据不完整或不合法,重定向到 input.jsp 页面 用户输入数据符合要求,转发给 ShowMessage.java ·ShowMessage.java 显示用户输入的信息 Web.xml Verify star.moon. Verify ShowMessage star.moon. ShowMessage Verify servlet/Verify ShowMessage

内蒙古科技大学 教 案 servlet/ShowMessage 6.7会话管理 一、客户打开浏览器连接服务器的某个服务目录,到客户关闭浏览器离开服务器称作 一个会话。对一个页面的请求称为一个TCP/IP连接:一个会话包含多个连接。 二、服务器通过如下办法知道这是同一个客户, ession(会话)对象。 三 在Servlet类中使用会话记录有关连接的信息 HttpSession session=request.getSession(true) ·一个用户在不同的servlet对象中获取的session对象是完全相同的,但是,不 同的用户的session对象互不相同。 ·Boy.java用户请求Boy时,Boy将一个整数存入用户的session对象中: va用户请求Look时,Look从用户的session对象中取出存储其中的整 数,并计算、输出该整数的立方 Web.xml Bov star.moon.Boy (/servlet> Look star.moon.Look Boy servlet/Boy 〈servlet-napping> 6.8基于Servlet的MWC模式 一、MVC模式介绍 MVC架构是Model-View-Controller”的缩写,中文翻译为“模型-视图-控 器”。MWC应用程庭总是由这三个部分组成。 1.模型(model)用于存储数据的对象。 2.视图(viw)向控制器提交所需数据、显示模型中的数据。 3.控制器(controller)负责业务的具体逻辑,即控制器根据视图提出的要求 对数据作出处理,将有关结果存储到模型中,并负责让模型和视图进行进行必 要的交互,当模型中的数据变化时,让视图更新显示。 (二)Trygve Reenskaug教授于1978年最早开发的一种设计模板或基本结构 第10页

内 蒙 古 科 技 大 学 教 案 第 10 页 servlet/ShowMessage 6.7 会话管理 一、客户打开浏览器连接服务器的某个服务目录,到客户关闭浏览器离开服务器称作 一个会话。对一个页面的请求称为一个 TCP/IP 连接;一个会话包含多个连接。 二、服务器通过如下办法知道这是同一个客户-session(会话)对象。 三、在 Servlet 类中使用会话记录有关连接的信息。 ·HttpSession session=request.getSession(true) ·一个用户在不同的 servlet 对象中获取的 session 对象是完全相同的,但是,不 同的用户的 session 对象互不相同。 ·Boy.java 用户请求 Boy 时,Boy 将一个整数存入用户的 session 对象中; ·Look.java 用户请求 Look 时,Look 从用户的 session 对象中取出存储其中的整 数,并计算、输出该整数的立方。 Web.xml Boy star.moon.Boy Look star.moon.Look Boy servlet/Boy Look servlet/Look 6.8 基于 Servlet 的 MVC 模式 一、MVC 模式介绍 (一)MVC 架构是“Model-View-Controller”的缩写,中文翻译为“模型-视图-控制 器”。MVC 应用程序总是由这三个部分组成。 1.模型(model)用于存储数据的对象。 2.视图(view)向控制器提交所需数据、显示模型中的数据。 3.控制器(controller)负责业务的具体逻辑,即控制器根据视图提出的要求 对数据作出处理,将有关结果存储到模型中,并负责让模型和视图进行进行必 要的交互,当模型中的数据变化时,让视图更新显示。 (二)Trygve Reenskaug 教授于 1978 年最早开发的一种设计模板或基本结构

共13页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档