黑马程序员技术交流社区

标题: 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