javaEE之JPA、EJB、JSF代码分析

javaEEJPAEJBJSF架构工程 按照星爷的视频教程架构JPA+EJB+JSF工程主要有以下几步: 1、服务器架构: 按照本人之前的《javaEE之eclipse+jboss搭建开发环境》方法搭建好的开发环境,添加server时要在Server runtime environment中选择JBoss v5.0,后面添加服务器目录,在新添加的服务器点击右键,选择open,进入Overview界面,选择Timeouts 将Star 阅读详情
按照本人前一篇《javaEE之JPA、EJB、JSF架构工程》的介绍建立好几个必要的工程文件。下面是重要代码分析:

1、JPA代码篇:

(1)单张表的实体创建,不涉及到多表连接。

@Entity//实体bean
@Table(name="user")//对应表名为user
public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id//id为主键
	private int id;
(2)多表连接

2、EJB代码篇:

(1)无状态会话bean,UserInfo.java

package test;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
 * Session Bean implementation class UserInfo
 */
@Stateless
public class UserInfo implements UserInfoRemote {
@PersistenceContext(unitName="testJPA") EntityManager em;
    /**
     * Default constructor. 
     */
    public UserInfo() {
        // TODO Auto-generated constructor stub
    }
	@Override
	public User getUserById(int id) {
		// TODO Auto-generated method stub
		User user=em.find(User.class, id);
		return user;
	}	
	@Override
	public void insertUser(User user) {
		// TODO Auto-generated method stub
		em.merge(user);
		em.flush();
	}
}
em调用find方法时,注意,参数只能是实体bean对应表的主键,不然无法实现查找功能。

@PersistenceContext(unitName="testJPA") EntityManager em;//这行代码一定要注意修改,不然会找不到实体bean而出错。

在执行完数据库的增删改操作后记得要将表刷新,实现同步。

(2)远程接口,UserInfoRemote.java

package test;
import javax.ejb.Remote;

@Remote
public interface UserInfoRemote {
	public User getUserById(int id);
	public void insertUser(User user);
}
远程接口没什么说的,定义好后可以利用集成开发环境自动生成相应的会话bean,保证参数的一致。

3、JSF代码篇:

(1)一个简单的登录页面

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@page contentType="text/html;charset=utf-8"%>
<html>
 <head>
 <title>第一个JSF程序</title>
 </head>
<body>
 <f:view>
<h:form>
请输入你的用户名:<h:inputText value="#{user.id}"/><br>
请输入你的密码:<h:inputSecret value="#{user.password }"></h:inputSecret> 
<p>
<h:commandButton value="登录" action="#{user.check}"/>
<h:commandButton value="重置" type="reset"/>
</h:form>
 </f:view>
 </body>
</html>
这里面有两点要注意:第一点,value="#{user.id}"对应的是back bean中的一个属性,一定要在back bean中有set和get方法;第二,动作事件,action="#{user.check}"对应的是backbean当中的一个方法,返回值一定要是string类型。

(2)faces-config.xml这个东西太复杂了,暂时还没完全搞懂,先不做展开。

4、java代码篇:

数据库字段类型为date,在java文件中存在两种date类型:java.sql.Date 和 java.util.Date。

(1)比如说我要从数据库中取出date类型值,然后打印成string

user.getBirthday().toString();
(2)存string类型的时间值到数据库中的date类型字段
java.util.Date temp=null;
java.sql.Date birDate=null;
try {
	temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
	birDate=new java.sql.Date(temp.getTime());
	} catch (ParseException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	} 
user.setBirthday(birDate);
这个存的时间类型为:yyyy-mm-dd,如果要存到数据库中尉datetime类型就有点复杂了。

Date today = new Date(System.currentTimeMillis());//获取系统当前时间

由于本人用的教材是Java EE 5 完全学习手册,清华大学出版社,2009年4月第一版,本书涉及面很广,但是对每个点讲得不是很细,比如说faces-config.xml导航规则就两页带过,本人觉得用起来还是那么不顺手,希望大牛们能推荐javaEE更好的学习资料。


Java EE开发系列教程 - 使用EJB组件与JPA层交互 因为之前JPA原生 属性在Wildfly实现中并不总是生效,所以这里换成了Wildfly默认的JPA实现,即Hibernate。把属性改成了Hibernate专有的。 定义是否自动生成表, 意为如果表存在,则删除后再创建。 用来指定数据库厂商,以根据不同的数据库生成厂商相关的SQL语句。创建EJB模块=======EJB Service client 模块EJB可以用接口来定义此Bean是本地还是远程的。本地bean只能在部署应用的同一容器中访问,而远程bean可以被集群中的服务器所访问。现在,创建一个m 阅读详情

相关推荐

JSF+EJB+JPA

这是一个经典javaee项目,使用JSF+EJB+JPA框架来完成的一个基于网络聊天室的dnf拍卖系统,里面含有两个项目,从网络聊天室可以直接进入拍卖系统。

EJBJPA(注解)_转

[code="java"]import java.io.Serializable; import java.security.acl.Group; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; import javax.pe...

Farewell 176

JSF+EJB+JPA JAVAEE视频教程

EJB+JSF+JPAJAVAEE视频教程,EJB+JSF+JPA入门觉得有点难吗?JBOSS报错?该教程全程教你学习搭建EJB+JSF+JPA框架!这是一个链接,内含一个小项目,课程设计

JSF+EJB+JPA总体思路

前言: JSF+EJB+JPA 其实我并没有想象中的难,只是想做好,建立在正确的地方应用,真正的困难. 良好的技术,在错误的地方做应用,这是唯一能够被垃圾. 用. 重量级企业应用能够使用这个主要的3层结构的实现,来添加很多其它的企业级应用.而这些基本上不怎么须要改动,能够说是能够独立开来维护的部分.至于耦合性,关键看怎样建立应用了,这个又和项目開始的分析和设计密切相关. 目的: 建立...

weixin_34205826的博客 658

JPA+EJB+JSFJPA简介及与EJB的关系

JPA简介及与EJB的关系

鹏Apan的博客 812

JPA入门例子(采用JPA的hibernate实现版本)

<br />(1)、JPA介绍:<br />      JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口。JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。使用JPA持久化对象,并不是依赖于某一个ORM框架。 <br />     为什么要使用JAP?<br />      在说为什么要使用JPA之前,我们有必要了解为什么要使用ORM技术。<br />ORM 是Object-Relati

hmk2011的专栏 18万+

SSH和JSF+EJB+JPA的比较

SSH完全的开源产品,如果用SSH就必然会用到大量的开源的东东,从数据库到逻辑到控制到前端,开源产品大拼装,其中SSH中的三大核心,Struts相当于JSF,Spring相当于EJB,HIBERNATE相当于JPA,具体反映到IDE对于两种框架的支持上,本人用的是netbeans,对经典的JAVAEE支持的非常好,所有的配置文件都集成到了IDE中,甚至还包括了一个中文免费的EJB容器:Glassf

sunbirdhan的专栏 2783

JPA EJB SEAM JSF

首先,你应该知道什么是J2EE。 Java企业版,Java 2 Enterprise Edition,就是J2EE,为了解决Java在企业级开发领域而产生的平台。 目前最新版是J2EE5.0,官方名字叫Java EE 5. JSF是J2EE里的Web应用框架,与它类似的有开源产品Struts,WebWork等。JSF是SUN官方指定的Web框架。 EJB:全名Enterprise JavaBean

怒放的生命 1561

ejb jsf jpa_完整的WebApplication JSF EJB JPA JAAS –第1部分

ejb jsf jpa 这篇文章将是迄今为止我博客中最大的一篇文章! 我们将看到完整的Web应用程序。 最新的技术(直到今天)都将完成,但是我将给出一些提示以显示如何使本文章适应较旧的技术。 在本文的结尾,您将找到要下载的源代码。 您可以根据需要使用它。 只需转到最后一页并进行下载。 \ o / 如果您下载了代码但不了解某些内容,则在本文中,我将解释代码中找到的每个详细信息。 只需阅读此...

最佳 Java 编程 292

拍卖系统jsf+ejb+jpa

关于jsf+ejb+jpa整合,光盘上代码这样写的。

SSH框架和JPA+EJB+JSF框架的比较

各种主流JAVA框架的比较,包括JSF,Struts,EJB,Hibernate,jpa,spring

javaEE白皮书

一份关于j2ee的技术文档,介绍了java企业平台,servlet,jax,ejb等等

JavaEE(入门)

JavaEE(Java Platform, Enterprise Edition)是由Sun Microsystems推出的一套标准,现由Oracle维护。JavaEE平台主要用于开发和运行企业级应用程序,具有高可扩展性、可维护性和跨平台性。掌握JavaEE的核心技术,并通过实际项目实践来巩固所学知识。在学习过程中,要注重理论与实践相结合,多动手编写代码,解决实际问题,逐步提高自己的编程能力。

2303_76624483的博客 1万+

ejb jsf jpa_完整的WebApplication JSF EJB JPA JAAS –第2部分

ejb jsf jpa 视图–创建和JSF设置 本教程是第1部分的继续。 让我们创建一个新的Dynamic Web Project 。 如下图所示创建它: 请注意:在某些时候,Eclipse会询问您是否要添加JSF功能(自动完成),然后启用它。 就像下面的屏幕一样: 创建项目后,让我们编辑“ web.xml”文件; 它应具有与以下相同的代...

最佳 Java 编程 280

使用 Spring,JSFEJB3 设计企业应用程序

在本文中,作者使用 Eclipse 开发了一个简单的应用,演示了使用 Spring 集成 Java EE 5 核心框架 - EJB 3.0 和 JSF 1.2 的过程。您将看到,Spring 使得访问和实现 EJB 更加方便。Java EE 5.0 的核心框架是 EJB(Enterprise JavaBeans)3.0 和 JSF(JavaServerFaces)1.2 。 EJB 3.0 是

海风~ 1053

完整的WebApplication JSF EJB JPA JAAS –第2部分

视图–创建和JSF设置 本教程是第1部分的继续。 让我们创建一个新的Dynamic Web Project 。 如下图所示创建它: 注意:在某些时候,Eclipse会询问您是否要添加JSF功能(自动完成),然后启用它。 就像下面的屏幕一样: 创建项目后,让我们编辑“ web.xml”文件; 它应该具有与以下相同的代码: <?xm...

最佳 Java 编程 248
上一篇: javaEE之JPA、EJB、JSF架构工程
下一篇: 注册表管理服务器
forilen
博客等级 码龄15年 9粉丝 21原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值