Struts2+EJB+JBoss的集成Demo
因为Struts2仅仅是一个MVC框架,在JavaEE企业级开发中不像JavaEE标准那么吃香,很多东西得自己来做。这就是为什么很多EJB项目的Web前端都是JSF或者直接就是JSP+Servlet,而不是Struts2了。
新建一个Struts2的项目,之后先看Action代码
package action;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.opensymphony.xwork2.ActionSupport;
import ejb.messageDrivenBean.dto.UserDTO;
import ejb.sessionBean.UserService;
public class EJBAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private UserDTO userDTO;
public UserDTO getUserDTO() {
return userDTO;
}
public void setUserDTO(UserDTO userDTO) {
this.userDTO = userDTO;
}
/**
* @return
*/
public String execute() {
UserService userService;
if (userDTO != null) {
InitialContext ctx;
try {
ctx = new InitialContext();
userService = (UserService) ctx
.lookup("myear/UserServiceEAOImpl/local");
userService.insertUser(userDTO);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return SUCCESS;
}
}
|
这里需要指出的就是红色代码部分,通过全局的JNDI名称来获取SessionBean的实例,之后执行业务。在这个JNDI参数中myear是打包后的ear名称。此处必须指明全局的JNDI名称才行。页面代码和servlet页面代码差不多,只是在form中有一些属性变量不一致罢了在此就不再赘述了,Struts2配置文件如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="ejb" extends="struts-default">
<action name="EJBAction" class="action.EJBAction">
<result name="success">insertUserFormList.jsp</result>
</action>
</package>
</struts>
|
打成war包后放入ear包中,修改application.xml文件后重新部署此ear。运行效果与servlet差不多。在此就不再赘述。其实关键就是Action中的EJB组件是通过应用上下文通过全局的JNDI名称获取的服务对象。不用全局名称,会发生找不到绑定名的Exception。
分享到:
相关推荐
【JavaEE学习笔记】 JavaEE(Java Enterprise Edition)是Java平台的一个版本,专注于为企业级应用程序提供服务。这个学习笔记涵盖了多个关键的JavaEE组件和技术,包括基础的Java核心概念、Unix操作系统、HTML、JSP...
JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...
【JavaEE技术体系详解】 JavaEE(Java Platform, Enterprise ...达内培训笔记涵盖了这些JavaEE的重要概念和技术,对于初学者和进阶开发者都是宝贵的学习资料,通过深入学习和实践,可以掌握企业级应用开发的关键技能。
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...
"达内javaSE,javaEE个人学习所有基础笔记"是一个针对初学者的全面学习资源,涵盖了从Java Standard Edition (Java SE)的基础知识到Java Enterprise Edition (Java EE)的高级概念。 Java SE是Java的核心部分,它...
5. **框架使用**:如Struts、EJB、Hibernate、Spring、Ajax等,用于构建企业级应用。 ### Java开发工具 - **文本编辑器**:如记事本,初学者推荐使用以更好地理解Java语言和技术。 - **IDE集成开发环境**:如...
### 凯达Java学习全套笔记知识点解析 #### Java与Java EE概述 - **Java**: 是一种广泛使用的面向对象编程语言,具有平台独立性、安全性、可靠性和可移植性等特点。 - **Java EE (Enterprise Edition)**: 建立在...
【JavaWeb崔希凡全套笔记】是一份全面深入学习JavaWeb和JavaEE技术的重要资源,由知名讲师崔希凡精心编撰。这份笔记总计涵盖了28天的学习内容,旨在帮助学员系统地掌握JavaWeb和JavaEE的核心知识。下面将详细阐述...
JavaEE,全称为Java Platform, Enterprise Edition,是一个用于开发企业级应用程序的框架,它提供了丰富的组件和服务,包括Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)等,来构建分布式、多层的...
4. 基于 Web 的应用阶段:出现了软件分层结构,软件之间的耦合降低了,代表技术有 JavaEE(J2EE) , .NET。 四、JSP 简介 JSP(Java Server Pages)是一种基于 Java 技术的动态网页开发技术。它在传统的 HTML 页面中...
2. **Servlet与JSP**:作为JavaEE开发的核心部分,Servlet用于服务器端的动态处理,JSP则用于视图层展示。学员会学习如何创建和配置Servlet,理解请求响应模型,以及JSP的EL(Expression Language)和JSTL(Java...
web基础笔记 Web 基础知识 Web 应用通过浏览器访问,运行在远程的服务器上,访问网站。浏览器是通用的客户端,B/S 结构的客户端。服务器端内容更新客户端不要更新,更新对用户影响不大。 客户端和服务器端 ...
【传智播客JAVAee十次方项目】是传智播客教育机构推出的Java企业级应用(JAVA-EE)教学项目,旨在帮助学员深入...提供的“5天项目十次方复习笔记”文档可以帮助学习者系统回顾整个项目的学习内容,加深理解,巩固技能。
JavaSE+JavaEE企业级开发 全程笔记免费下载,内容详尽,doc文档,共173页,六号字体,双栏排版。 *、Java 基础, *、web, *、数据库(Mysql Oracle jdbc Hibernate hql/sql), *、JSP, *、Ajax *、Struts, *、...
11. **Web框架**:如Spring MVC、Struts2等,它们简化了JavaWeb开发,提供了更高级的功能,如依赖注入、AOP等。 12. **前端技术**:HTML、CSS、JavaScript,与Java后端配合构建完整的Web应用。 13. **测试**:...
Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第一章 XML Overview....................107 第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................115 第...
### 韩顺平servlet与jsp_笔记与心得 #### JavaEE概述 JavaEE(Java Platform, Enterprise Edition)是一个开放式的平台标准,为开发者提供了丰富的API和工具集,以便构建高质量的企业级应用。JavaEE的核心是围绕着...
3. **JavaEE组件**:如JavaBean、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等,这些都是构建企业级Web应用的重要组成部分。JavaBean是可重用的Java组件,EJB提供服务和容器管理,JMS则用于异步消息...