黑马程序员技术交流社区

标题: [石家庄校区]Day14 Servlet的使用和概述 [打印本页]

作者: g207776411    时间: 2018-5-21 15:18
标题: [石家庄校区]Day14 Servlet的使用和概述
Day14  Servlet的使用和概述


day_14      Servlet的概述和使用Servlet的实现的关系  Servlet     :接口
      |
  GenericServlet  :通用的Servlet
      |
  HttpServlet     :HttpServlet
  * 编写一个类继承HttpServlet,重写doGet和doPost 方法
  * 配置
  ​程序的书写步骤Servlet的生命周期为了程序的性能和用户的体验(程序优化)  
  在创建Servlet对象,调用init方法的时候的耗时
  ​
  第一次访问的时候初始化资源(耗时),以后访问无序在初始化,把这个耗时的操作放到服务器启动的时候
  ​重点:虚拟路径的url-pattern的配置目的和作用:    为了实现服务器启动,自动创建Srevlet对象,且该对象至创建一次url-parrern的配置三种方式  
  url-pattern配置方式共有三种:
  1.完全路径匹配
      以 / 开始  例如: /ServletDemo4 , /aaa/ServletDemo5 , /aaa/bbb/ServletDemo6
  2.目录匹配
      以 / 开始 需要以 * 结束.    例如: /* ,/aaa/* ,/aaa/bbb/*
  3.扩展名匹配
      不能以 / 开始 以 * 开始的. 例如: *.do , *.action
  ***** 错误的写法 : /*.do
  ​开发中的路径的编写  
  相对路径:都是需要找位置相对关系.不能以 / 开始的.
  * ./ 当前路径  ../上一级目录
  * 使用相对路径访问:
      * http://localhost:8080/day09/demo4-url/demo1.html
      * http://localhost:8080/day09/ServletDemo6
  绝对路径:不需要找位置相对关系. 以 / 开始的.
  * 绝对路径中分为客户端路径和服务器端路径:
      * 客户端路径一定要加工程名.     /day09/ServletDemo6
      * 服务器端路径不需要加工程名.    /ServletDemo6
  ​网页的定时跳转  
  【使用Http协议中的Refresh头信息】
  ​
  Refresh之前已经介绍可以定时页面跳转.需要使用程序设置头信息才可以.
  ​
  【response中设置响应头】**********重点
  * addHeader(String name,String value);      --- 针对一个key对应多个value的响应头.
      * addDateHeader(String name,long date);
      * addIntHeader(String name,int value);
  ​
  * setHeader(String name,String value);      --- 针对一个key对应一个value的响应头.
      * setDateHeader(String name,long date);
      * setIntHeader(String name,int value);
  ​
  例如:头信息: xxx:aaa
      * addHeader(“xxx”,”bbb”);       -->xxx:aaa,bbb
      * setHeader(“xxx”,”bbb”);       -->xxx:bbb
  ​网页登陆成功后统计次数ServletContext:重要
​         作用范围: 整个web工程
域对象存储数据(Attribute是属性的意思)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2