servlet的是方式有三种,分别是:

1,实现servlt接口 点击查看详情

2,继承GenericServlet类【适配器模式

3,继承HttpServlet类【模板方法设计模式】最常用的方法

这里主要讲后两种实现方式

2,继承GenericServlet类(适配器模式)

适配器(相当于插排)

Generic类已经实现了接口中的所有的方法,我们新定义的Servlet继承自GenericServlet,就不在需要重写servlet的所有的方法,只需要重写自己用到的类

在GenericServlet中只有一个abstract方法就是init(),所以通过这种方法创建servlet是必须重写init()

public class GenericServletDemo extends GenericServlet {

    @Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException { } }

3,继承HttpServlet类

模板方法设计模式:

HttpServlet这个类继承了GenericServlet类,HttpServlet有两个service(),两个service()通过重载实现

第一个是HttpServlet自己定义的,在他重在的service()中,调用了doXXX()

HttpServletRequest是SevletResquest的子接口

在自定义的继承自HttpServlet的servlet中在补充些人和方法的情况下,当用户访问的时候

服务器会创建一个servlet的阴影指向自定义Servlet的对象:

Servlet demo=new GenericServletDemo();

当有客户端访问servlet的时候,服务器让他创建的对象去调用service()

demo.service();

由于在自定义的类中并没有创建service方法,就去他的父类中找service()

在HttpServletRequest中:

servlet实现方式(未完待续)的更多相关文章

  1. MVC丶 (未完待续······)

         希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                     ...

  2. jdbc14 及 jdbc16 共存所带来的问题【未完待续】

    在JAVA中JDK版本号与JDBC版本号的一致性十分重要,开发都们经常会忽略了这一点导致非常多不必要的错误. 昨天给客户排查了一个关于EDB在JBoss中使用时关于这方面的问题,希望给大家一点启示. ...

  3. 关于DOM的一些总结(未完待续......)

    DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...

  4. 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)

    计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...

  5. 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))

    Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...

  6. Java开发中的23+2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  7. 命令行操作mysql 未完待续......

    复制数据表 create table 新表 like 旧表: 删除表中某个字段 alter table 表名 drop column 字段; 例子: alter table news_apply_lo ...

  8. Go web编程学习笔记——未完待续

    1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...

  9. Reading | 《数字图像处理原理与实践(MATLAB版)》(未完待续)

    目录 一.前言 1.MATLAB or C++ 2.图像文件 文件头 调色板 像素数据 3.RGB颜色空间 原理 坐标表示 4.MATLAB中的图像文件 图像类型 image()函数 imshow() ...

  10. AutoMapper介绍(未完待续、部分没实现)

    实体间转换工具.其实也可以用Json来实现同名属性.异名属性(用JsonProperty指明)的自动转换 最新版本6.11 需要使用vs2013以上.vs2012下载新版 nuget会遇到问题.只能旧 ...

随机推荐

  1. 转 Caffe学习系列(4):激活层(Activiation Layers)及参数

    在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的.从bottom得到一个blob数据输入,运算后,从top输入一个blob数据.在运算过程中,没有改变数据的大小,即输入 ...

  2. linux kvm虚拟机快速构建及磁盘类型

    KVM命令管理 virsh命令:用来管理各虚拟机的接口命令查看/创建/停止/关闭...支持交互模式格式:virsh 控制指令 [虚拟机名称] [参数] [root@room1pc01 桌面]# vir ...

  3. 使用java实现阿里云消息队列简单封装

    一.前言 最近公司有使用阿里云消息队列的需求,为了更加方便使用,本人用了几天时间将消息队列封装成api调用方式以方便内部系统的调用,现在已经完成,特此记录其中过程和使用到的相关技术,与君共勉. 现在阿 ...

  4. @restcontroller与@controller的区别

    这段时间偷偷看了下spring boot.结果引用模板时没注意,把@restcontroller替换了@controlle,结果模板出不来.终究原因是spring的知识不到位. 下面说说这2的说明和区 ...

  5. ffmpeg入门之 Tutorial01

    #include <libavcodec/avcodec.h>#include <libavformat/avformat.h>#include <libswscale/ ...

  6. (二十二)java小练习三

    练习七:计算1-100的累加和 package demo; /**  * 计算1-100的累加和  * @author tuzongxun  */ public class Test16 {   pu ...

  7. Django学习-16-Session

    1.保存在服务器的键值对           2.Session做验证时,还要依赖Cookie(重要).当用户登录成功时,生成随机字符串,一份放到Session,一份放到Cookie.当用户再次登录, ...

  8. 图片压缩上传Thumbnailator 插件

    一,接口已经写死 public static String upload(String appCode, MultipartFile inputFile) public static String u ...

  9. IDM使用入门

    IDM使用入门 Software IDM介绍 基本使用 浏览器集成 选项设置 进阶使用 IDM+百度云外链 IDM介绍 Internet Download Manager(IDM) is a tool ...

  10. history对象的使用--JavaScript基础

    history对象提供与历史清单有关的信息,包含最经访问过的10个网页的URL 1.history对象常用属性 length 返回浏览器历史列表中URL数量 <!DOCTYPE html> ...