javaee企业级应用开发教程电子书(求:轻量级javaee企业应用实战(第三版)-Struts2+spring3+hibernate整合开发书中的源代码!(李刚著))

:暂无数据 2026-07-30 21:50:06 :5

javaee企业级应用开发教程电子书(求:轻量级javaee企业应用实战(第三版)-Struts2+spring3+hibernate整合开发书中的源代码!(李刚著))

“javaee企业级应用开发教程电子书”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看javaee企业级应用开发教程电子书(求:轻量级javaee企业应用实战(第三版)-Struts2+spring3+hibernate整合开发书中的源代码!(李刚著))!

本文目录

求:轻量级javaee企业应用实战(第三版)-Struts2+spring3+hibernate整合开发书中的源代码!(李刚著)

一、Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。 二、STRUCTS Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。 三、Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

怎样写一个javaee企业应用实验,体系结构中包含web层,ejb层与jpa

转载1.         1.本文主要技术采用了Servlet + JSP + EJB 3.0 + JPA,开发环境用的是EclipseHelios + JDK 1.6 + JBOSS 5.1 + MySQL 5.1数据库。

2.         2. 示例场景:用户通过Web页面对Employee进行创建、查找和删除。这个小例子重点是演示JPA的使用。JPA是JavaPersistence API的缩写,主要是将关系数据库的操作对象化,它的j2ee的标准规范,由于其自身简单易用的优点,也是SAP推荐使用的数据库技术。

3.      3.准备工作:

(1)   安装JBOSS 5.1

(2)   安装MySQL 5.1

(3)   给Jboss配置数据源

首先启动mysql后,创建一个数据库叫ejbtest,然后创建一个用户jboss,密码是password,并将ejbtest的权限赋给它。

然后在路径jboss-5.1.0.GA/server/default/deploy下放入mysql-ds.xml文件。

Mysql-ds.xml:
《datasources》 
    《local-tx-datasource》 
       《jndi-name》MySqlDS《/jndi-name》 
       《connection-url》jdbc:mysql://localhost:3306/ejbtest《/connection-url》
       《driver-class》com.mysql.jdbc.Driver《/driver-class》 
       《user-name》jboss《/user-name》 
       《password》password《/password》 
    《/local-tx-datasource》 
《/datasources》

4.       4.开发

    4.1先创建一个EJB Project,名字叫EmployeeEJB。

然后在META-INF目录下新建一个persistence.xml文件

   4.2开始创建我们的Entity Bean:Employee类,它是一个简单的Java Bean。

package com.sap.demo.ejb.employee.model;

import javax.persistence.Entity;

import javax.persistence.Id;

@Entity

public class Employee {

      @Id

      privateint id;

      publicint getId() {

            returnid;

      }

      publicvoid setId(int id) {

            this.id= id;

      }

      publicString getName() {

            returnname;

      }

      publicvoid setName(String name) {

            this.name= name;

      }

      privateString name;

}

      4.3  在ejb项目中创建一个Local的SessionBean,名字叫EmployeeServicel,它的主要功能是对employee进行数据的操作,包括创建、查找、删除。

接口声明:

package com.sap.demo.ejb.employee.ejb;

import javax.ejb.Local;

importcom.sap.demo.ejb.employee.model.Employee;

@Local

public interface EmployeeServiceLocal {

      publicEmployee createEmployee(int id, String name);

      publicEmployee findEmployee(int id);

      publicvoid deleteEmployee(int id);

}

这里是接口的实现:

package com.sap.demo.ejb.employee.ejb;

import javax.ejb.Stateless;

import javax.ejb.TransactionAttribute;

import javax.ejb.TransactionAttributeType;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

importcom.sap.demo.ejb.employee.model.Employee;

/**

 *Session Bean implementation class EmployeeService

 */

@Stateless

public class EmployeeService implementsEmployeeServiceLocal {

      @PersistenceContext(unitName= "EmployeeDS")

      privateEntityManager em;

      @Override

      publicEmployee createEmployee(int id, String name) {

            Employeeemp = new Employee();

            emp.setId(id);

            emp.setName(name);

            em.persist(emp);

            returnemp;

      }

      @Override

      @TransactionAttribute(TransactionAttributeType.SUPPORTS)

      publicEmployee findEmployee(int id) {

            returnem.find(Employee.class, new Integer(id));

      }

      @Override

      publicvoid deleteEmployee(int id) {

            Employeeemp = findEmployee(id);

            if(emp != null) {

                  em.remove(emp);

            }

      }

}

      这样EJB项目就创建完毕了。

4    4.4 然后创建Web Project,名字叫EmployeeWeb。这个项目很简单,包含一个Servlet和两个页面index.jsp和result.jsp。用户在index.jsp对employee进行创建、查找、删除,然后由result.jsp负责展示结果。

Index.jsp

《%@ pagelanguage="java" contentType="text/html;charset=ISO-8859-1"

    pageEncoding="ISO-8859-1"%》

***隐藏网址***

《html》

《head》

***隐藏网址***

《title》Insert titlehere《/title》

《/head》

《body》

《FORM ACTION="ShowResult"》

 Id:

 《INPUTTYPE="text" NAME="id"/》《P》

 Name: 

 《INPUTTYPE="TEXT" NAME="name"/》

 《INPUTTYPE="hidden" NAME="method"VALUE="create" /》

 《INPUTTYPE="SUBMIT" VALUE="Createemployee and show result."》

《/FORM》

《FORM ACTION="ShowResult"》

 Id:

 《INPUTTYPE="text" NAME="id"/》

 《inputTYPE="hidden" NAME="method"VALUE="find" /》

 《INPUTTYPE="SUBMIT" VALUE="Find employeeand show result."》

《/FORM》

《FORM ACTION="ShowResult"》

 Id:

 《INPUTTYPE="text" NAME="id"/》

 《inputTYPE="hidden" NAME="method"VALUE="delete" /》

 《INPUTTYPE="SUBMIT" VALUE="Deleteemployee and show result."》

《/FORM》

《/body》

《/html》

result.jsp

《%@ pagelanguage="java" contentType="text/html;charset=ISO-8859-1"

    pageEncoding="ISO-8859-1"%》

***隐藏网址***

《html》

《head》

***隐藏网址***

《title》Insert titlehere《/title》

《/head》

《body》

《jsp:useBean id="employee"type="com.sap.demo.ejb.employee.model.Employee"scope="request"/》

id:《jsp:getProperty name="employee"property="id"/》,

name:《jsp:getProperty name="employee"property="name"/》

《/body》

《/html》

最后是Servlet ShowResult:

package com.sap.demo.ejb.servlets;

import java.io.IOException;

import javax.ejb.EJB;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

***隐藏网址***

***隐藏网址***

***隐藏网址***

import com.sap.demo.ejb.employee.ejb.EmployeeServiceLocal;

importcom.sap.demo.ejb.employee.model.Employee;

/**

 *Servlet implementation class ShowResult

 */

public class ShowResult extends HttpServlet {

      privatestatic final long serialVersionUID = 1L;

      @EJB

      privateEmployeeServiceLocal service;

    /**

     *@see HttpServlet#HttpServlet()

     */

   public ShowResult() {

       super();

       // TODO Auto-generated constructor stub

    }

      /**

       * @see HttpServlet#doGet(HttpServletRequestrequest, HttpServletResponse response)

       */

      protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {

            Stringmethod = request.getParameter("method");

            if(method.equals("create")) {

                  Stringname = request.getParameter("name");

                  Stringids = request.getParameter("id");

                  intid = Integer.parseInt(ids);

                  Employeeem = service.createEmployee(id, name);

                  request.setAttribute("employee",em);

            }elseif (method.equals("find")) {

                  Stringids = request.getParameter("id");

                  intid = Integer.parseInt(ids);

                  Employeeem = service.findEmployee(id);

                  request.setAttribute("employee",em);

            }else if (method.equals("delete")){

                  Stringids = request.getParameter("id");

                  intid = Integer.parseInt(ids);

                  Employeeem = service.findEmployee(id);

                  if(em != null){

                        service.deleteEmployee(id);

                        request.setAttribute("employee",em);

                  }

            }

            RequestDispatcherdispatcher = request.getRequestDispatcher("result.jsp");

            dispatcher.forward(request,response);

      }

      /**

       * @see HttpServlet#doPost(HttpServletRequestrequest, HttpServletResponse response)

       */

      protectedvoid doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {

            //TODO Auto-generated method stub

      }

}

关于javaee企业级应用开发教程电子书到此分享完毕,希望能帮助到您。

javaee企业级应用开发教程电子书(求:轻量级javaee企业应用实战(第三版)-Struts2+spring3+hibernate整合开发书中的源代码!(李刚著))

本文编辑:admin

本文相关文章:


安卓5.1开发者模式功能?安卓手机开发者选项在哪

安卓5.1开发者模式功能?安卓手机开发者选项在哪

其实安卓开发者的问题并不复杂,但是又很多的朋友都不太了解安卓5.1开发者模式功能,因此呢,今天小编就来为大家分享安卓开发者的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月1日 14:30

网页开发遇到的问题(移动互联网网页开发时要注意哪些问题)

网页开发遇到的问题(移动互联网网页开发时要注意哪些问题)

各位老铁们好,相信很多人对网页开发遇到的问题都不是特别的了解,因此呢,今天就来为大家分享下关于网页开发遇到的问题以及移动互联网网页开发时要注意哪些问题的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年10月28日 21:00

广州开发区属于哪个区(广州经济开发区属于什么区)

广州开发区属于哪个区(广州经济开发区属于什么区)

本篇文章给大家谈谈广州开发区属于哪个区,以及广州经济开发区属于什么区对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月28日 12:30

python开发工具(Orange_Pi_PC上Python开发常用工具)

python开发工具(Orange_Pi_PC上Python开发常用工具)

今天给各位分享Orange_Pi_PC上Python开发常用工具的知识,其中也会对Orange_Pi_PC上Python开发常用工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月26日 07:50

宁波微信小程序定制开发(微信小程序的开发费用要多少)

宁波微信小程序定制开发(微信小程序的开发费用要多少)

大家好,如果您还对宁波微信小程序定制开发不太了解,没有关系,今天就由本站为大家分享宁波微信小程序定制开发的知识,包括微信小程序的开发费用要多少的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月18日 09:40

长沙小程序开发定制(信用度比较高的湖南小程序开发公司是哪个)

长沙小程序开发定制(信用度比较高的湖南小程序开发公司是哪个)

大家好,长沙小程序开发定制相信很多的网友都不是很明白,包括信用度比较高的湖南小程序开发公司是哪个也是一样,不过没有关系,接下来就来为大家分享关于长沙小程序开发定制和信用度比较高的湖南小程序开发公司是哪个的一些知识点,大家可以关注收藏,免得下

2026年10月17日 02:50

成都响应式网站制作(在成都开发一个h5要多少钱)

成都响应式网站制作(在成都开发一个h5要多少钱)

大家好,如果您还对成都响应式网站制作不太了解,没有关系,今天就由本站为大家分享成都响应式网站制作的知识,包括在成都开发一个h5要多少钱的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月27日 12:30

软件是怎么开发出来的?(APP是怎样被开发出来的)

软件是怎么开发出来的?(APP是怎样被开发出来的)

大家好,如果您还对软件是怎么开发出来的?不太了解,没有关系,今天就由本站为大家分享软件是怎么开发出来的?的知识,包括APP是怎样被开发出来的的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年9月26日 09:20

网站开发公司联系电话(广州卫富科技开发有限公司电话是多少)

网站开发公司联系电话(广州卫富科技开发有限公司电话是多少)

今天给各位分享广州卫富科技开发有限公司电话是多少的知识,其中也会对广州卫富科技开发有限公司电话是多少进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月14日 16:50

展示型网站开发(网站怎么开发)

展示型网站开发(网站怎么开发)

本篇文章给大家谈谈展示型网站开发,以及网站怎么开发对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月12日 07:00

更多文章:


hesitation(hesitation是什么意思)

hesitation(hesitation是什么意思)

各位老铁们好,相信很多人对hesitation都不是特别的了解,因此呢,今天就来为大家分享下关于hesitation以及hesitation是什么意思的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

2026年11月3日 06:10

字体大小在哪里调整(电脑字体大小在哪里调调电脑字体大小的方法)

字体大小在哪里调整(电脑字体大小在哪里调调电脑字体大小的方法)

其实字体大小在哪里调整的问题并不复杂,但是又很多的朋友都不太了解电脑字体大小在哪里调调电脑字体大小的方法,因此呢,今天小编就来为大家分享字体大小在哪里调整的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月3日 04:40

网页页面设计的技巧有哪些?急求,jsp采用框架技术设计页面,如何写代码才能实现点击左侧框架内的链接,右侧框架内显示相应网页呢

网页页面设计的技巧有哪些?急求,jsp采用框架技术设计页面,如何写代码才能实现点击左侧框架内的链接,右侧框架内显示相应网页呢

其实设计页面的问题并不复杂,但是又很多的朋友都不太了解网页页面设计的技巧有哪些,因此呢,今天小编就来为大家分享设计页面的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月3日 03:00

selection是什么品牌(selection unique是什么葡萄酒)

selection是什么品牌(selection unique是什么葡萄酒)

其实selection是什么品牌的问题并不复杂,但是又很多的朋友都不太了解selection unique是什么葡萄酒,因此呢,今天小编就来为大家分享selection是什么品牌的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2026年11月3日 01:50

四分之一x的补码怎么求(计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了)

四分之一x的补码怎么求(计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了)

大家好,如果您还对四分之一x的补码怎么求不太了解,没有关系,今天就由本站为大家分享四分之一x的补码怎么求的知识,包括计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月2日 23:50

interpl(MATLAB中插值函数interpl怎么定义)

interpl(MATLAB中插值函数interpl怎么定义)

各位老铁们,大家好,今天由我来为大家分享interpl,以及MATLAB中插值函数interpl怎么定义的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月2日 23:30

java代码入门教程(零基础自学Java需要什么基础)

java代码入门教程(零基础自学Java需要什么基础)

大家好,如果您还对java代码入门教程不太了解,没有关系,今天就由本站为大家分享java代码入门教程的知识,包括零基础自学Java需要什么基础的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月2日 23:00

path的音标(音标[pa:θ]是什么单词)

path的音标(音标[pa:θ]是什么单词)

大家好,关于path的音标很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于音标[pa:θ]是什么单词的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月2日 22:50

collects(collect怎么读)

collects(collect怎么读)

大家好,今天小编来为大家解答以下的问题,关于collects,collect怎么读这个很多人还不知道,现在让我们一起来看看吧!

2026年11月2日 21:10

四舍五入用哪个函数(用于进行四舍五入的数学函数是以下哪一项)

四舍五入用哪个函数(用于进行四舍五入的数学函数是以下哪一项)

各位老铁们,大家好,今天由我来为大家分享四舍五入用哪个函数,以及用于进行四舍五入的数学函数是以下哪一项的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月2日 20:10

最近更新

自己设计图片(如何自己设计头像)
2026-11-03 06:20:15 浏览:0
hesitation(hesitation是什么意思)
2026-11-03 06:10:07 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
标签列表