1. WEB三要素?
1.浏览器:向服务器发送请求,下载并执行服务器中的网页(HTML) 2.HTTP协议:浏览器和服务器之间的通讯协议。 3.服务器:接收浏览器请求,发送相应的页面到浏览器。
2.java设计模式的分类(面)
总体来说设计模式分为三大类,共计23种设计模式:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
3. 设计模式之单例模式?(面)
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。
说到单例模式,第一个想到的是该类中有一个初始化为null的自身引用,且被private修饰符修饰,其它类不得直接访问。除此之外,单例模式的类还需要有private的构造方法,这一点不难理解,如果构造方法是public的,那么类外部可以直接调用该类的构造方法,如此一来便不具备单例的特性.
怎么获取该类唯一的实例呢?这就需要一个公有的获取器,该方法返回值类型是单例模
式类,返回的结果自然是该类中唯一的实例。 案例:请将如下代码务必写熟练(笔试题)(面)
public class Singleton{
//初始化为null的单例
private static Singleton single=null; //private的构造方法 private Singleton(){ } //public的获取器
public Static Singleton getSingleton(){ //如果当前的实例为null则创建对象 if(single==null){
single=new Singleton(); }
return single;
} }
4.Servlet生命周期?
默认情况下,第一次访问Servlet时Tomcat就会创建并初始化它,也可以更改为启动(startup)Tomcat时就创建(实例化,new)并初始化Servlet
(1)创建(实例化,new)Servlet //创建这个对象
(2)(自动调用init())初始化Servlet //初始化就是给它设置一些数据
(3)调用service方法可以执行多次。每个类型的Servlet都是单个实例。 (4)Tomcat 关闭(shutdown)时会自动调用Servlet的销毁方法(destroy()),释放一些数据, 比如一启动服务器就要往哪存个文件,关闭Tomcat时再把它删除! //总结:对于某个类型的Servlet来说,只有第三步可以执行多次,第一、二、四都只执行一次!因此Servlet在Tomcat内只有一个实例,即单例。
5.Servlet中Http的请求方式有哪几种?有什么不同? get和post这是http协议的两种请求方式:
这两种请求有本质的区别,get通过路径传参,参数附加在url后,大小个数有严格限制且只能是字符串,隐私性差。
post的参数是通过实体传参,不通过url,隐私性好,传递参数不受限制。
6.config和context对比
共同点:都能读取web.xml中的参数
(1) config和Servlet是1对1的关系 (2) context和Servlet是1对多的关系 (3) 它们都是为servlet服务的
7.Servlet工作流程(以下步骤只有第六步需要我们自己做)
(1)浏览器的通信组件和服务器的通信组件建立连接 (2)浏览器将数据打包
(3)浏览器发送数据给服务器 (4)服务器将数据拆包
(5)服务器都会自动new(创建) request和response两个对象(即实例化对象)
(每次发送请求给服务器,服务器都会自动new(创建) request和response两个对象)