黑马程序员技术交流社区
标题:
JAVA WEB经典面试题
[打印本页]
作者:
478883662
时间:
2015-11-3 22:22
标题:
JAVA WEB经典面试题
1、HTTP请求的get与post方式的区别:
(1)、get是从服务器获得数据,post是向服务器发送数据
(2)、get传输数据的大小不能大于2kb,而post无限制
(3)、get不安全但效率高,post安全
(4)、get是把参数数据队列加到提交表单的Action属性所指的URL中,
值和表单内容各个字段一一对应,在URL中可以看到,Post是把表单字段内容
等放于html的header内一起传送到Action属性所指的URL地址.不可见.
2、servlet生命周期:
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行
servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同
的do***()方法。结束服务,web容器调用servlet的destroy()方法。
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及
服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy
方法表达。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service
方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,
当服务器决定将实例销毁的时候调用其destroy方法。
3、request.getAttribute() 和 request.getParameter() 有何区别?
(1)getParameter得到的都是String类型的。或者是http://a.jsp?id=123中的123,
或者是某个表单提交过去的数据。
(2)getAttribute则可以是对象。getParameter()是获取POST/GET传递的参数值;
getAttribute()是获取对象容器中的数据值request.getParameter()是接受
从浏览器上发出的请求,返回的一定是一个String。
(3)request.getAttribute()一般是取从Servlet上setAttribute()的对象,
返回可以是各种形式(Object)
4、jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
JSP共有以下9个内置的对象:
request 用户端请求,此请求会包含来自GET/POST请求的参数
response 网页传回用户端的回应
pageContext 网页的属性是在这里管理
session 与请求有关的会话期
application servlet正在执行的内容
out 用来传送回应的输出
config servlet的构架部件
page JSP网页本身
exception 针对错误网页,未捕捉的例外
4个域:
pageContext(称之为page域)
request(称之为request域)
session(称之为session域)
servletContext(称之为application域)
5、JSP中动态INCLUDE与静态INCLUDE的区别?
include指令:将被包含文件与本文件一起编译成一个文件,其各自不能有同名变量
或方法,属于静态包含。
<jsp:include/>是动态的包含,将编译成各自的文件,运行时是通过forward转发到
被包含文件进行处理然后回显。属于动态包含。
6、jsp有哪些动作?作用分别是什么?
JSP共有以下6种基本动作
jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
7、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。
JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是
在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以
组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
8、MVC的各个部分都有那些技术来实现?如何实现?
MVC是Model-View-Controller的简写。Model 代表的是应用的业务逻辑(通过JavaBean,
EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处
理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑
分成不同的组件实现。这些组件可以进行交互和重用。
9、cookie和session的作用、区别、应用范围,session的工作原理?
Cookie:主要用在保存客户端,其值在客户端与服务端之间传送,不安全,存储的数据量有限。
Session:保存在服务端,每一个session在服务端有一个sessionID作一个标识。存储的数据量
大,安全性高。占用服务端的内存资源。
10、jstl是什么?优点有哪些??
JSTL是一个JSP标签库,优点有:(简化代码)
(1)简化了JSP和WEB应用程序的开发。
(2)以一种统一的方式减少了JSP中的scriptlet代码数量,可以达到没有任何scriptlet代码的程序。
11、MVC
Model模型:应用程序的主体部分,用于表示业务逻辑。
View视图:应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
Controller控制器:用于根据用户的输入,控制用户界面数据显示,更新Model对象状态。
MVC模式的出现不仅实现了功能模块和显示模块的分离,同时还提供了应用系统的可维护、可扩展性、
可移植性、和组建的可复用性的特点。
12、过滤器和拦截器的区别
(1)拦截器是基于java的反射机制的,而过滤器是基于函数回调(init()、dofilter()、destroy())
(2)过滤器依赖于servlet容器,而拦截器不依赖于servlet容器
(3)拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用
(4)拦截器可以访问action上下文、值栈里的对象,而过滤器不能】
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2