Java试题分享211109

Java试题分享211109

1. MVC的各个部分有那些技术吗? 如何实现? 答:“Model”表示APP应用程序的业务逻辑

“View”是APP应用程序的显示面

“控制器”是提供APP的处理过程控制

目的:将应用逻辑、处理过程和显示逻辑划分为不同的组件实现。

这些组件可以相互作用和重用。

2 .什么是2. J2EE? 答: (1) J2EE基于Sun提出的多层、分布式、组件式企业APP模型

(2) J2EE本身是一个标准,是为开发企业分布式APP应用提供的标准平台。

)3) J2EE是包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术的框架。

3. STRUTS应用解答: Struts是一个基于模型视图控制器( MVC )设计模式的应用框架。

Struts的主要功能:

1 .包含controller servlet,用于将用户的请求发送到相应的操作对象。

2.JSP自由标签库。 在controller servlet中提供相关支持,以便开发人员可以创建交互式表单APP应用程序。

3 .提供一系列实用对象,包括XML处理、Java reflection APIs自动处理JavaBeans属性以及国际化提示和消息。

什么是JNDI的答案: JAVA名称目录服务。 主要功能是提供一个目录系统,其他各地的APP应用程序都有自己的索引,以满足快速搜索和定位分布式APP应用程序的能力。

5 .什么是JMS答案: JAVA消息服务。 主要实现各APP应用程序之间的通信。 包括点对点和广播。

6 .什么是JTA回答: JAVA事务服务。 提供各种分布式事务服务。 APP应用程序只需调用提供的接口。

7. GET和POST方法的区别答案:在客户端,Get方式是通过URL提交数据,数据是通过URL可以看到的POST方式,数据放在HTML HEADER内提交。

以GET方式提交的数据最多为1024字节,但POST没有此限制。

安全问题。 如中所述,使用Get时,参数显示在地址栏中,但不显示开机自检。

8. JSP常用嵌入式对象答案:1.request对象:客户端的请求信息封装在request对象中,只有通过它才能理解和响应客户端的需求。

2 .响应对象:响应对象包含应客户请求的信息。

3.session对象: session对象是指客户端和服务器之间的会话,直到客户端与服务器断开连接。

4.out对象: out对象是JspWriter类的实例,page对象page对象是用于向客户端输出内容的常用对象,它指向当前JSP页本身

5.APP对象: APP对象可以实现用户之间的数据共享,可以存储全局变量。 从启动服务器开始,直到服务器关闭

9、在weblogic中开发消息Bean的持久性与非持久性的区别持久性MDB可以保证消息传递的可靠性。 也就是说,即使EJB容器有问题,JMS服务器也在该MDB可用时发送消息,不发送非持续方式的消息

10. Hibernate有哪些优点和局限性:

优点:对象/关系数据库映射( Basic O/R Mapping ) )。

透明度) ) ) ) )。

事务transaction ( org.hibernate.transaction )。

没有入侵性的所谓轻量级框架。

移植性变好。

高速缓存机制。 提供l1缓存和l2缓存。

简洁的HQL编程。

缺点: Hibernate在处理大量数据时很弱。

11. j2ee常用的设计模式? 说明工厂的模型。 23种Java设计模式:

Factory,Builder,Factory Method,

Prototype,Singleton,Facade,

Adapter,Bridge,Composite,

Decorator,Flyweight,Proxy,

Command,Interpreter,Visitor,

Iterator、Mediator、Memento、

观察器、状态、存储、

Template Method,Chain Of Responsibleity

工厂模式:工厂模式是一种常用模式,根据工厂模式实现的类可以根据提供的数据生成类的任何一个实例。 类组通常具有公共抽象父类,并实现相同的方法,但这些方法对不同的数据执行不同的操作。 首先需要定义基类。 此类的子类以不同的方式实现基类中的方法。 接下来,必须定义工厂类,根据条件可以生成不同的子类实例。 得到子类的实例后,开发人员可以调用基类中的方法,而不管返回的是哪个子类的实例。

12 .请描述(或简要描述) web容器以了解以下J2EE中的常用名词: 为web容器中的APP应用程序组件提供了一个环境,JSP、servlet可以在其中直接与环境变量界面进行交互,而无需考虑其他系统的问题。 主要由WEB服务器实现。 例如TOMCAT、WEBLOGIC、WEBSPHERE等。 此容器提供的接口严格遵守J2EE标准的web APP标准。 符合以上标准的WEB服务器称为J2EE的WEB容器。

EJB容器:企业Java bean容器。 很有行业特色。 他为其中运行的组件EJB提供了各种管理功能。 只要符合J2EE标准的EJB放入该容器,它就会立即被容器有效管理。 您还可以通过现成的界面获得系统级服务。 例如邮件服务、事务管理。

JNDI:JAVA名称目录服务。 主要功能是提供一个目录系统,其他各地的APP应用程序都有自己的索引,以满足快速搜索和定位分布式APP应用程序的能力。

JMS:JAVA消息服务。 主要实现各APP应用程序之间的通信。 包括点对点和广播。

JTA:JAVA事务服务。 提供各种分布式事务服务。 APP应用程序只需调用提供的接口。

JAF:JAVA安全认证框架。 提供一些安全控制框架。 使开发人员能够通过多种部署和定制来实现独特、个性化的安全控制策略。

RMI/IIOP :他们主要用于远程调用服务。 例如,您可以在远程计算机上运行程序,提供股票分析服务,然后直接在本地计算机上调用。 当然,在异构系统之间进行通信需要一定的规范。 RMI是JAVA特有的。

13 .什么是J2EE? J2EE是由Sun提出的多层(多层次、分布式)、基于组件的企业APP模型( enterpriese application model ) .这种APP 包括客户层( clietn tier )组件、web层和组件、业务层和组件以及企业信息系统( EIS )层。

14 .解释以下关于J2EE的名词JNDI : Javanamingdirectoryinterface,Javanameddirectory服务。 主要提供的功能是提供目录系统,使其他APP应用在其上面保留其自己的索引,以满足快速定位和定位分布式APP应用的功能。

JMS:Java消息服务,Java消息传递服务。 主要实现各APP应用之间的通信。 包括点对点和广播。

JTA:JAVA Transaction API,Java事务服务。提供各种分布式事务服务。APP应用只需要调用提供的接口即可。

jaf:Java操作框架,Java安全验证框架。 提供了一些安全控制的相关框架,使开发人员可以通过各种部署和定制实现自己的个性化安全控制策略。

RMI :远程方法接口,远程方法调用

15请简要说明struts体系结构struts是一个框架,它采用Java Servlet/JavaServer Pages技术开发了web APP应用程序的开源。 通过采用Struts,可以开发基于模型视图控制器( MVC )设计模式的APP表示框架。 Struts具有以下主要功能: 1 .包含controller servlet,用于将用户的请求发送到相应的操作对象。 2.JSP自由标签库。 在controller servlet中提供相关支持,以便开发人员可以创建交互式表单APP应用程序。 3 .提供一系列实用对象,包括XML处理、Java reflection APIs自动处理JavaBeans属性以及国际化提示和消息。

16 .在spring框架中,如何解决网页乱码问题? 您可以使用Spring框架附带的过滤器CharacterEncodingFilter。 构成方法如下。

将以下内容添加到web.xml文件中的filter位置:

过滤器过滤器- nameencodingfilter/filter-name filter-class org.spring framework.web.filter.characterencoding filter filter-class init-param param-name param-value/init-paraminit-param param-value/init-param/filter filter-mapping filter-nameencodingfilter 基本原理是,服务器在处理传入的请求之前,将请求中包含的令牌值与当前用户会话中存储的令牌值进行比较,以确保它们匹配。 在处理请求后,在将响应发送到客户端之前,将生成新令牌。 此令牌将被发送到客户端,并且存储在用户会话中的旧令牌也会被替换。 这样,当用户返回刚才的提交页面重新提交时,客户端发送的令牌和服务器端的令牌就会不一致,可以有效地防止重复提交。

18 Struts入门级产品? ActionServlet是Struts的条目类,所有Struts请求都通过该类进行传输

关于hibernate:1 )在hibernate中,配置文件中的标题一对多,多对多的标签是什么; 2 )什么是Hibernate二级缓存; 3 ) Hibernate如何处理事务; a )1)一对多标签包括:一对多标签; 多对多标签为many-to-many; 2 ) sessionFactory的高速缓存是hibernate的l2高速缓存3 ) hibernate的事务实际上是底层的JDBC Transaction的密封或JTA Transaction的密封缺省情况下使用JDBCTransaction。

20写出你熟悉的开源框架和各自的作用。 a (框架) hibernate、spring和struts.Hibernate主要用于数据持久性; Spring的控制反转起到解耦作用。Struts主要用于流程控制,如服务器类: Apache Tomcat Jboss

请导出spring中I0C的三种实现机制。 ( Spring )答: setter法注入、结构法注入、接口注入三种机制。

22说明servlet的生命周期,并说明servlet与CGI的区别。 当servlet实例化到服务器时,容器将执行其init方法,在请求到达时执行其service方法,service方法将自动发送和执行与请求对应的doXXX方法等

与cgi的区别在于servlet位于服务器进程中,并多线程执行该servlet的方法。 一个实例可以服务于多个请求,并且该实例通常不会被丢弃,但效率低于servlet,因为cgi会为每个请求生成新的进程,并在服务完成后将其丢弃。

23 JSP的内置对象和方法。 request表示http servlet request对象。 包含有关浏览器请求的信息,并提供了几种获取cookie、header和session数据的有用方法。

response表示http servlet response对象,提供了多种设置回复浏览器的响应的方法

out对象是javax.jsp.JspWriter的实例,提供了多种将输出结果发送回浏览器的方法。

pageContext表示javax.servlet.jsp.PageContext对象。 这是一种API,用于包装通用的servlet相关功能,以便于访问不同范围的命名空间和与servlet相关的对象。

session表示请求的javax.servlet.http.http session对象。 Session可以保存用户状态信息

applicaton表示一个javax.servle.servlet上下文对象。 这有助于找到有关servlet引擎和servlet环境的信息

config表示javax.servlet.ServletConfig对象。 此对象用于访问servlet实例的初始化参数。

page表示从此页面生成的servlet实例

24 JSP常规命令% @ page language=\’ Java \’ contentype=\’ text/html; charset=GB 2312 \’ session=\’ true \’ buffer=\’ 64kb \’ auto flush=\’ true \’ is thread safe=\’ true \’ info=\’ text \’ error page “% iserror page (是否可以使用exception对象),是否忽略isel ignored ( isel ignored )表达式”@如果@includefile Jsp页上的form标记的method属性是get,则返回doGet (,popot

26、servlet生命周期servlet被加载到web容器中,并开始生命周期。 通过调用servlet的init ( )方法来初始化servlet。 通过调用service ( ) )方法实现,根据请求调用不同的do*** ) )方法。 服务结束,web容器调用servlet的destroy ( )方法。

27、如何实现servlet的单线程模式%@ page isThreadSafe=\’false\’%

28、页面之间传递对象的方法request、session、application、cookie等

29、JSP和servlet有哪些共同点和不同点,他们之间的联系是什么? JSP是servlet技术的扩展,本质上是servlet的简易方式,更加强调应用的外表表现。 JSP编译后是“类servlet”。 servlet与JSP的最大区别在于,servlet的APP逻辑位于Java文件中,并且与表示层中的HTML完全分离。 对于JSP,可以将Java和HTML合并到扩展名为. JSP的文件中。 JSP将重点放在视图上,而servlet主要用于控制逻辑。

30、四种会话跟踪技术会话范围ServletsJSP页面说明

page“否”表示与页面相关的对象和属性。 页面由编译的Java servlet类表示。 这既包括servlet,也包括编译为servlet的JSP页

request表示与来自Web客户端的请求有关的对象和属性。 一个请求可能跨越多个页面,并且涉及多个Web组件

session表示与Web客户端中使用的用户体验相关的对象和属性。 一个Web会话也经常被多个客户端请求

APP表示与整个web APP应用程序相关联的对象和属性。 这实质上是一个跨越整个web APP应用程序(包括多个页面、请求和会话)的全局范围

31、J2EE是技术还是平台,还是框架? J2EE本身是一个标准,是为企业分布式APP应用开发提供的标准平台。

J2EE也是包含JDBC、JNDI、RMI、JMS、EJB、JTA等技术的框架。

32、我们在开发web APP应用程序时经常遇到输出iso8859-1等编码字符的情况,如何输出编码字符串? 公共字符串转换( stringstr ) {String tempStr=\’ \’; try { tempstr=new string ( str.getbytes ( \’ iso-8859-1 \’,\’ GBK \’ ) ); tempStr=tempStr.trim (; }catch(exceptione ) system.err.println ( e.getmessage ); }return tempStr; () ) ) ) )。

33.servlet接口有几种方法吗? a )五种方法: init (,service )、getServletConfig )、

getServletInfo (,destroy )。

34、servlet的生命周期可以分为四个阶段吗? 答: 1、创建servlet对象,然后使用服务器反射机制创建servlet对象。 在第一次请求时创建。

2、调用servlet对象的init (方法,初始化servlet的信息。 init ) )方法在创建后只被调用一次。

3 )响应于请求,调用service (或doGet )、doPost )方法处理请求。 这些方法在多线程状态下执行。

4 )如果长时间未调用或服务器已关闭,则调用destroy )方法销毁servlet对象。

35编写servlet代码时应该注意什么问题? 答:是线程安全问题。 请勿使用成员属性。

36、hibernate二级缓存? Hibernate缓存包括会话缓存和会话工厂缓存。 其中,会话工厂的缓存分为两类:内部缓存和外部缓存。 Session缓存是内置的,不能卸载。 也称为Hibernate的l1缓存。 SessionFactory的内置缓存和Session的缓存实现SessionFactory对象的某些集合属性中包含的数据的方式相似会话工厂的内置缓存包含映射元数据和预定义的SQL语句。 映射元数据是映射文件中数据的副本,预定义的SQL语句是在Hibernate初始化阶段根据映射元数据派生的。 会话工厂的内置缓存是只读的,APP应用程序无法修改缓存中的映射元数据和预定义SQL语句。 因此,sesionfactory是可配置的插件,而SessionFactory的外部缓存是可配置的插件。 默认情况下,SessionFactory不会启用此插件。 外部缓存的数据是数据库数据的副本,外部缓存的媒体可以是存储器或硬盘。 会话工厂的外部缓存也称为Hibernate二级缓存。

37、forward和redirect有什么区别? forward允许服务器请求资源,服务器直接访问目标URL,读取该URL的响应内容,并将内容发送给浏览器。 浏览器完全不知道从服务器发送的内容是从哪里来的,所以在其地址栏中保持原来的地址。 redirect是指服务器根据逻辑向浏览器发送状态代码,请求该地址。 通常,浏览器会用刚才请求的所有参数重新请求,因此可以获取session、request参数。

38、JSP中动态INCLUDE和静态INCLUDE的区别? 答:动态INCLUDE使用jsp:include操作实现JSP:include page=\’ included.JSP \’ flush=\’ true \’ /。 这适合于包含动态页,并且可以具有参数。 静态INCLUDE通过INCLUDE伪代码实现,不检查包含的文件的变化,应用于包含静态页面的%@ include file=\’included.htm\’ %

39、数据连接池的工作原理是什么? a ) J2EE服务器启动时将建立一定数量的池连接,并保持更多的池连接。 如果客户端需要连接,池驱动程序将返回未使用的池连接,并将其标记为忙。 如果当前没有空闲连接,池驱动程序将创建一定数量的新连接。 配置参数决定了新连接的数量。 正在使用的池连接调用完成后,池驱动程序将此连接标记为空闲,然后其他调用可以使用此连接。

40、JSP和servlet有哪些共同点和不同点,他们之间的联系是什么? 答: JSP是servlet技术的扩展,本质上是servlet的简易方式,更加强调应用的外表表现。 JSP编译后是“类servlet”。 servlet与JSP的最大区别在于,servlet的APP逻辑位于Java文件中,并且与表示层中的HTML完全分离。 对于JSP,可以将Java和HTML合并到扩展名为. JSP的文件中。 JSP将重点放在视图上,而servlet主要用于控制逻辑。

41、jsp的四个范围? a.page表示与一个页面相关的对象和属性。 页面由编译的Java servlet类表示。 这既包括servlet,也包括编译为servlet的JSP页

b.request表示与来自Web客户端的请求有关的对象和属性。 一个请求可能跨越多个页面,并且涉及多个Web组件

c.session表示与Web客户端中使用的用户体验相关的对象和属性。 一个Web会话也经常被多个客户端请求

d.application表示与整个web APP应用程序相关联的对象和属性。 这实质上是一个跨越整个web APP应用程序(包括多个页面、请求和会话)的全局范围

42、Struts的Token机制怎么样了? 产生token有什么方法? 答: a:Struts使用Token机制来防止恶意破坏和重复提交问题。 也就是说,单击“上一步”,然后重新提交。 这在struts中找不到。 在form中生成Token代码,session中也存储了相同的Token代码。 表单提交后,如果认为两个Token代码对等,就会更改seect代码,当然在用完之后,form的Token代码也不会改变。 在提交过程中,还将确定两个token代码是否相等。 如果不等待,就抛出异常,证明是过时的垃圾数据。

作用: Token机制解决表单重复提交;

生成token的两种方式:1.表单的post请求,隐藏域input type=\’ hidden \’ name=\’ token \’ value=\’ $ { token } \’;

2 .直接使用超级连接html:link action=\’ \’ tras antion=\’ true \’可以在直接连接后添加token值。

43 hibernate如何实现持久化1.hibernate是ORM(objectrelationmapping )框架,所谓对象关系映射,通俗地说就是JAVA对象

2 .要使2.hibernate持久化,必须首先建立对象与关系数据库的映射。

3.hibernate根据定义的映射规则将对象持久化。 这样可以实现对象的持久化。