理解Servlet的概念以及Servlet的处理流程.ppt

上传人:sh****n 文档编号:6820412 上传时间:2020-03-05 格式:PPT 页数:35 大小:276.50KB
返回 下载 相关 举报
理解Servlet的概念以及Servlet的处理流程.ppt_第1页
第1页 / 共35页
理解Servlet的概念以及Servlet的处理流程.ppt_第2页
第2页 / 共35页
理解Servlet的概念以及Servlet的处理流程.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
第14章Servlet编程 1 理解Servlet的概念以及Servlet的处理流程 2 初步掌握用java书写动态网页的技能 3 对java在构建Web网站方面的应用有初步的了解 教学目的要求 14 1Servlet简介 Servlet是标准的服务器端程序 用以增强Web服务器的功能 Servlet运行在服务器上 当Web服务器收到一个用户的Servlet请求时 执行Servlet 动态地创建HTML响应给用户 14 1 1Servlet概述 Servlet是标准的服务器端程序 用以增强Web服务器的功能 用Servlet可以创建协议 平台无关的Web应用程序可以生成动态的Web页面 它是公共网关接口 CommonGatewayInterface CGI 程序设计的Java技术解决方案 Servlet提供了比使用CGI开发服务器端功能更好的方法 因为JavaServlet在Web服务器和Servlet之间定义了一个标准的接口 这使Servlet运行是平台独立的 具有很高的可移植性 可以和异构的服务器交互 大多数主流服务器通过插件支持Servlet 14 1 2Servlet开发环境搭建 学习Servlet开发 必须搭建一个符合规范的开发环境 有许多的Web服务器或应用服务器可以运行提供我们需要的软件 如ApacheTomcat AllaireJrun NewAtlantaServletExec GefionSoftwareLiteWebServer等 1 ApacheTomcat建Servlet开发环境 Tomcat是一个免费的开放源代码的Servlet容器可以到http jakarta apache org下载Tomcat5 x 安装后还应设置CLASSPATH以使得编译程序javac能利用ServletAPI 为此 应将install dir common lib Servlet api jar放入置在CLASSPATH中 启动后在浏览器地址栏里输入http localhost 8080 出现服务器测试成功页面 2 创建开发目录 创建一个自己的开发目录比如 install dir webapps ROOT myapp 于其中放置所有的Servlet和JSP页面 14 1 3Servlet的工作原理与生命周期 每个Servlet都有一个生命周期 从它被装入到Web应用服务器的内存开始 到终止或重新装入时结束 每个生命周期定义了Servlet如何被加载和被初始化 它怎样接收请求 响应请求 怎样提供服务 javax Servlet Servlet接口中定义了生命周期方法 如init service destroy 等 在Servlet的生命周期中 这些方法会在待定时间按照一定的顺序被调用 1 init 方法 客户端通过HTTP协议发送 当Web服务器接收请求并将其发送给Servlet 如果需要处理请求的Servlet未加载 服务器把它加载到JVM并执行它 服务器首先调用init 方法进行初始化工作 该方法只被调用一次 2 service 方法 在init 方法之后 服务器调用service 方法准备处理用户的访问 通常是Servlet接收HTTP请求并执行相应的处理 并向Web服务器返回应答 Web服务器再把从Servlet收到的应答发送给客户端 来自HTTP的访问有GET PUT POST DELETE等类型 这些都可以在service 方法中处理 也可以重置doPost doGet等方法来处理特定的请求方式 3 destroy 方法 服务器在结束Servlet运行时调用destroy 方法 通常在这个方法中执行诸如清除资源的操作 例如停止后台的文件处理 线程和释放数据库连接等操作 例14 2测试Servlet的生命周期方法 packagemjwa importjava util importjava io importjavax servlet importjavax servlet http publicclassLifecircleextendsHttpServlet publicvoidinit ServletConfigconfig throwsServletException System out println init newDate publicvoiddestroy System out println destroy newDate publicvoidservice HttpServletRequestreq HttpServletResponseresp throwsIOException ServletException PrintWriterout resp getWriter resp setContentType text html out print tosee install dir logs stdout log System out println service newDate 使用命令javac d Lifecircle java进行编译 将编译之后在当前目录下产生的子目录mjwa整体拷贝到myapp WEB INF classes目录下 并在配置文件web xml中添加如下的servlet和servlet mapping Lifecirclemjwa LifecircleLifecircle servlet Lifecircle 重新启动Tomcat 在浏览器地址栏中输入http localhost 8080 servlet Lifecircle即可运行 该程序运行时由System out print产生的输出在install dir logs stdout log文件中 可以看出 浏览器每刷新一次 service方法就执行一遍 而init 方法只开始的时候执行一次 destroy 始终得不到执行 14 2Servlet编程示例 例14 3 获取参数 根据用户的request 得到有关的信息 获取参数packagemjwa importjava io importjava util importjavax servlet importjavax servlet http publicclassInfoServletextendsHttpServlet publicvoidservice HttpServletRequestrequest HttpServletResponseresponse throwsIOException ServletException response setContentType text html PrintWriterout response getWriter out println out println RequestInformationExample out println Method request getMethod out println RequestURI request getRequestURI out println Protocol request getProtocol out println PathInfo request getPathInfo out println RemoteAddress request getRemoteAddr Enumeratione request getHeaderNames while e hasMoreElements Stringname String e nextElement Stringvalue request getHeader name out println name value out println 编译InfoServlet java源程序文件 生成字节代码文件InfoServlet class 将该文件拷贝到myapp WEB INF classes mjwa目录下 并在配置文件web xml中添加如下的servlet和servlet mapping InfoServletmjwa InfoServletInfoServlet servlet InfoServlet 重新启动Tomcat 在浏览器地址栏中输入http localhost 8080 servlet InfoServlet运行 本程序运行结果如图所示 例14 4 表单处理应用举例 利用Servlet读取表单输入内容 对客户的GET和POST请求分别用doGet方法和doPost方法进行处理 源程序如下 表单处理应用packagemjwa importjava io importjava util importjavax servlet importjavax servlet http publicclassFormServletextendsHttpServlet publicvoiddoGet HttpServletRequestreq HttpServletResponseresp throwsIOException ServletException resp setContentType text html PrintWriterout resp getWriter out println GETRequest NoFormDataPosted publicvoiddoPost HttpServletRequestreq HttpServletResponseresp throwsIOException ServletException Enumeratione req getParameterNames PrintWriterout resp getWriter while e hasMoreElements Stringname String e nextElement Stringvalue req getParameter name out println name value 对应的FormServlet html文件如下 Name Address Name Address 对源文件FormServlet java进行编译 生成字节代码文件FormServlet class 将该文件拷贝到myapp WEB INF classes mjwa目录下 并在配置文件web xml中添加如下的servlet和servlet mapping FormServletmjwa FormServletFormServlet servlet FormServlet 文件FormServlet html保存在文件夹install dir webapps ROOT myapp中 重新启动Tomcat 在浏览器地址栏中输入http localhost 8080 FormServlet html运行 本程序运行结果如图14 4 a c 所示 a b c 图14 4例14 4的执行结果 例14 5 会话管理应用举例 源程序如下 packagemjwa 例14 5 会话管理importjava io importjava util importjavax servlet importjavax servlet http publicclassSessionServletextendsHttpServlet publicvoidservice HttpServletRequestrequest HttpServletResponseresponse throwsIOException ServletException response setContentType text html PrintWriterout response getWriter HttpSessionsession request getSession true Datecreated newDate session getCreationTime Dateaccessed newDate session getLastAccessedTime out println ID session getId out println Created created out println LastAccessed accessed Stringid request getParameter id Stringemail request getParameter email session setAttribute id id session setAttribute email email Enumeratione session getAttributeNames while e hasMoreElements Stringname String e nextElement Stringvalue session getAttribute name toString out println name value 把编译源文件SessionServlet java生成的字节代码文件SessionServlet class拷贝到myapp WEB INF classes mjwa目录下 并在配置文件web xml中添加如下的servlet和servlet mapping SessionServletmjwa SessionServletSessionServlet servlet SessionServlet重新启动Tomcat 在浏览器地址栏中输入http localhost 8080 servlet SessionServlet即可运行 本章小结 本章介绍了Servlet的基本概念 工作原理 生命周期 Servlet程序的基本构架以及开发Servlet程序的基本步骤 Servlet是运行在请求 面向请求服务器上的模块 它是在服务器端的Servlet容器中执行的Java程序 一个Servlet可以从一个HTML表单中获取数据 然后用商业逻辑进行处理 最后把处理结果发往客户的浏览器
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!