(component-base)的企业级应用模型(enterprieseapplicationmodel).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietntier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。 93.WEBSERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 答:WebService描述语言WSDL SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。 UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。 94.BS与CS的联系与区别。 联系: C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server同数据库进行数据交互。 区别: 1、硬件环境不同: C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。 B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。 2、对安全要求不同: C/S一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。 B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。 3、对程序架构不同: C/S程序可以 更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。 B/S对安全以及访问速度的多重考虑,建立在需要更加优化的基础之上,比C/S有更高的要求,。B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000 Exchange2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。 4、软件重用不同: C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。 B/S的多重结构,要求构件相对独立的功能,能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
5、系统维护不同: C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级,升级难,可能是再做一个全新的系统。 B/S构件组成,方便构件个别的更换,实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。 6、处理问题不同: C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关,应该都是相同的系统。 B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。 7、用户接口不同: C/S多是建立在Windows平台上,表现方法有限,对程序员普遍要求较高。 B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,减低开发成本。 8、信息流不同: C/S程序一般是典型的中央集权的机械式处理,交互性相对低。 B/S信息流向可变化,B-B、B-C、B-G等信息,流向的变化,更象交易中心。 95.STRUTS的应用(如STRUTS架构) 答:Struts是采用JavaServlet/JavaServerPages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。Struts有如下的主要功能: 一.包含一个controllerservlet,能将用户的请求发送到相应的Action对象。 二.JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。 三.提供了一系列实用对象:XML处理、通过JavareflectionAPIs自动处理JavaBeans属性、国际化的提示和消息。 96.开发中都用到了那些设计模式?用在什么场合? 答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 97.UML方面 答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图, JavaScript方面 98.如何校验数字型? varre=/^d{1,8}$|.d{1,2}$/; varstr=document.form1.all(i).value; varr=str.match(re); if(r==null){ sign=-4;
break; }else{ document.form1.all(i).value=parseFloat(str); } CORBA方面 99.CORBA是什么?用途是什么? 答:CORBA标准是公共对象请求代理结构(CommonObjectRequestBrokerArchitecture),由对象管理组织(ObjectManagementGroup,缩写为OMG)标准化。它的组成是接口定义语言(IDL),语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。其目的为: 用不同的程序设计语言书写 在不同的进程中运行 为不同的操作系统开发 LINUX方面 100.LINUX下线程,GDI类的解释。 答:LINUX实现的就是基于核心轻量级进程的\一对一\线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。 GDI类为图像设备编程接口类库。 Servlet 101.什么情况下调用doGet()和doPost()? HttpServlet中的service()方法默认的服务功能是调用与HTTP请求的方法相应的do功能。例如:如果HTTP请求方法为GET,则默认情况时,doGet()。当一个客户通过HTML表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。 102.servlet的init()方法和service()方法的区别 Init()方法: 在Servlet的生命周期中,仅执行一次,init()方法,即在服务器装入Servlet时执行。通过配置服务器,可以设定在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()方法。 Service()方法: Service()方法是Servlet的主体部分。客户对一个HttpServlet对象的每次请求都会调用该对象的service()方法,并传递给这个方法一个―请求‖对象和一个―响应‖对象作为参数。―请求‖对象提供有关请求的信息,而―响应‖对象提供了一个将响应信息返回给浏览器的通信途径。Javax.servlet软件包中的相关类为ServletRequest和ServletResponse,而javax.servlet.http软件包中的相关类为HttpServletRequest和HttpServletResponse。Servlet 些对象与服务器通信并最终与客户机通信。Servlet能通过调用―请求‖对象的方法获知客户机环境、服务器环境的信息和所有由客户机提供的信息;通过调用―响应‖对象的方法,Servlet可以向客户机发送
响应。 103.servlet的生命周期 Servlet:包括加载和实例化初始化、处理请示以及服务结束。 Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。 不存在的Servlet实例――容器装载Servlet――创建Servlet实例――初始化Servlet对应Servlet的init()方法――调用service()方法对应Servlet的service()方法――结束Servlet对应Servlet的destroy()方法 104.如何现实servlet的单线程模式 <%@page isThreadSafe=‖false‖%> 105.四种会话跟踪技术 session、隐藏表单字段、URL重写、持久COOKIE EJB 106.EJB容器提供的服务 主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。 107.EJB的角色和三个对象 EJB角色主要包括Bean开发者应用组装者部署者系统管理员EJB容器提供者EJB服务器提供者 三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类 108.EJB的几种类型 会话(Session)Bean,实体(Entity)Bean消息驱动的(MessageDriven)Bean 会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种 实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种 109.bean实例的生命周期 对于StatelessSessionBean、EntityBean、MessageDrivenBean一般存在缓冲池管理,而对于EntityBean和StatefullSessionBean存在Cache管理,通常包含创建实例,设置上下文、创建EJBObject(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。 110.激活机制 以StatefullSessionBean为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJBObject发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会
调用对应的ejbActive和ejbPassivate方法。 111.remote接口和home接口主要作用 remote接口定义了业务方法,用于EJB客户端调用业务方法 home接口是EJB工厂用于创建和移除查找EJB实例 112.客服端调用EJB对象的几个基本步骤 一、设置JNDI服务工厂以及JNDI服务地址系统属性 二、查找Home接口 三、从Home接口调用Create方法创建Remote接口 四、通过Remote接口调用其业务方法 113.会话BEAN的属性 1、会话BEAN与客户端对话,可视为客户端的扩展 2、每个会话只能对应一个客户端 3、会话BEAN是短暂的(非持久) 114.实体BEAN的属性 1、可以被多个客户端并发使用 2、存在时间较长,在某个客户端的生命周期结束后仍然存在 3、服务器崩溃了也依然存在 115.STATE SESSION BEAN 与 STATELESS SESSION BEAN的区别: 有状态会话BEAN在方法调用中维持会话状态,无状态会话BEAN具有很快速的特点,可以为多个客户端服务。 还有的区别是:EJB容器可以将有状态会话BEAN写入辅助存储器,无状态会话BEAN从不写入到辅助存储器状态会话BEAN的本地接口必须有无参数的CREATE方法,有状态会话BEAN则需要参数初始化其状态。 数据库 1、存储过程的编写 2、基本的SQL语句 Weblogic 116.如何给weblogic指定大小的内存? 在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加setMEM_ARGS=-Xms32m-Xmx200m,可以调整最小内存为32M,最大200M 117.如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加setPRODUCTION_MODE=true。 118.如何启动时不需输入用户名与密码? 修改服务启动文件,增加WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码. 119.在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?