JavaEE
素还真7784877
半神半圣亦半仙,全儒全道是全贤,脑中真书藏万贯,掌握文武半边天。
展开
-
Spring集成ActiveMQ配置
1. 集成环境Spring采用2.5.6版本,ActiveMQ使用的是5.4.2,从apache站点可以下载。本文是将Spring集成ActiveMQ来发送和接收JMS消息。2. 集成步骤将下载的ActiveMQ解压缩后文件夹如下 activemq-all-5.4.2.jar是activemq的所有的类jar包。lib下面是模块分解后的jar包。将lib下面的...原创 2011-03-21 20:58:49 · 379 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----5
1. 有状态的会话Bean的本地、远程调用其实这和无状态的会话Bean调用是一样的,这里需要补充的就是:一般可以远程调用的会话Bean实现类内部是不会直接调用业务增删改等等操作的,而是调用本地local的一个EJB组件作为其远程EJB实现类的一个注入的、内部变量。真正执行核心业务逻辑的是这个内部EJB组件。还有一点就是SessionBean的生命周期是可以被监听的,像@PostCon...原创 2011-02-21 09:46:37 · 179 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----4
以上好像还看不出什么,那么咱们开发一个web程序作为测试用例建立一个web项目,将jboss的client文件夹下面所有的jar包都拷贝进此web项目中。Index.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//...原创 2011-02-21 09:43:54 · 110 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----3
1. 有状态的会话Bean和helloworld下面我们来看看有状态的SessionBean是否在可靠的调用中严格维护着它的实例变量。下面看代码ShopService接口 /** * * @author liuyan * */@Remotepublic interface ShopService { ...原创 2011-02-21 09:39:23 · 97 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----2
下面我们修改客户端代码来验证一下无状态会话Bean的变量是怎么回事。服务端代码修改如下,修改后重新打包部署。package ejb.sessionBean.impl;import java.util.HashMap;import java.util.Map;import javax.ejb.Stateless;import ejb.sessionBean.Hello;...原创 2011-02-21 09:38:37 · 96 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----1
1. EJB的自我反省精神只要是学Java的人,肯定都听过EJB。是的,在笔者看来,Java从初出茅庐到武林至尊,到被万人唾骂,直到虎落平阳,再到今天sun被Oracle收购。不得不说Java经历了它人生的大起大落,我们这些开发人员也随着他经历着各自的大起大落。对于现在的手机使用者来说Java对于他们来说就是手机游戏(JavaME),对开发人员来说最望而生畏的、最出名的、最受争议的、...原创 2011-02-21 09:36:27 · 212 阅读 · 0 评论 -
JavaEE5学习笔记04-JavaMail使用总结---5:运行效果
上一个程序运行效果如下:填写表单: 邮件处理,提交成功 登录邮箱查看 此处需要注意的是在配置文件中需要加上自动验证为true的配置<property name="mail.smtp.auth" value="true"/>...原创 2011-02-17 17:22:31 · 92 阅读 · 0 评论 -
JavaEE5学习笔记04-JavaMail使用总结---4-jboss使用javamail
1. 和JBoss容器配合使用如果您是用商业化的服务器集成JavaMail,则可以通过JNDI的方式直接获取应用容器中给您提供的邮件会话Session比如在JBoss中的${JBOSS_HOME}\server\default\deploy\mail-service.xml的内容配置如下:<?xml version="1.0" encoding="UTF-8"?&...原创 2011-02-17 17:17:40 · 216 阅读 · 0 评论 -
JavaEE5学习笔记04-JavaMail使用总结---3
1. 接收邮件实例/** * 简单的接收邮件例子 * * @author liuyan * */public class ReciveMail { private final static String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; private St...原创 2011-02-17 17:07:14 · 108 阅读 · 0 评论 -
JavaEE5学习笔记04-JavaMail使用总结---2
1. 发送邮件实例还是来个实例代码实在点/** * 简单的发送邮件例子 */ public class SendMail { // 目的 private String to; // 来源 private String from; // 发送邮件的服务器 private S...原创 2011-02-17 16:57:38 · 84 阅读 · 0 评论 -
JavaEE5学习笔记04-JavaMail使用总结---1
1. JavaMail简介其实利用JavaMail API发送邮件本身没什么,在Java Web系统中也可以将自己封装好的JavaMail的UtilBean作为一个模块来用。官方的解释是这样的JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类...原创 2011-02-17 16:54:51 · 229 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---6
1. JMS服务器的异常监听器消息的消费者可以监听到JMS服务器上的JMS有关的异常信息,从而判断是否服务器发生了什么状况导致消息传输失败。消息消费者需要实现javax.jms.ExceptionListener接口,并实现onException()方法,就可以捕获服务器上的异常信息。2. 查看JMS消息队列查看消息队列代码如下 ...2011-02-17 16:19:49 · 75 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---5
JMS的事务控制JMS控制消息发送的事务有2种途径,一个是利用Connection接口建立事务性会话,另一个就是利用JTA标准接口控制事务了。Session事务性会话 public void sendMessage() { try { String Connection_Factory = "ConnectionFactor...原创 2011-02-17 16:19:09 · 105 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---4
1. JMS消息过滤JMS消息消费者可以有选择性的接收来自目的地的消息,在创建消费者接口MessageCunsumer的时候就可以指定接收消息的条件。比如接收优先级<9的消息package jms.pts; import java.util.Properties; import javax.jms.Connection;import java...2011-02-17 16:18:03 · 85 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----6
BMT就是Bean自己管理事务,这种方式就是以硬编码的方式在Bean中自己通过JTA接口自己维护事务代码,开始事务、提交事务、回滚事务都需要自己以硬编码的方式来维护,这种方式就是一个优点,灵活,不过EJB规范不建议使用此策略来管理事务,而是采用CMT。代码如下:package ejb.sessionBean.impl; /** * bean代码自管理事务 * ...原创 2011-02-21 09:48:38 · 152 阅读 · 0 评论 -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----7
1. EJB的容器式依赖对象注入就像Spring IOC所倡导的那样(其实是Spring设计时借鉴的EJB的思想),当一个Bean完成一项任务的时候需要其他的组件配合使用才能完成,这个时候就出现了依赖,此Bean依赖于另一个Bean的某些服务才能完成自己的服务。那么我们最原始的办法就是new一个Bean出来是吧?当然这是十分,不太成熟的做法。在《Effective Java》这本书中...原创 2011-02-21 09:49:46 · 129 阅读 · 0 评论 -
JAVA的Mina框架传递对象——一劳永逸(转载)
接触java的Mina框架已经有很多时间了,在网上也读过了很多的相关文章,发现Mina框架的确是一个值得拿来好好研究的东西,前些日子写了一个山寨QQ项目,其中的通信部分用到了java中自带的InputStream,OutputStream,Writer,Reader等等,感觉其中的很大的一个问题就是难以将事务处理的逻辑层与解析层分离开来,造成整个项目看起来比较臃肿,繁琐,不够模块化,接触Mina后...原创 2011-03-09 11:31:01 · 109 阅读 · 0 评论 -
JavaEE5学习笔记12-JSF验证器使用总结
1. JSF验证器说完转换器就该说说验证器了,就拿上面的日期类型来说吧,如果输入的值是非法的,那么它就不能走完组件生命周期,在第三个阶段处理检验阶段发现了错误~得,直接进入第六个阶段,错误的输入,您哪,玩儿去……验证器还能验证数值的大小,像那个经典的JSF入门例子,猜数字,就是用的大小验证器来判断的。<h:inputText value="#{UserNumberBean...原创 2011-03-09 00:01:37 · 158 阅读 · 0 评论 -
JavaEE5学习笔记11-JSF转换器使用总结
1. JSF的转换器是在JSF生命周期的第2个阶段值应用请求和第6个阶段响应视图阶段。第二个阶段是将前台页面所有的String数据类型(HTTP提交后全都是字符串),按照绑定的托管值类型进行对应的值转换。第6个阶段与它正好相反,将处理完成后的托管Bean的绑定值再转换成字符串,呈献给前台页面。JSF自己默认有一些常用的数据转换类,比如数值型javax.faces.Integer、日期型...原创 2011-03-08 23:53:51 · 175 阅读 · 0 评论 -
JSF组件生命周期的讨论
1. JSF生命周期下面我们来看看JSF组件的生命周期,JSF组件的生命周期正常的话是6个阶段。这六个阶段是 JSF 处理表单 GUI 的一般次序。这个列表按照每个阶段可能的执行次序和事件处理进行排列,但是 JSF 生命周期并不是固定的。可以改变执行的次序,跳过某些阶段或完全脱离生命周期。例如,如果一个无效的请求值被复制到组件,那么会重新显示当前视图,并可能不执行某些阶段。还可以选...2011-03-08 23:38:29 · 132 阅读 · 0 评论 -
JavaEE5学习笔记10-JSF基本UI控件使用
1. JSF也是JavaEE5的标准,感觉上sun是看到了ASP.NET的控件好处,将微软那套给沿袭过来了,推出了JSF的标准,并且自己实现了一套叫做JSF RI,Apache也实现了一套JSF标准——MyFaces。MyFace的组件比RI要好一些,所以有时候用RI的JSF实现,之后将MyFaces的部分组件包包含进来当做一个JSF组件插件来用。笔者的教训就是:JSF学起来很快!把它...原创 2011-03-08 23:34:41 · 235 阅读 · 0 评论 -
JavaEE5学习笔记09-将EJB发布成WebService总结(2)
以上例子只是简单调用了WebService,参数是简单的String,如果我们客户端需要获得复杂的,自定义的对象可以吗?答案是EJB容器也很完美的做到了服务端代码如下package webservice.HelloWebService; import javax.ejb.Stateless;import javax.jws.WebService;import webs...原创 2011-02-28 09:21:44 · 72 阅读 · 0 评论 -
JavaEE5学习笔记09-将EJB发布成WebService总结(1)
1. 将EJB发布成,或者说暴露成Web服务(也许更贴切),在EJB容器中不是困难的事情,只要容器实现了JavaEE的JAX-WS标准就行了,开发人员要做的就是增加一点点有关WebService的注解,打包发布到应用容器即可。不过在笔者使用JBoss5作为EJB容器的时候,调用Web服务出现了异常~~~最后发现是JDK版本的问题,改用JDK1.5编译EJB类、启动JBoss后才能正常调...原创 2011-02-28 09:19:49 · 137 阅读 · 0 评论 -
JavaEE5学习笔记08-JPA与EJB集成总结(4)
1. 在JavaEE容器中使用JPA和不在JavaEE容器中使用JPA的区别1):首先在JavaEE容器中使用JPA不必在自己的项目中再加入JPA实现的jar包了,因为在应用服务器中已经含有实现JPA标准的jar包了,所以您的项目不必加入了。而如果项目不是在JavaEE容器中跑的话(比如轻量级的Spring+JPA+Hibernate实现),就得自己加入JPA实现的jar包了。...原创 2011-02-24 09:36:00 · 86 阅读 · 0 评论 -
JavaEE5学习笔记08-JPA与EJB集成总结(3)
1. 测试代码部署成功后,在另一个项目中建立测试代码如下 public class TestJPASessionBean extends TestCase { static Context context; public Context init() { if (context == null) { ...原创 2011-02-24 09:35:24 · 103 阅读 · 0 评论 -
JavaEE5学习笔记08-JPA与EJB集成总结(2)
下面来看针对此实体操作的sessionBean代码。接口package jpa.eao; @Remotepublic interface IPersonEAO { public void save(Person entity); public void delete(Person entity); public Person u...原创 2011-02-24 09:33:37 · 127 阅读 · 0 评论 -
JavaEE5学习笔记08-JPA与EJB集成总结(1)
JPA是JavaEE5提出的一套标准接口,不同的应用服务器对其实现采用不同的框架。JBoss不用说底层采用的肯定就是Hibernate(Hibernate是JBoos社区的开源产品),一提到Hibernate就不用多说了,ORM思想的推广与盛行,可以说大部分都是Hibernate的功劳。面向对象数据库没稳定前,笔者觉得它还是OR-Mapping的霸主(当然ibatis也有它的适用场景,因项目而定)...原创 2011-02-24 09:28:33 · 84 阅读 · 0 评论 -
JavaEE5学习笔记06-EJB之消息驱动Bean(MDB)总结----2
除了activationConfig之外,如果使用其他JavaEE容器,比如Weblogic、Glassfish等等,还得加上如下几个注解配置项。mappedName:指定消息驱动Bean监听的消息目的,此属性配置对于Weblogic、Glassfish生效。messageListener:如果该消息驱动类没有在代码中显示的实现接口MessageListener的话就需要在此属性配置中加上...原创 2011-02-21 15:56:32 · 172 阅读 · 0 评论 -
JavaEE5学习笔记06-EJB之消息驱动Bean(MDB)总结----1
1. 功能介绍在EJB的分类中还有一个就是消息驱动Bean(MessageDrivenBean),百度的说明其实很到位。消息驱动Bean(MDB) 是设计用来专门处理基于消息请求的组件。一个MDB类必须实现MessageListener接口。当容器检测到bean守候的队列一条消息时,就调用onMessage()方法,将消息作为参数传入。MDB在OnMessage()中决定如...原创 2011-02-21 15:55:16 · 177 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---3
发布/订阅Pub-Sub消息Pub-Sub有点1对多的意思,一个消息生产者,多个消息消费者共同接收。首先我们在JBoss中配置一个消息主题,生产者实际上是对此消息主题发送消息的,消息消费者实际上也是对此主题的消息进行接收的。 在此我们配置了一个名字叫做jbossJMSTopic的消息主题。因为JMS1.1的标准在代码上已经完全屏蔽了PTP与Pub-Sub的差异性,所以我们上面的代码可以...2011-02-17 16:17:06 · 68 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---2
下面我们来看消息生产者的代码: /** * 消息发送者 * * @author liuyan * */public class JbossMessageSender { /** * 发送消息 * * @throws Exception */ public void sendMess...原创 2011-02-17 16:10:46 · 86 阅读 · 0 评论 -
JavaEE5学习笔记03-JMS介绍与使用---1
1. 介绍JMS((Java Message Service:Java消息服务)也是JavaEE很重要的标准之一,企业应用组件互相需要通讯,就引出了面向消息的模式来进行消息互通。基于消息服务的方式不需要消息发送方与消息接收方进行任何的耦合,甚至可以不需要知道彼此的存在。这种通讯方式既可以是同步的、也可以是异步的(因业务需求不同开发者可自己定制)。官方的解释如下:JMS是一...原创 2011-02-17 16:04:04 · 107 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--6
TeamVOpackage mangerTeam.vo; import java.io.Serializable;import java.util.Set; import javax.persistence.CascadeType;import javax.persistence.Column;import javax.persistence.Entity;...原创 2011-01-21 10:38:42 · 98 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--5
1. 1 VS N 和N VS 1说完了最复杂的多对多关系后,剩下的骨头就好啃了。我们就先来看一对多和多对一。假设目前项目有这样一个需求:建立一个类似足球俱乐部转会的管理系统球员可以转会到其他的俱乐部,而俱乐部看队员不顺眼也可以开除队员,一个队员在一个时刻只能从属于一家俱乐部,一个俱乐部在一个时刻内可以有多个运动员。由此,我们不难得出以下模型。 多个动员从属于一个俱乐部...原创 2011-01-21 10:37:45 · 110 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--4
1. 用户实体管理的增删改查总结增加、查询、删除操作都和单独操作单表的操作一样,所以可以放心使用JPA接口去操作。不同1:更新用户本实体信息,首先先将原实体的关联实体集合查询出来,放到临时变量中,之后赋值给欲更新的对象,最后调用更新接口更新主实体,保证主实体与关联实体的关系。代码如下: //找到原始数据 UxAdmin uxAdm...原创 2011-01-21 10:34:54 · 114 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--3
下面来看角色实体UxRolepackage module.system.vo; import org.apache.struts2.json.annotations.JSON; /** * UxAdmin entity. @author MyEclipse Persistence Tools */@Entity@Table(name = "ux_sy...原创 2011-01-21 10:34:01 · 89 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--2
UxSysMenupackage module.system.vo; /** * liuyan */@Entity@Table(name = "ux_sys_menu")public class UxSysMenu implements java.io.Serializable { // Fields private I...原创 2011-01-21 10:30:14 · 92 阅读 · 0 评论 -
JPA学习笔记-EJB-04JPA关联映射总结--1
1. 前言感觉JPA关联映射实现感觉比Hibernate配置文件的关联映射几乎一样,只是引入了“零配置”这个概念。劣者自己在做一个东西的时候用到了关联映射,在此将它做一个总结。留给自己回顾用。2. 需求现在遇到这么一个简单的需求,要求做一个小小的用户权限管理系统。不同的系统人员属于不同的角色组,不同的角色组有不同的操作权限(细粒度:显示不同的操作菜单)。那么基于...原创 2011-01-21 10:25:29 · 127 阅读 · 0 评论 -
JSF+Spring+JPA(Hibernate实现)的环境搭建(5)
5. 之后修改一下faces-config.xml里面的内容。加入如下内容 <managed-bean> <managed-bean-name>playersVO</managed-bean-name> <managed-bean-class> mangerTea...原创 2010-12-30 15:18:04 · 89 阅读 · 0 评论 -
JSF+Spring+JPA(Hibernate实现)的环境搭建(3)
之后写DAO,无论你是用IDE生成的DAO还是自己写的DAO,代码大致如下: @Transactionalpublic class PlayerDAO extends JpaDaoSupport implements IPlayerDAO { // property constants public static final String NAME ...原创 2010-12-30 15:10:09 · 126 阅读 · 0 评论