servlet

1、资源分类

 静态资源 ----- HTML ----- 源码不改,每次访问的数据都是一样的

 动态资源 ----- 由程序(Servlet)生成 -- 每次访问得到的数据可能都不一样

 

2、使用 Servlet 进行动态资源实现 --- 版本1

 A、创建一个类实现 Servlet 接口

 B、重写 service 方法

 C、配置 Servlet URL 的映射

 D、浏览器输入 URL 后,就可以执行 Servlet service 方法了(重点:执行流程 --- 看图解)


3、使用 Servlet 进行动态资源实现 --- 版本

 A、继承 GenericServlet(通用的Servlet)

 B、重写 service 方法

 C、配置Servlet URL 映射

 

  和版本1比较,进行代码简化了

  

4、使用 Servlet 进行动态资源实现 --- 版本3 ---- 终极版 

 Aeclipse 直接创建 Servlet --- 继承 HttpServlet,配置信息自动生成

 B、重写的不再是 service 方法,而是更加细化的 doGet doPost 方法

 C、怎么执行?

   根据URL 找到对象类,反射生成对象,反射调用 (父类)service 方法,根据请求方式

   再调用 子类的 doGet doPost

   

5、请求与响应简单使用

 Arequest 是请求对象

   request.getParamter("") ---- 可以根据键获取客户录入的值

 Bresponse 是响应对象

   response.getWriter() --------- 获取一个字符打印流,可以像浏览器响应数据

 

 被屏蔽的实现:

  request response 这两个对象 Servlet 对象一样是 Tomcat 创建的,

  Tomcat 在调用 service 方时,会把这两个对象作为参数传给 service,最终传给

  doGet doPost


6servlet 高级 --- 生命周期

  init ----- 出生时调用的方法 ---- 第一次访问时出生

  service -- 每次运行时调用的方法 - 每次访问

  destory -- 消亡时调用的方法 ---- 服务器关闭时消亡

  

  注意:

   servlet 自始至终只有一个(使用了单例设计模式)

   

 控制Servlet初始化的时机:

  Aweb.xml中使用 <load-on-startup>设置初始化时机

    取值:0 以及正整数,服务器加载时就启动

    如果是负数或不设置,就是第一次访问时加载

  B <load-on-startup> 还可以设置启动优先级

    数字越小( >= 0 ),优先级越高

  

7Servlet 映射的 URL 如何配置?

   一般实现,URL 类名一致

    <!-- 浏览器地址栏中录入的路径完全匹配才能执行servlet  -->

    <!-- <url-pattern>/abc/def/xxx</url-pattern> -->

    <!-- 录入的路径只要目录严格匹配即可,而目录后任意 -->

    <!-- <url-pattern>/xxx/yyy/*</url-pattern> -->

    <!-- 录入的路径只要后缀名匹配即可,前面任意--> .do .action

    <!-- <url-pattern>*.xx<url-pattern> -->

    <!-- 路径爱咋咋地 ,都行--> ---- 不建议使用

    <!-- <url-pattern>/</url-pattern> -->

    

   优先级(越具体优先级越高)

1 > 2 > 3 > 4

1、需求:

  有个登陆页面,输入账号密码如果合法,显示 login success,否则显示 login fail

  

2、实现思路

 A、创建一个登陆页面

 B、登陆页面的数据发送到服务器的 Servlet

 Cservlet 解析获取用户录入的数据,和数据库比对

 D、根据比对结果,输出响应

 

3、路径问题

 方式1

  表单的 action = "http://loaclhost:8080/项目名/路径" ---- 繁琐

   

 方式2

  表单的 action = "/项目名/路径" ---- 和方式1一样,是对 方式1的简化

 

  方式1 方式2 称之为绝对路径

 

 方式3

  表单的 action = "路径" || "../../路径" ---- 相对路径(不建议使用)

  文件位置一旦变动,路径名也要进行相应修改,不易于后期维护 

 

  相对路径怎么推导 

   不是根据存储位置推导而是根据地址栏输入的 URL 推导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值