J2EE综合
Spring访问和实现EJB组件的过程
由 maggie 于 星期四, 2009-04-02 11:07 发表作为轻量级的容器,Spring常常被认为是EJB的替代品。我们也相信,对于很多 (不一定是绝大多数)应用和用例,相对于通过EJB容器来实现相同的功能而言, Sping作为容器,加上它在事务,ORM和JDBC存取这些领域中丰富的功能支持, Spring的确是更好的选择。
不过,需要特别注意的是,使用了Spring并不是说我们就不能用EJB了, 实际上,Spring大大简化了从中访问和实现EJB组件或只实现(EJB组件)其功能的复杂性。 另外,如果通过Spring来访问EJB组件服务,以后就可以在本地EJB组件,远程EJB组件, 或者是POJO(简单Java对象)这些变体之间透明地切换服务的实现,而不需要修改 客户端的代码。
本章,我们来看看Spring是如何帮助我们访问和实现EJB组件的。尤其是在访问 无状态Session Bean(SLSBs)的时候,Spring特别有用,现在我们就由此开始讨论。
访问EJB 1.1. 概念要调用本地或远程无状态Session Bean上的方法,通常客户端的代码必须 进行JNDI查找,得到(本地或远程的)EJB Home对象,然后调用该对象的"create" 方法,才能得到实际的(本地或远程的)EJB对象。前后调用了不止一个EJB组件 上的方法。
如何将J2EE应用程序进行移植
由 milk 于 星期五, 2009-03-06 11:51 发表引言
有关J2EE应用程序到WebSphere应用程序服务器的移植,尽管IBM提供了很多的资料和文章来说明如何将运行在WebLogic上的应用程序移植到WebSphere上,但是大家可能还是有所疑惑:是否从WebLogic移植到WebSphere和从Tomcat、Jboss、Resin移植到WebSphere会有所不同呢?实际上,一个J2EE应用程序无论运行在什么平台上,我们都可以用相同的方法将其移植到WebSphere上,这也是J2EE规范给我们带来的好处。然而,移植往往不会是一帆风顺的,移植的难度不仅取决于J2EE应用程序对J2EE规范的遵循程度,更取决于它所用到的非J2EE成分的可移植性。对于标准的J2EE应用程序,我们可以通过固定的步骤完成移植任务,而对于其他的部分,我们只能通过耐心的调试和探索,以寻求最佳的解决方案。在这篇文章里,我们将详细说明移植的方法和常见的问题,在后续的文章里会具体讲述我们在各个平台移植过程中所遇到的特殊问题和解决方法。
本文假定您熟悉J2EE规范,并且使用WebSphere Studio Application Developer开发过部署在WebSphere应用程序服务器上的J2EE应用程序。在阅读完本文后,建议大家先从试验入手,完成参考文档中的样例程序,从而对移植任务有一个更加具体的理解。
移植方法
基于J2EE的用户登录设计与登录实现
由 maggie 于 星期五, 2009-02-06 13:29 发表引言
为改变传统的登录方式,方便用户充分利用网络资源,我们改进了用户登录的方式,建立了用户帐户认证中心系统,负责治理对所有的用户建立网络用户登录标识的各种资料,治理登录和注销过程。用户只需一次登录,就可以访问其拥有的权限和资源,极大地方便了用户的使用,提高了系统资源的利用效益。
基于J2EE用户登录的设计
系统采用多层(N-tier)开发模式,基本构架总体上分为四层:系统平台层、服务层和应用层,在服务层和系统平台层之间构架系统的数据层,使得系统数据独立、安全。
系统平台采用J2EE标准,基于J2EE标准开发的应用可以跨平台地移植,并提供了企业计算中需要的各种服务;J2EE中多数标准定义了接口,例如JNDI, JDBC等,因此可以和许多厂商的产品配合,轻易得到广泛的支持;J2EE树立了一个广泛而通用的标准,大大简化了应用开发和部署过程。操作系统可以使用基于MS Windows 、或者UNIX、LUNIX等操作系统。
实际工作中的经验教训
由 milk 于 星期一, 2008-09-08 15:39 发表我实际工作中的经验教训,在这里与大家共享,空的字符串是””,不带空格outputStream在打印时,打印的内容后面不要加\n,否则对方接受和判断不正确!
[code]
G:\PROJECTION\IC2N\1c2njava>javac Jsubnetframe.java
Jsubnetframe.java:22: Jsubnetframe should be declared abstract; it does not defi
ne valueChanged(javax.swing.event.ListSelectionEvent) in Jsubnetframe
public class Jsubnetframe extends JFrame implements ListSelectionListener {
^
Jsubnetframe.java:68: cannot resolve symbol
symbol : class TableModel
location: class Jsubnetframe
TableModel dataModel = new AbstractTableModel() {
^
浅析Struts Validator
由 milk 于 星期五, 2008-08-08 09:49 发表Struts 提供了一个名为 Validator 的优秀组件。Validator 可以插入 Struts 应用程序,甚至直接和最新的 Struts 发行版绑定在一起。只要几个 JAR 文件就可以了。但是 Validator 强在什么地方呢?为什么要用它代替JavaScript 呢?
而且,您应当认识到,Validator 的大部分执行都使用JavaScript.所以实际上并没有离开 JavaScript,而且得到的客户端验证也是 JavaScript 擅长的内容。但是,Validator 消除了 JavaScript 的许多问题。首先,它是由成千上万的 Struts 开发人员和用户编码、测试和调试过的,因此降低了您需要进行的测试数量。(我绝对不是 暗示您不要测试; Validator 只是降低了测试负担,但并没有完全消除它。)另外,Validator 提供了大量常用验证函数,所以您不必为电子邮件地址、电话号码、邮编以及其他常用数据编写验证器。这棒不棒?
而最重要的,可能是 Struts Validator 主要通过配置文件工作,而不用内联的 HTML 代码。通过简单的 XML 文件,可以指示要验证哪个字段,要执行哪类验证。Struts 和 Validator 负责把配置变成工作的 JavaScript 代码,您这一边不需要做任何额外工作!虽然偶尔也要为特定于应用程序的数据添加新的验证函数,但是在 HTML 中使用这些函数的工作由 Struts 处理 ?? 不需要手工过程。这就是 Validator 真正胜出而珍贵的地方。
对在J2EE中应用系统分层设计的思考
由 maggie 于 星期三, 2008-08-06 13:38 发表J2EE分层设计是Java企业应用的最基本的设计思想。
从最常规的分层结构来说,系统层次从上到下依次为:
表现层:主要是客户端的展示。
服务层:直接为客户端提供的服务或功能。也是系统所能对外提供的功能。
领域层:系统内的领域活动。
DAO层:数据访问对象,通过领域实体对象来操作数据库。
其中有些指导原则:
1、上层总是依赖其下层,依赖关系不跨层。
2、表现成除外,同一层之间方法不允许相互调用。这是实际开发中一些开发者容易范的错误!如果真是同一层之间存在方法调用,需要注意,这些调用都是一些上层不可见方法,比如一些工具方法等。
3、一切从服务层出发,从系统需要提供的功能进行分析,确定Service接口中的方法。而不是从数据库的表出发,创建DAO,再创Domain,然后Service,这实际上是对系统分层的误解。
4、系统最核心的设计就是将系统中的实体划分为领域模型。在此基础上设计数据的DAO层,并将这些活动暴露给服务层,服务层的实现依赖于领域活动。
5、每个接口的职责范围明确有界。
举例说明如何利用Struts上传多个文件
由 maggie 于 星期三, 2008-08-06 13:36 发表最近一个基于Struts的项目中要用到上传多张图片到系统中,我在网上找了一下,发现大多数都是转载的例子,对项目的作用不大,故写下了这个例子,希望对有用到的朋友有所帮助。要求JDK1.5以上,lib库要包含如下jar文件:antlr.jar,commons-beanutils.jar,commons-collections.jar,commons-digester.jar,commons-fileupload.jar,commons-logging.jar,commons-validator.jar,jakarta-oro.jar,struts.jar这些都是Struts中的jar文件以及Struts中的标签库文件。
一:web.xml文件
[code]
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
< web-app>
< servlet>
如何解决J2EE中的乱码问题
由 milk 于 星期四, 2008-07-31 14:46 发表在J2EE中,乱码问题是一个令人头痛的问题,本文就J2EE中的乱码做一个小结,以求抛砖引玉。
首先,我们知道产生乱码的原因是因为不同的编码造成的,这就好比你和一个印地安人在说话,假设你完全不懂印第安语,而对方也不懂汉语,那你们所说的话,就会在对方的脑子里产生一个个的问号。那么怎么办呢?通常的做法,就是找一个翻译,在Java中,对编码也是这样的,来看一个例子
方法一:
1<html>
2<body>
3 <form action="demo02.jsp" method="post">
4 用户名:<input type="text" name="uname">
5 <input type="submit" value="go">
6 </form>
7</body>
8</html>这是一个简单的提交页面Deom01.html
<%@page contentType="text/html;charset=gbk" %>
<html>
<body>
<h1>输入内容为:<%=request.getParameter("uname")%></h1>
</body>
</html>
初学者如何开发出一个高质量的J2EE系统[转载]
由 cl41 于 星期日, 2006-03-26 14:19 发表J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种容易理解的角度对这些概念向初学者进行解释,以便掌握学习J2EE学习方向。
首先我们需要知道Java和J2EE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,当然目前主要是.NET和Java两大主流体系。
J2EE可以说指Java在数据库信息系统上实现,数据库信息系统从早期的dBase、到Delphi/VB等C/S结构,发展到B/S(Browser浏览器/Server服务器)结构,而J2EE主要是指B/S结构的实现。
J2EE又是一种框架和标准,框架类似API、库的概念,但是要超出它们。如果需要详细了解框架,可先从设计模式开始学习。
比较 Microsoft .NET 和 J2EE 的构成技术
由 爱生活爱JAVA 于 星期三, 2006-03-15 19:11 发表即使你不在微软的平台上写程序,你可能也听过 Microsoft 推出的「.NET」平台,此技术是用来对付非微软阵营的兵器。如果你读过微软的新闻稿,或者你浏览过 MSDN 的内容,还是你出席了微软的专业程序员会议(也就是「.NET」平台现身的地方),你可能仍有两个疑问:
「.NET」平台到底是什么?
「.NET」架构和 J2EE 有哪些差异?
如果你想得更远一点,你还会有第三个问题:
我们能从「.NET」架构中学到一些哪些有助于推展企业软件开发的思维?
目前,「.NET」架构尚嫩,许多细节仍有待微软的「.NET」小组厘清。虽然如此,我们仍然能够从现有的信息中得到上述问题的解答。
「.NET」平台到底是什么?





最新评论
1 天 12 小时之前
1 天 12 小时之前
2 天 7 小时之前
2 天 8 小时之前
2 天 14 小时之前
2 天 14 小时之前
2 天 14 小时之前
2 天 16 小时之前
2 天 16 小时之前
2 天 17 小时之前