无状态会话 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

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 Bean

3.2 给Session Bean添加功能

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

ExempleBean

4. 创建 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 methods

5. 部署项目

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

工具栏

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

然后就可以看到结果:

Result

恭喜你,完成啦!

下次预告:JDBC

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,951评论 6 342
  • 本章为部署描述符中Web容器支持详细描述Java Servlet 规范3.0版本要求。部署描述符在应用开发者,应用...
    Lucky_Micky阅读 2,063评论 0 0
  • 1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标...
    michaelgong阅读 848评论 0 1
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11