ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:382.99KB ,
资源ID:7251137      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7251137.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(day05笔记servlet基础入门.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

day05笔记servlet基础入门.docx

1、day05笔记servlet基础入门【教学内容】1、Servlet 快速入门2、Servlet接口实现关系3、servlet生命周期4、编写Servlet的注意事项5、servlet路径配置6、Servlet启动配置7、servletConfig对象与ServletContext对象【教学总结】【第一阶段】【目标:serlvet快速入门】编写快速入门的servlet步骤:1. 使用MyEclipse创建 web project2. 通过向导创建Servlet 继承 HttpServlet3. 配置Servlet虚拟路径4. 覆盖doGet或者doPost方法 进行输出举例:一:首先编写个类继承

2、HttpServlet,然后重写 doGet() 和doPost() 方法package cn.itcast.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends HttpServl

3、et / 当请求方式是 get时会调用Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException / 通过 resp 对象 代表向 客户端输出数据。 resp.getWriter().print(hello, good morning.); / 当请求方式是 post时 会调用 Override protected void doPost(HttpServletRequest req, HttpServletRespons

4、e resp) throws ServletException, IOException 二:在WEB-INF目录下的web.xml文件中配置。分为两小步,配置如下。 HelloServlet cn.itcast.servlet.HelloServlet HelloServlet /hello三:将写好的servlet发布到tomcat服务器的webapps目录下。然后点击finish,点击OK,这样 就发布到 tomcat服务器了。四:启动tomcat服务器去访问刚刚的发布的web应用。Servlet的访问过程,如图:按照上图中 序号,最终找到了 HelloServlet.【学习效果】1.

5、掌握servlet编写的步骤。2. 掌握如何给一个servlet配置对外访问路径。3. 知道如何去访问一个已经配置好的servlet.4. 掌握servlet的访问路径。【知识点过渡】接下来讲解Servlet接口实现关系。【第二阶段】【目标:Servlet接口实现关系】在通读了servlet接口的文档之后,发现编写一个servlet程序有两种方式,一种是继承GenericServlet,一种是继承HttpServlet。那么,为什么我们刚刚在编写快速入门的servlet程序时,要继承HttpServlet呢?大家首先看一下这几个类的继承关系,如图:我们在编写一个servlet时是如下的一个继承

6、关系。Servlet接口 - 实现类 GenericServlet - 子类 HttpServlet - 自定义Servlet 继承HttpServletServlet技术 sun公司最早推出时,并不是仅面向于HTTP协议的 ,Servlet接口规范与协议无关的 * Servlet技术基于请求-响应模型的 GenericServlet 通用的Servlet,只是实现了与协议无关API ,并没有提供任何与协议相关APIHttpServlet 是一个面向HTTP协议 Servlet程序,提供了与协议相关 API 自定义Servlet都是面向HTTP协议,如果实现Servlet接口,继承Generi

7、cServlet. 使得开发更加复杂 - 只需要继承HttpServlet 拥有与HTTP协议相关API 开发简单 【学习效果】1.了解servlet规范中这几个类的继承关系2.能够明白为什么我们要继承HttpServlet,而不直接去实现servlet接口和GenericServlet.【知识点过渡】 接下来讲解servlet生命周期。【第三阶段】【目标:servlet生命周期】纵观servlet接口的api发现,servlet接口中定义了如下这5个方法:上图被框住的方法是按照如下的这个调用顺序。Init() 方法 - 第一次访问创建对象时被调用,只调用一次Service() 方法- 每次响

8、应客户端的请求时会被tomcat容器调用Destroy() 方法- 当servlelt对象销毁时调用这三个方法,我们将其称之为servlet生命周期的方法。那么,什么叫做声明周期的方法呢? 大家要注意,我们经常会对某个对象的创建一直到销毁的过程进行描述,那么为了有一条清晰的脉络,所以一般会用生命周期的方法来描述这个过程。也就是描述了某个对象“从 生 到 game over ”的过程。实验:自己动手演示servlet生命周期方法的调用过程。在这个演示的过程中,从打印的log中发现,发现当一次servlet被访问时Init方法调用,然后service方法被调用,然后每次来自客户端的请求,又一直会调

9、用service方法,知道最后,关闭tomcat服务器时,发现destory方法又被调用。【学习效果】弄清楚servlet生命周期方法的调用过程。【知识点过渡】接下来讲解编写Servlet的注意事项。【第四阶段】【目标:编写Servlet的注意事项】1.Servlet初始化时覆盖init() ,无需覆盖init(config) init(ServletConfig) 是Servlet生命周期的方法 GenericServlet内部 覆盖了 init(ServletConfig) ,在 有参数init方法中调用 无参数init 2根据Http请求的方式,覆盖相应的doGet或者doPost方法,

10、无需覆盖Service方法我们跟踪源码发现,在HttpServlet的方法中,又定义了一个service方法,而在servlet的生命周期方法中,service方法调用了后来定义的这个类中新定义的service方法,然后这个service方法才最终根据请求方式的不同调用了doGet或doPost方法。所以结论是,servlet的service方法与doGet,doPost方法的关系是调用与被调用的关系。3.当doGet和doPost代码逻辑相同时,可以相互调用,简化编程。然后为了简化平时编程的步骤,所以去更改下servlet的模版。实验:手动编译Servlet 执行1、在tomcat/weba

11、pps 下新建网站目录结构Root - *.html *.jsp - WEB-INF - classes - lib - web.xml 2、编译Servlet程序位于classes目录 javac -classpath d:apache-tomcat-7.39libservlet-api.jar -d . HelloServlet.java3、在WEB-INF配置web.xml 结论:1、编译Servlet 需要API (servlet-api.jar) 2、如果Servlet有包结构,在编译后,在classes目录下生成目录结构【学习效果】1. 覆盖init方法时,要覆盖无参的,而不要覆盖

12、有參的。2. 能够弄清楚service方法与doGet,doPost的关系。3. 知道doGet,doPost方法代码逻辑一样时,方法可以相互调用。4. 了解servlet编译生成的.class文件是发布在哪个目录下的。【知识点过渡】接下来讲解servlet路径配置。【第五阶段】【目标:servlet启动的一些配置注意点】URL-Pattern的三种配置方式1、完全路径匹配 以/开始 不能包含统配符* 例如: /hello /init 2、目录匹配 以/开始, /*结尾 例如: /* /aa/* /aaa/bbb/* 3、扩展名匹配 不能以/开始,以*开始 例如: *.do *.action

13、经典错误:/*.do 优先级:完全匹配 目录匹配 扩展名匹配 注意,这个弄完了,把如下几个问题自己在过一遍。对于如下的一些映射关系:Servlet1 映射到 /abc/* Servlet2 映射到 /* Servlet3 映射到 /abc Servlet4 映射到 *.do 问题:当请求URL为“/abc/a.html”,“/abc/*”和“/*”都匹配,哪个servlet响应 Servlet引擎将调用Servlet1。当请求URL为“/abc”时,“/abc/*”和“/abc”都匹配,哪个servlet响应 Servlet引擎将调用Servlet3。当请求URL为“/abc/a.do”时,“

14、/abc/*”和“*.do”都匹配,哪个servlet响应 Servlet引擎将调用Servlet1。当请求URL为“/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应 Servlet引擎将调用Servlet2。当请求URL为“/xxx/yyy/a.do”时,“/*”和“*.do”都匹配,哪个servlet响应 Servlet引擎将调用Servlet2。【学习效果】1了解serlvet路径配置的几种方式2了解配置的几种方式中优先级情况。【知识点过渡】接下来讲解Servlet启动配置。【第六阶段】【目标:Servlet启动配置】问题:如何让Servlet在服务器启动时,加载创建

15、对象 ,调用init?可以在web.xml中添加如下配置。 invoker org.apache.catalina.servlets.InvokerServlet 2* 配置 load-on-startup 使Servlet在服务器启动时 创建对象完成 init 默认的servlet:如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。 凡是在web.xml文件中找不到匹配的元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。 在conf

16、web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。 【学习效果】1. 能够认识到可以配置servlet在web应用一被加载的时候就创建servlet对象。2. 了解默认的servlet,在开发中不要误将自己的servlet弄成默认的servlet了。【知识点过渡】【第七阶段】【目标:servletConfig对象与ServletContext对象】servle

17、tConfig对象:Servlet的初始化 init :init(ServletConfig) - ServletConfig 对象 Servlet配置对象,用来在Servlet初始化阶段向Servlet传递信息 * GenericServlet中将 ServletConfig对象保存成员变量,同时提供getServletConfig方法 * 自定义Servlet中 通过 getServletConfig() 获得ServletConfig 对象 String getInitParameter(String name) 根据参数名称 获得 值 企业级应用: load-on-startup 结合

18、 init-param 使一个Servlet在服务器启动时执行初始化,第一时间加载配置文件 = Struts 框架 struts1中应用 action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml, /WEB-INF/struts-config-Wildcard.xml 2 * ServletConfig 配置参数 相当于当前Servlet 局部变量,无法被其它Servlet访问的 servletContext对象:(重要)Servlet上下文对象 ServletContext :1、Servl

19、etContext 每个工程对应一个 2、获得ServletContext - servletConfig.getServletContext(); 应用一:全局初始化参数配置 (所有Servlet都可以访问)* 和ServletConfig 配置初始化参数 区分开 1) 配置全局初始化参数 name 张三 2) 获得ServletContext对象 ServletContext context = getServletContext();3) 通过 String getInitParameter(String name) 获得全局参数应用二:多个Servlet之间可以共享数据 (Servle

20、tContext唯一的)共享全局唯一数据 :站点访问次数、数据库连接池 ,static setAttribute(name,object)getAttribute(name)应用三:读取web工程中资源文件 在day5工程中创建四个文件1、在day5工程根目录 创建 1.txt2、在WebRoot下 创建2.txt3、在WEB-INF下 创建3.txt4、在src下创建 4.txt 1.txt因为在WebRoot 外面 不会发布到tomcat服务器,无法端读取2.txt - getServletContext().getRealPath(/2.txt);3.txt - getServletContext().getRealPath(/WEB-INF/3.txt);4.txt 位于src下,复制到WEB-INF/classes下 - getServletContext().getRealPath(/WEB-INF/classes/4.txt);【学习效果】1. 知道servletConfig的用法,可以用来获得在web.xml中配置的参数值。2. 掌握servletContext读取全局配置的参数。3. 掌握servletContext实现全局共享数据。4. 掌握servletContext读取web资源的方法。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1