## 1 EJB中有几种Bean,叙述有状态Bean和无状态Bean的区别。
答:EJB中有Session Bean,Entity Bean,以及 Message Driven Bean。这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。
## 延伸问题
1.1 几种Bean的作用
答:SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。Message Driven Bean用来处理基于消息请求的组件。
1.2 Session Bean和Entity Bean的区别
答:对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
## 2 HTTP协议的完成请求以及相应格式是什么?
答:HTTP协议的格式是http://host[:port][abs_path],例如http://192.168.0.1:8080/index.jsp。HTTP的请求由请求行、消息报头、请求正文组成,请求行格式:Method Request-URI HTTP-Version CRLF,其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行。
## 延伸问题
2.1 HTTP协议定义
答:HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。
2.2 HTTP协议的特点
答:无连接:无连接的含义是限制每次连接只处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间。无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
2.3 HTTP协议有哪些请求方法
GET:请求获取Request-URI所标识的资源
POST:在Request-URI所标识的资源后附加新的数据
HEAD:请求获取由Request-URI所标识的资源的响应消息报头
PUT:请求服务器存储一个资源,并用Request-URI作为其标识
DELETE:请求服务器删除Request-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
## 3 接口和抽象类有什么区别,抽象类中可以有非抽象方法吗?
区别:1)一个类只能继承一个抽象类但可以实现多个接口
2)接口是抽象类的变体,接口中所有方法都是抽象的,而抽象类是声明方法的存在,而不去实现的类
3)接口定义方法但不能实现,抽象类可以实现部分方法
4)接口中基本数据类型是static,但抽象类不是
抽象类中可以有抽象方法也可以有非抽象方法,抽象方法用于不同子类实现不同的方法,非抽象方法用于所有子类共享该方法,不需要重写。
## 4 Servlet如何注入Service?
答:写一个委托的Bean,用Spring采用注解的方式将服务注入到Servlet中。具体参见[http://www.oschina.net/question/111042_74534](http://www.oschina.net/question/111042_74534)
## 5 什么叫数据库的脏读
答:一个事务读到另外一个事务还没有提交的数据
延伸问题:
5.1 不可重复读
答:一个事务先后读取同一条记录,但两次读的数据不同
## 6 在weblogic中发布ejb需涉及到哪些配置文件
答:ejb-jar.xml和weblogic-ejb-jar.xml
## 7 如何在weblogic中配置数据源
见[http://blog.csdn.net/weijie_search/article/details/2756585](http://blog.csdn.net/weijie_search/article/details/2756585)
## 8 对于WebService中的CXF实现如何根据服务端的WSDL描述文件生成对应的客户端代码,并作解释。
## 9 如何解释Spring的DI,AOP等定义
答:DI即dependency injection,程序在运行的时候动态的生成对象、执行对象的方法,改变对象的属性,spring就是通过反射来实现注入的。AOP即Aspect-oriented programming,该模块为基于Spring的应用程序中的对象提供事务管理服务,通过AOP,不依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
## 10 编写数据库存储过程或者函数,要求查询某张表中的限定数据。
这个题我真不知道出题者想考察什么,难道是存储过程的格式?