1. 所用环境:
- JDK 8
- EJB 3.x
- NetBeans IDE 8.2
- (GlassFish Server 4.1.1)
安装 JDK8.0 并配置环境变量,安装 NetBeans IDE
2. 项目描述:
我们要创建一个简单的 EJB3.0 无状态 Session Bean “ExempleStatelessBean”和一个 Servlet 客户端 “Exemple Servlet”,这个客户端用来调用创建的 Bean;
这个 “ExempleStatelessBean” 的例子将要解释如何在服务器上开发,部署和运行 EJB3 无状态 Session Bean;
我们将在 Servlet 中使用无状态会话 Bean 的依赖注入 (Dependency Injection);
这个会话 Bean 和这个 Servlet 被部署在同一个服务器上。
3. 创建一个新的EJB项目:
打开NetBeansIDE并创建一个项目:
File → New Project→ Java EE → Entreprise Application (Next)
→输入项目名称和路径 (Next)
→设置服务器和 JavaEE 版本并选择是否创建 EJB 模块和 WebApplication 模块
→Finish
File → New Project→ Java EE → Entreprise Application (Next)这里我的项目名称叫 Ex1,路径为默认路径:
输入项目名称和路径 (Next)服务器和 JavaEE 版本为默认,并把创建 EJB 模块和 WebApplication 模块勾上:
设置服务器和 JavaEE 版本并选择是否创建 EJB 模块和 WebApplication 模块然后你就可以在 IDE 中看见一个 EJB 项目。Ex1-ejb 是 ejb 模块,我们在这里写 Bean;Ex1-war 是 WabApplication 模块,我们把 servlet 写在这里。
EJB 项目3.1 创建Session Bean
在 ejb 模块即 Ex1-ejb 右击,New → Session Bean → 输入包名以及 EJB 名字,这里我叫他 ExempleBean → 选择 Stateless 表示无状态 → Finish
创建Session Bean3.2 给Session Bean添加功能
打开 Bean,输入代码,这里我写了一个简单的问候函数 hello,注意此处无需构造函数,且尽量不要用全局变量 (这是个企业即“应用,若将来有很多人同时访问,全局变量会造成问题):
ExempleBean4. 创建 Servlet Class
此时,我们转入 WabApplication 模块,也就是 Ex1-war。
在 WabApplication 模块即 Ex1-war 右击,New → Servlet → 输入包名以及 Servlet 名字,这里我叫他 ExempleServlet → 选择设置配置文件,Sevlet 的名称和URL → Finish
输入包名以及 Servlet 名字 自动配置文件随后,写入 Servlet 代码:
首先,注意要导入刚才创建的 EJB,并且加上包名。还要导入包 javax.ejb.EJB (这样下面的注解才会生效)
import packages通过 @EJB 注解来注入 EJB,这样就会自动创建出实例而不需要自己来 new 出实例。在 processRequest 方法中就可以直接调用 ExempleBean 实例 exemple 的方法,比如这里的 exemple.hello(username)。
ExempleServlet这里是 Servlet 的HttpServlet 的方法,也就是当用 Get 和Post 时都调用 ProcessRequest 方法。
HttpServlet methods5. 部署项目
先通过小锤子加小扫帚的那个图标来 build 项目,再在右侧项目名称上右击然后选择 Deploy 来部署上服务器,最后通过右三角的那个图标来运行。
工具栏在浏览器地址栏里输入URL:localhost:8080/Ex1-war/ExempleServlet
然后就可以看到结果:
Result恭喜你,完成啦!
下次预告:JDBC
网友评论