servlet实现方式(未完待续)
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实现方式(未完待续)的更多相关文章
- MVC丶 (未完待续······)
希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ...
- jdbc14 及 jdbc16 共存所带来的问题【未完待续】
在JAVA中JDK版本号与JDBC版本号的一致性十分重要,开发都们经常会忽略了这一点导致非常多不必要的错误. 昨天给客户排查了一个关于EDB在JBoss中使用时关于这方面的问题,希望给大家一点启示. ...
- 关于DOM的一些总结(未完待续......)
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...
- 2017-2-17,c#基础,输入输出,定义变量,变量赋值,int.Parse的基础理解,在本的初学者也能看懂(未完待续)
计算机是死板的固定的,人是活跃的开放的,初学c#第一天给我的感觉就是:用人活跃开放式的思维去与呆萌的计算机沟通,摸清脾气,有利于双方深入合作,这也是今晚的教训,细心,仔细,大胆 c#基础 1.Hell ...
- 阿里云服务器:IIS网站的架设(一、环境设置与安装IIS网站 二、网站的基本设置 三、建立新网站(未完待续))
Windows Server 2012 R2的Internet Information Services (IIS)网站的模块化设计,可以减少被攻击面并减轻管理负担,让系统管理员更容易架设安全的具备高 ...
- Java开发中的23+2种设计模式学习个人笔记(未完待续)
注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...
- 命令行操作mysql 未完待续......
复制数据表 create table 新表 like 旧表: 删除表中某个字段 alter table 表名 drop column 字段; 例子: alter table news_apply_lo ...
- Go web编程学习笔记——未完待续
1. 1).GOPATH设置 先设置自己的GOPATH,可以在本机中运行$PATH进行查看: userdeMacBook-Pro:~ user$ $GOPATH -bash: /Users/user/ ...
- Reading | 《数字图像处理原理与实践(MATLAB版)》(未完待续)
目录 一.前言 1.MATLAB or C++ 2.图像文件 文件头 调色板 像素数据 3.RGB颜色空间 原理 坐标表示 4.MATLAB中的图像文件 图像类型 image()函数 imshow() ...
- AutoMapper介绍(未完待续、部分没实现)
实体间转换工具.其实也可以用Json来实现同名属性.异名属性(用JsonProperty指明)的自动转换 最新版本6.11 需要使用vs2013以上.vs2012下载新版 nuget会遇到问题.只能旧 ...
随机推荐
- SpringMVC的常用注解
在SpringMVC中常用的注解主要都是用于Controller上,所以下面的四大不同类型的注解都是根据它们处理的request的不同内容部分来区分的: 处理requ ...
- 6.1 MSI/MSI-X Capability结构
PCIe设备可以使用MSI或者MSI-X报文向处理器提交中断请求,但是对于某个具体的PCIe设备,可能仅支持一种报文.在PCIe设备中含有两个Capability结构,一个是MSI Capabilit ...
- 2.1 存储器域与PCI总线域
HOST主桥的实现因处理器系统而异.PowerPC处理器和x86处理器的HOST主桥除了集成方式不同之外,其实现机制也有较大差异.但是这些HOST主桥所完成的最基本功能依然是分离存储器域与PCI总线域 ...
- Extjs 4.0 Tab页
1.JSON代码 Ext.MyTabs=Ext.extend(Ext.TabPanel ,{ xtype:"tabpanel", activeTab:2, width:694, h ...
- javascript 正则表达式学习教程
正则表达式 就是用某种模式去匹配一类字串的一个公式 RegExp 对象表示正则表达式 Regular Expression 正则表达式是很多程序设计语法都支持的 //①隐式创建 var regexp ...
- 错误代码: 1582 Incorrect parameter count in the call to native function 'str_to_date'
1. 错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT t.`name`, DATE_FORMAT(str_to_d ...
- hibernate学习(三) hibernate中的对象状态
hibernate对象的状态分为三种: 游离状态,持久化状态,瞬时状态 下面一行代码区分: Configuration cfg=new Configuration().configure(); ...
- freemarker写select组件(二十二)
一,讲解一 1.宏定义 <#macro select id datas> <select id="${id}" name="${id}"> ...
- Android集成百度地图详细步骤和错误问题
先看要实现的效果 第一步, 下载SDK,基础配置,百度开发文档很详细,直接附上链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/cr ...
- NSURLRequest的缓存策略
刚刚看到了一个小知识点,拿出来与大家分享一下,也是做个笔记. NSURLRequest有缓存策略,是这条属性: /*! @method cachePolicy @abstract Returns th ...