无状态会话 Bean 与 Servlet

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

无状态会话 Bean 与 Servlet_第1张图片
File → New Project→ Java EE → Entreprise Application (Next)

这里我的项目名称叫 Ex1,路径为默认路径:

无状态会话 Bean 与 Servlet_第2张图片
输入项目名称和路径 (Next)

服务器和 JavaEE 版本为默认,并把创建 EJB 模块和 WebApplication 模块勾上:

无状态会话 Bean 与 Servlet_第3张图片
设置服务器和 JavaEE 版本并选择是否创建 EJB 模块和 WebApplication 模块

然后你就可以在 IDE 中看见一个 EJB 项目。Ex1-ejb 是 ejb 模块,我们在这里写 Bean;Ex1-war 是 WabApplication 模块,我们把 servlet 写在这里。

无状态会话 Bean 与 Servlet_第4张图片
EJB 项目

3.1 创建Session Bean

在 ejb 模块即 Ex1-ejb 右击,New → Session Bean → 输入包名以及 EJB 名字,这里我叫他 ExempleBean → 选择 Stateless 表示无状态 → Finish

无状态会话 Bean 与 Servlet_第5张图片
创建Session Bean

3.2 给Session Bean添加功能

打开 Bean,输入代码,这里我写了一个简单的问候函数 hello,注意此处无需构造函数,且尽量不要用全局变量 (这是个企业即“应用,若将来有很多人同时访问,全局变量会造成问题):

无状态会话 Bean 与 Servlet_第6张图片
ExempleBean

4. 创建 Servlet Class

此时,我们转入 WabApplication 模块,也就是 Ex1-war。

在 WabApplication 模块即 Ex1-war 右击,New → Servlet → 输入包名以及 Servlet 名字,这里我叫他 ExempleServlet → 选择设置配置文件,Sevlet 的名称和URL → Finish

无状态会话 Bean 与 Servlet_第7张图片
输入包名以及 Servlet 名字
无状态会话 Bean 与 Servlet_第8张图片
自动配置文件

随后,写入 Servlet 代码:

首先,注意要导入刚才创建的 EJB,并且加上包名。还要导入包 javax.ejb.EJB (这样下面的注解才会生效)

无状态会话 Bean 与 Servlet_第9张图片
import packages

通过 @EJB 注解来注入 EJB,这样就会自动创建出实例而不需要自己来 new 出实例。在 processRequest 方法中就可以直接调用 ExempleBean 实例 exemple 的方法,比如这里的 exemple.hello(username)。

无状态会话 Bean 与 Servlet_第10张图片
ExempleServlet

这里是 Servlet 的HttpServlet 的方法,也就是当用 Get 和Post 时都调用 ProcessRequest 方法。

无状态会话 Bean 与 Servlet_第11张图片
HttpServlet methods

5. 部署项目

先通过小锤子加小扫帚的那个图标来 build 项目,再在右侧项目名称上右击然后选择 Deploy 来部署上服务器,最后通过右三角的那个图标来运行。

工具栏

在浏览器地址栏里输入URL:localhost:8080/Ex1-war/ExempleServlet

然后就可以看到结果:

无状态会话 Bean 与 Servlet_第12张图片
Result

恭喜你,完成啦!

下次预告:JDBC

你可能感兴趣的:(无状态会话 Bean 与 Servlet)