`
suhuanzheng7784877
  • 浏览: 701410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47681
社区版块
存档分类
最新评论

JavaEE5学习笔记07-Web层与EJB集成总结(4):Struts2与EJB集成

阅读更多

 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学习笔记】 JavaEE(Java Enterprise Edition)是Java平台的一个版本,专注于为企业级应用程序提供服务。这个学习笔记涵盖了多个关键的JavaEE组件和技术,包括基础的Java核心概念、Unix操作系统、HTML、JSP...

    JavaEE5实战笔记04JSF的一些补充

    JSF的优点包括强大的MVC架构、内置的事件处理机制、丰富的UI组件库以及与EJB和JPA等JavaEE组件的紧密集成。然而,它的学习曲线相对较陡峭,配置相对复杂,尤其是早期版本。此外,尽管JSF提供了数据验证和转换功能,...

    达内培训笔记

    【JavaEE技术体系详解】 JavaEE(Java Platform, Enterprise ...达内培训笔记涵盖了这些JavaEE的重要概念和技术,对于初学者和进阶开发者都是宝贵的学习资料,通过深入学习和实践,可以掌握企业级应用开发的关键技能。

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、...

    达内javaSE,javaEE个人学习所有基础笔记

    "达内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与Java EE概述 - **Java**: 是一种广泛使用的面向对象编程语言,具有平台独立性、安全性、可靠性和可移植性等特点。 - **Java EE (Enterprise Edition)**: 建立在...

    javaweb 崔希凡全套笔记

    【JavaWeb崔希凡全套笔记】是一份全面深入学习JavaWeb和JavaEE技术的重要资源,由知名讲师崔希凡精心编撰。这份笔记总计涵盖了28天的学习内容,旨在帮助学员系统地掌握JavaWeb和JavaEE的核心知识。下面将详细阐述...

    javaEE 笔记

    JavaEE,全称为Java Platform, Enterprise Edition,是一个用于开发企业级应用程序的框架,它提供了丰富的组件和服务,包括Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)等,来构建分布式、多层的...

    Java EE技术课堂笔记

    4. 基于 Web 的应用阶段:出现了软件分层结构,软件之间的耦合降低了,代表技术有 JavaEE(J2EE) , .NET。 四、JSP 简介 JSP(Java Server Pages)是一种基于 Java 技术的动态网页开发技术。它在传统的 HTML 页面中...

    javaEE培训教案(国内某一IT培训机构2个月的培训内容)

    2. **Servlet与JSP**:作为JavaEE开发的核心部分,Servlet用于服务器端的动态处理,JSP则用于视图层展示。学员会学习如何创建和配置Servlet,理解请求响应模型,以及JSP的EL(Expression Language)和JSTL(Java...

    web基础笔记

    web基础笔记 Web 基础知识 Web 应用通过浏览器访问,运行在远程的服务器上,访问网站。浏览器是通用的客户端,B/S 结构的客户端。服务器端内容更新客户端不要更新,更新对用户影响不大。 客户端和服务器端 ...

    传智播客JAVAee十次方项目

    【传智播客JAVAee十次方项目】是传智播客教育机构推出的Java企业级应用(JAVA-EE)教学项目,旨在帮助学员深入...提供的“5天项目十次方复习笔记”文档可以帮助学习者系统回顾整个项目的学习内容,加深理解,巩固技能。

    Java 从入门到精通全程笔记(JavaSE+JavaEE :史上最全笔记)

    JavaSE+JavaEE企业级开发 全程笔记免费下载,内容详尽,doc文档,共173页,六号字体,双栏排版。 *、Java 基础, *、web, *、数据库(Mysql Oracle jdbc Hibernate hql/sql), *、JSP, *、Ajax *、Struts, *、...

    yolo开发t-JavaWeb-m笔记

    11. **Web框架**:如Spring MVC、Struts2等,它们简化了JavaWeb开发,提供了更高级的功能,如依赖注入、AOP等。 12. **前端技术**:HTML、CSS、JavaScript,与Java后端配合构建完整的Web应用。 13. **测试**:...

    J2EE学习笔记(J2ee初学者必备手册)

    Java/JavaEE学习笔记Jonny xuxiang5612@sina.com 第一章 XML Overview....................107 第二章 DTD...........109 第三章 XML Namespaces................111 第四章 XML Schema.....................115 第...

    韩顺平servlet与jsp_笔记与心得

    ### 韩顺平servlet与jsp_笔记与心得 #### JavaEE概述 JavaEE(Java Platform, Enterprise Edition)是一个开放式的平台标准,为开发者提供了丰富的API和工具集,以便构建高质量的企业级应用。JavaEE的核心是围绕着...

    北京圣思园javaweb课件和笔记

    3. **JavaEE组件**:如JavaBean、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等,这些都是构建企业级Web应用的重要组成部分。JavaBean是可重用的Java组件,EJB提供服务和容器管理,JMS则用于异步消息...

Global site tag (gtag.js) - Google Analytics