Servlet高级部分.PPT

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Servlet高级部分.PPT

Servlet高级部分 说明 我们今天讲的大部分是Servlet比较高级的特性. 大家如果想再更深入的了解很多开源框架的核心,学习本章是非常重要的. 目标 Servlet页面的转发 Servlet的生命周期?(了解) 初始化参数的取得 Servlet扩展 servletContext 初始参数的取得 Servlet页面转发 什么是页面转发?为什么要转发 Servlet转发 两种方式: response.sendRedirect(path);重定向 request.getRequestDispatcher(path).forward(req,res) 两者的区别;画图演示,说明道理 Servlet实例 实现转发功能 Servlet的生命周期 理解生命周期 何时载入Servlet,并予以实体化(instantiated) 如何回应用户的请求 何时该卸载Servlet的服务 **Servlet生命周期并不由程序员控制,而是由Servlet容器掌管。 Servlet生命周期 在javax.servlet.Servlet接口内定义了下面三个方法: init() service() destroy() 这意味着所有的Servlet都会实现这三个方法. init()方法 Init的作用? Init()方法 public void init(){ } service()方法 当Servlet实体经过初始化程序后,只要Servlet 容器接收到用户传送的请求,就会将这个请求封装成ServletRequest对象,然后调用service()方法。以下是javax.servlet.Servlet接口所定义的service()方法。(doGet,doPost) public void service(ServletRequest req, ServletResponse res) destroy()方法 一旦Servlet容器判断某个Servlet实体已经没有存在的必要了或是Servlet容器本身必须被关闭(例如关闭Tomcat服务器)。这时Servlet容器就会调用Servlet的destory()方法,卸载Servlet所占用的存储器空间与相关资源。 与init()方法相同,必要时可以覆写destory()方法。举例来说,您可能会在init()方法内初始化JDBC数据库连接,那么当Servlet被卸载时,也应该关闭JDBC数据库连接。以下是覆写destory()方法的范例: public void destroy() { try { conn.close(); } catch(SQLException e){ } Servlet生命周期 1 init destroy init 写一个实例验证init只被执行一次 Init 考虑一个问题: 如果init里面的方法可以在service之前自动执行就好了 init load –on-startup Servlet初始化 初始化参数的配置 初始化参数的取得 初始化参数的配置 初始化参数在哪配置呢? 如何配置? init-param param-name/param-name param-value/param-value /init-param Servlet初始化参数的取得 Servlet初始化参数: this.getInitParameter() this.getServletConfig().getInitParameter(“c”); 思考: 1.这些方法放在哪里比较好呢? 2.考虑为什么以上的两种方法都可以呢? Servlet运行原理 当WEB服务器接收到一个动态HTTP请求时,将会转交给Servlet容器。此时Servlet容器会启动一个线程 (注意servlet容器) Servlet运行原理 利用线程来处理HTTP请求有什么好处呢? Servlet运行原理 Servlet线程安全性 Servlet线程安全性 Synchronized同步的 SingleThreadModel单一性 servletContext 什么是servletContext? servletContext Web应用程序一旦部署到容器上之后,容器就要为实例化一个ServletContext对象,这个对象将包含了整个Web应用程序的运行环境信息。 如何取得ServletContext 在一个Servlet中获得ServletContext对象的方法是通过调用ServletConfig的getServletContext方法返回引用 ServletConfig ServletConfig对象包

文档评论(0)

gtez + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档