java笔试题总结 - 图文(5)

2019-04-09 15:50

六、jsp有哪些动作(即行为元素)?作用分别是什么?

答:JSP共有以下6种基本动作

jsp:include:在页面被请求的时候引入一个文件。 jsp:useBean:寻找或者实例化一个JavaBean。 jsp:setProperty:设置JavaBean的属性。 jsp:getProperty:输出某个JavaBean的属性。 jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

七.hibernate的get和load方法异同

Hibernate有两种方式通过主键获得对象的方式get与load,

Hibernate的get和load方法都是用于查询一条记录,但是他们又很大的区别。 1.从加载方法上对比:

get方法不支持延迟加载,而load支持延迟加载。 2.从返回结果上对比:

load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null。 3.从检索执行机制上对比:

get方法首先查询session缓存,没有的话查询二级缓存,最后查询数据库;反而load方法创建时首先查询session缓存,没有就创建代理,实际使用数据时才查询二级缓存和数据库。

八.Stringbuffer与stringbuilder区别

String是不可变的,StringBuffer是可变的;StringBuffer是线程安全的,StringBuilder是非线程安全的。

因而在大部分情况下字符串的拼接速度为:StringBuilder>StringBuffer>String 解释如下:

因为String是不可变的(通过ide的debugger可以发现其属性大都为final类型),因

此每次对其操作改变其变量值,其实是生成一个新的对象,然后将变量引用指向新对象;因此速度慢。

StringBuffer则不同,对其操作即直接操作对象指向的引用,无需产生新对象,速度很快;

它是线程安全的,在维护多线程的同步等也会消耗一点性能。

StringBuilder是jdk5之后新增的,其用法与StringBuffer完全一致,但它是线程不安

全的,在单线程中最佳,因为其不需要维护线程的安全,因此是最快的。

九.网络七层协议

OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 ;6 表示层 ;5 会话层 ;4 传输层; 3 网络层; 2 数据链路层; 1 物理层 。其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。

应用层(Application Layer)

与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,NFS,SMTP等。

表示层(Presentation Layer)

这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

会话层(Session Layer)

它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。

传输层(Transport Layer)

这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。

网络层(Network Layer)

这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

数据链路层(Data Link Layer)

它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。

物理层(Physical Layer)

OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

十.Jdk api中object类中的方法都有哪些? 1)equals;2)notify;3)notifyall;4)wait;5)tostring;

十一.http请求状态码

1)1xx:这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。

2) 2xx:成功,这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

3) 3xx:重定向,这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。

4) 4xx:请求错误,这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。

5) 5xx :服务器错误,这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。

十二:SSH框架与MVC架构之间的关系

http://www.cnblogs.com/itao/archive/2011/08/11/2135454.html

M VC三层架构:模型层,控制层和视图层。模型层,用Hibernate框架让来

JavaBean在数据库生成表及关联,通过对JavaBean的操作来对数据库进行操作;控制层,用Struts框架来连接数据层和视图层的,接收、处理、发送数据并控制流程;视图层,用JSP模板把页面展现给用户以及提供与用户的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整个架构,提供IOC容器使代码松耦合以及AOP框架的切面功能等等。

Struts2与spring整合:http://blog.csdn.net/hqshaozhu/article/details/7562246

十三:mvc的工作原理

三层机构:

模型(model)-------

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。

例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

即模型是应用程序的一部分 负责从数据检索数据 将数据转换为对象

并在此基础上应用特定于域的细节。 控制器(controller)-----

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页

面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。 即控制器用于协调各个操作 它负责处理和验证用户输入、调用模型、选

择要呈现的视图以及将数据传送至视图显示给用户。

视图(view)-------

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML

元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但

一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

即视图是应用程序的前端 用户将操作结果以及检索到的数据显示给用户。

设计模式:

表现层(Presentation layer)

包含表示代码、用户交互GUI、数据验证。该层用于向客户端用户提供GUI交互,它允许用户在显示系统中输入和编辑数据,同时系统提供数据验证功能。

业务逻辑层(Business layer)

包含业务规则处理代码,即程序中与业务 相关专业算法、业务政策等等。该层用于执行业务流程和制订数据的业务规则。业务逻辑层主要面向业务应用,为表示层提供业务服务。 数据持久层(Persistence layer)

包含数据处理代码和数据存储代码。数据持久层主要包括数据存取服务,负责与数据库管理系统(如数据库)之间的通信。 三个层次的每一层在处理程序上有各自明确的任务,在功能实现上有清晰的区分, 各层与其余层分离,但各层之间存有通信接口。 [8]

请求流程按以下顺序进行:

一、用户通过在地址栏中输入URL 或者单击web页面上的链接或者按钮与浏览器交互。(图中用户到控制器)

二、请求被传送至控制器,控制器对用户输入的信息进行一些验证,比如用户名是否有效等验证操作(图中控制器到模型)

三、控制器根据模型返回的结果,继续安排处理过程,它选择需要呈现给用户的正确视图,并调用该视图(图中控制器到视图)

四、视图调用控制器选择的模型,要求获得需要填入页面的数据(图中视图视图到模型、模型到视图)在此之间,除了检索数据外,不执行任何逻辑或处理决策操作。 五、最后,视图接收所需的数据,将其格式化为适当的形式,然后将响应传递给用户 (图中视图到用户)

十四:struts2的工作原理,为什么要用struts2?

Struts的工作流程:

在web应用启动时就会加载初始化ActionServlet,ActionServlet从 struts-config.xml文件中读取配置信息,把它们存放到各种配置对象 当ActionServlet接收到一个客户请求时,将执行如下流程.

-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息; -(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm 对象中;

-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;

-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;

-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法; -(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;

-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户; 为什么要用:

1.开源 2.mvc框架 3.纯pojo的Action 4.更好的标签特性 5.易测试 6.易扩展

JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。

基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件


java笔试题总结 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:隧道导坑分部衬砌模板支架施工方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: