19_ServletJsp重点面试题 下载本文

内容发布更新时间 : 2024/6/3 12:48:23星期一 下面是文章的全部内容请认真阅读。

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两个对象)