- 浏览: 187149 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhulin0504:
必须赞
浅谈Java内部类的四个应用场景 -
zhmy0129:
想打印 表起来。
软件工程师的7年总结 -
RonQi:
lionkingzw 写道pop1030123 写道wly71 ...
java调用python -
linchixiong:
有种茅塞顿开的感觉,感谢啊~~
浅谈Java内部类的四个应用场景 -
hnzhoujunmei:
为什么没有完整的源码啊?
用 Java 通过串口发送手机短信
支撑J2EE的13种核心技术:JDBC,JNDI,EJB,RMI,JSP,Java Servlets,XML,JMS,JavaIDL,JTS,JTA,JavaMail和JAF。下边我们进行简单的介绍一下。
Java Database Connectivity(JDBC)
JDBC以一种统一的方式来对各种各样的数据库进行存取。和ODBC一样,JDBC为开发人员隐藏了不同数据库的不同特性。另外,由于JDBC建立在Java的基础上,因此还提供了数据库存取的平台独立性。JDBC定义了4种不同的驱动程序:JDBC-ODBCBridge、JDBC-native driverbridge、JDBC-networkbridge、PureJavadriver。在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,采用EJB建立数据库连接。为了实现和改进可伸缩性和系统性能,也可以采用连接缓冲池(connection pool)优化数据库连接。
Java Naming and Directory Interface (JNDI)
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,后者在应用服务器中的对象。在JNDI中,在目录结构中的每一个结点称为context。每一个JNDI名字都是相对于context的。应用可以通过这个初始化的context经有这个目录树来定位它所需要的资源或对象。
Enterprise Java Beans (EJB)
EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。EJB规范定义了三种基本的bean类型:
Stateless session beans
提供某种单一的服务,不维持任何状态,在服务器故障发生时无法继续存在,生命期相对较短。例如,一个stateless sessionbean可能被用于执行温度转换计算。
Stateful session bean
提供了与客户端的会话交互,可以存储状态从而代表一个客户。典型例子是购物车。Stateful session bean在服务器故障时无法继续生存,生命气相对较短。每一个实例只用于一个单个的线程。
Entity beans
提供了一致性数据的表示-- 通常存放在数据库中-- 在服务器故障发生后能继续存在。多用户情况下可以使用EJB来表示相同的数据。entity EJB的一个典型例子是客户的帐号信息。
所有的EJB有许多的共同之处,都处理homeinterface。它定义了一个客户端是如何创建与消亡EJB的。可以在bean中对定义了客户端方法的远程接口进行调用;bean类则执行了主要的商务逻辑。
JavaServer Pages (JSPs)
JSP和Microsoft的Active Server Pages(ASP)ASP相对应的,但更具有平台对立性。他们被设计用以帮助Web内容开发人员创建动态网页,并且只需要相对较少的代码。 即使Web设计师不懂得如何编程也可以使用JSP,因为JSP应用是很方便的。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlets
Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlets和CGI脚本的一个很大的区别是:每一个CGI在开始的时候都要求开始一个新的进程 -- 而servlets是在servlet引擎中以分离的线程来运行的。因此servlets在可伸缩性上提供了很好的改进。
Remote Method Invocation (RMI)
RMI协议是在远程对象上调用一些方法。它使用了连续序列方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更下层的协议。
Java IDL/CORBA
在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和legacy系统相集成。
Java Transaction Architecture (JTA)/Java Transaction Service (JTS)
JTA定义了一种标准的API,应用系统由此可以存取各种事务监控。JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
JavaMail and JavaBeans Activation Framework
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。仅支持SMTP服务器,也支持IMAP服务器。JavaMail利用JavaBeans Activation Framework (JAF)来处理MIME-编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。由此大多数应用都可以不需要直接使用JAF。
Java Messaging Service (JMS)
JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与legacy backend系统相集成。
Extensible Markup Language (XML)
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的。但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。目前正有许多不同的公司在为Java和XML的组合而努力。如果要了解更多的这方面的信息,可以访问Sun的Java-XML页面,或者IBM developerWorks的XML Zone。
凭借J2EE强大的企业框架能力,能支撑至少几百人同时在线,并借助Java自动垃圾处理机制保持其稳定的运行能力而不宕机。下边列举一下本公司常用到的技术框架。
Web开发技术
Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。该框架能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,也是现在企业目前常用到的应用框架,目前多于Spring、Hibernate/IBatis等结合。
Spring Framework
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。架构基础基于使用JavaBean属性的IOC(Inversion of Control)容器,提供了管理业务对象的一致方法,唯一的数据访问抽象,数据访问架构还集成了Hibernate和其他O/R mapping解决方案,提供了唯一的事务管理抽象,能够在各种底层事务管理技术,同时还提供了一个用标准Java语言编写的AOP框架,此外还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。该框架也是多和其他框架结合,应用广泛。
SiteMesh
SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。多用于网站建设中,不同的模块具有同样的导航。
Tapestry
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举,并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。
Java Server Faces(JSF)
JavaServeFaces技术简化了JavaServer应用程序用户界面的开发。各种技术水平的开发者都能够快速创建web应用程序通过在一个页面中装配一些可重复使用UI组件;并可把这些组件与应用程序的数据源连接起来;也可把客户端产生的事件与服务端事件处理者连接起来。这个项目是Sun对JSF技术规范的最完整实现。
JbossSeam
JBoss Seam是一个Java EE5框架。它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到JSF页面。Seam能够统一和集成现有的开源技术集成如Facelets、Hibernate、jBPM、Drools、Groovy、Java Portlets、BPM、AJAX、iText和Lucene。
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。支持多种数据库,提供多级缓存。在大的项目,特别是持久层关系映射很复杂的情况下,更能体现它的优势以及效率。
IBATIS
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等“全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。
DWR
DWR(Direct Web Remoting)是一个WEB远程调用框架。利用这个框架可以让AJAX开发变得很简单。利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码)。
其他框架技术
Acegi Security
Acegi Security是一个能为基于Spring的企业应用提供强大而灵活安全访问控制解决方案的框架。可以实现业务对象方法级的安全访问控制粒度:URL资源、业务类方法、领域对象的访问控制,为系统提供完善的认证和授权机制。
JOSSO
JOSSO(Java Open Single Sign-On)是一个开源的J2EE-based的SSO基础结构。它的目的是提供一种用来解决在统一平台上进行用户集中认证的方案。(SSO:单一登录技术是一种认证和授权机制,它允许注册用户只需要在任一成员网站上登录一次,而后授权访问其他连接的分支网站,无需再进行验证登录)
jBpm
jBpm是一个灵活可扩展的工作流管理系统。作为jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。作为J2SE组件,可以为J2EE应用集群部署。
J-Spider
J-Spider是一个完全可配置和定制的Web Spider引擎。你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。
OpenCms
OpenCms是一个J2EE的产品,采用java编写,支持多种应用服务器部署。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL Server、Sybase和mySQL。新颖的文章发布系统,便利网站的搭建。
mvnForum
mvnForum是基于javaJ2EE 技术(Jsp/Servlet)的一个开源论坛,安装简单,兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。功能强大,能满足大量的论坛的需求。
JSPWiki
JspWiki 是一套非常容易安装的系统,使用到JSP与Servlet技术。
Liferay
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是采用Struts、基于XML的portlet配置文件、Web Services、Lucene等开源框架使得整体可以自由地动态扩展,支持一些远程信息的获取,并且实现全文检索功能,提供单一登陆接口,多认证模式、简易的用户管理、用户个性化定制页面、支持主流的J2EE应用服务器、支持主流的数据库、支持包括中文在内的多种语言。
Axis
Apache Axis 是Apache WebService项目中的子项目,属于最早的一批用于构造基于SOAP应用的Framework。Apahce Axis包含了除了UDDI外对整个Web Service协议栈(Protocol Stack)的支持,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件。其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。
Lucene
Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
FCKeditor
这个HTML文本编辑器可以让web程序拥有如MS Word这样强大的编辑功能。支持当前流行的浏览器如IE 5.5+,Firefox 1.0+,Mozilla 1.3+与Netscape 7+。
Claros Webmail
Claros Webmail是一个比较简单的,采用pop3/smtp收发邮件的webMail系统。不需要数据库的支持。提供一个独立于SMTP服务器的垃圾邮件过滤机制。
JExcelApi(jxl)
Java Excel API(JXL)是一个成熟,开源的Excel电子表格读取,修改,写入的项目。Java开发者利用它简单,便利的API就能够读取Excel电子表格,进行修改并能够把修改后的变化写到任何output stream中(如:Disk, HTTP, database, 或任何socket),这个项目基于GPL发布,而且对中文有很好的支持。
OSCache
OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache能够缓存任何对象,拥有全面API—OSCache API给你全面的程序来控制所有的OSCache特性。支持永久缓存、集群缓存。
Ehcache
Ehcache出自Hibernate,在Hibernate中使用它作为数据缓存的解决方案。
Quartz
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
Job Scheduler
Job Scheduler是一个以demon方式运行的批处理程序,并且能够使用图形用户界面进行控制。Job Scheduler使用XML来配置任务处理的频率与时间。它提供一个可以用来控制Job事件与日记的API(可以用Java,Javascript,Perl,VBScript等语言来调用这个API)。
Velocity
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利。
FreeMarker
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
JFreeChart
JFreeChart主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。可以给企业提供丰富的图形展示界面。
JasperReports
JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。是当前Java开发者最常用的报表工具,可通过专为JasperReports设计的强大的、直观的、易于使用的可视化报表设计器采用纯Java开发iReport工具进行图形设计。
JFreeReport
JFreeReport是一个用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印功能并支持输出到打印机和PDF,Excel,HTML和XHTML,PlainText,XML和CSV文件中。
Cewolf
Cewolf可以在一个基于Servlet/JSP的Web应用程序内部使用,以在Web页中嵌入各种复杂的图形图表(如,直方图、饼图、棒图等等)。它提供了一个功能完备的标签库来定义图表的所有属性(颜色、笔画、图例等),这样嵌入了图表的JSP就不用使用任何Java代码。简易的标签可以方便开发人员提高开发效率。
Log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。
开发测试工具
Eclipse
Eclipse平台是一个成熟的、精心设计的以及可扩展的体系结构,在开源社区得到各个开发领域的支持,为开发提供了很快捷的平台。
JUnit
JUnit是由Erich Gamma 和Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试为白盒测试,这套框架继承TestCase类,常用Junit进行自动测试。
Ant
Ant是apache软件基金会jakarta项目中的一个子项目,基于java编写,具有很好的跨平台性。Ant由一些内置任务(task)和可选择的任务组成(还可以编写自己的任务),使用Make时,你需要写一个Makefile文件,而用ant时则需要写一个build.xml文件。
Cruise Control
CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。同时还提供了一个Web接口,可随时查看当前的编译状况和历史状况。可以使得质量保证部门时时了解项目的整体情况。
Java Database Connectivity(JDBC)
JDBC以一种统一的方式来对各种各样的数据库进行存取。和ODBC一样,JDBC为开发人员隐藏了不同数据库的不同特性。另外,由于JDBC建立在Java的基础上,因此还提供了数据库存取的平台独立性。JDBC定义了4种不同的驱动程序:JDBC-ODBCBridge、JDBC-native driverbridge、JDBC-networkbridge、PureJavadriver。在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,采用EJB建立数据库连接。为了实现和改进可伸缩性和系统性能,也可以采用连接缓冲池(connection pool)优化数据库连接。
Java Naming and Directory Interface (JNDI)
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,后者在应用服务器中的对象。在JNDI中,在目录结构中的每一个结点称为context。每一个JNDI名字都是相对于context的。应用可以通过这个初始化的context经有这个目录树来定位它所需要的资源或对象。
Enterprise Java Beans (EJB)
EJB提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。EJB规范定义了三种基本的bean类型:
Stateless session beans
提供某种单一的服务,不维持任何状态,在服务器故障发生时无法继续存在,生命期相对较短。例如,一个stateless sessionbean可能被用于执行温度转换计算。
Stateful session bean
提供了与客户端的会话交互,可以存储状态从而代表一个客户。典型例子是购物车。Stateful session bean在服务器故障时无法继续生存,生命气相对较短。每一个实例只用于一个单个的线程。
Entity beans
提供了一致性数据的表示-- 通常存放在数据库中-- 在服务器故障发生后能继续存在。多用户情况下可以使用EJB来表示相同的数据。entity EJB的一个典型例子是客户的帐号信息。
所有的EJB有许多的共同之处,都处理homeinterface。它定义了一个客户端是如何创建与消亡EJB的。可以在bean中对定义了客户端方法的远程接口进行调用;bean类则执行了主要的商务逻辑。
JavaServer Pages (JSPs)
JSP和Microsoft的Active Server Pages(ASP)ASP相对应的,但更具有平台对立性。他们被设计用以帮助Web内容开发人员创建动态网页,并且只需要相对较少的代码。 即使Web设计师不懂得如何编程也可以使用JSP,因为JSP应用是很方便的。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlets
Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlets和CGI脚本的一个很大的区别是:每一个CGI在开始的时候都要求开始一个新的进程 -- 而servlets是在servlet引擎中以分离的线程来运行的。因此servlets在可伸缩性上提供了很好的改进。
Remote Method Invocation (RMI)
RMI协议是在远程对象上调用一些方法。它使用了连续序列方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更下层的协议。
Java IDL/CORBA
在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和legacy系统相集成。
Java Transaction Architecture (JTA)/Java Transaction Service (JTS)
JTA定义了一种标准的API,应用系统由此可以存取各种事务监控。JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
JavaMail and JavaBeans Activation Framework
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。仅支持SMTP服务器,也支持IMAP服务器。JavaMail利用JavaBeans Activation Framework (JAF)来处理MIME-编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。由此大多数应用都可以不需要直接使用JAF。
Java Messaging Service (JMS)
JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与legacy backend系统相集成。
Extensible Markup Language (XML)
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的。但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。目前正有许多不同的公司在为Java和XML的组合而努力。如果要了解更多的这方面的信息,可以访问Sun的Java-XML页面,或者IBM developerWorks的XML Zone。
凭借J2EE强大的企业框架能力,能支撑至少几百人同时在线,并借助Java自动垃圾处理机制保持其稳定的运行能力而不宕机。下边列举一下本公司常用到的技术框架。
Web开发技术
Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。该框架能充分满足应用开发的需求,简单易用,敏捷迅速。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,也是现在企业目前常用到的应用框架,目前多于Spring、Hibernate/IBatis等结合。
Spring Framework
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。架构基础基于使用JavaBean属性的IOC(Inversion of Control)容器,提供了管理业务对象的一致方法,唯一的数据访问抽象,数据访问架构还集成了Hibernate和其他O/R mapping解决方案,提供了唯一的事务管理抽象,能够在各种底层事务管理技术,同时还提供了一个用标准Java语言编写的AOP框架,此外还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。该框架也是多和其他框架结合,应用广泛。
SiteMesh
SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。多用于网站建设中,不同的模块具有同样的导航。
Tapestry
Tapestry是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举,并且开发的应用很容易维护和升级。Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。
Java Server Faces(JSF)
JavaServeFaces技术简化了JavaServer应用程序用户界面的开发。各种技术水平的开发者都能够快速创建web应用程序通过在一个页面中装配一些可重复使用UI组件;并可把这些组件与应用程序的数据源连接起来;也可把客户端产生的事件与服务端事件处理者连接起来。这个项目是Sun对JSF技术规范的最完整实现。
JbossSeam
JBoss Seam是一个Java EE5框架。它通过把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。Seam可以让你把EJB组件直接绑定到JSF页面。Seam能够统一和集成现有的开源技术集成如Facelets、Hibernate、jBPM、Drools、Groovy、Java Portlets、BPM、AJAX、iText和Lucene。
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。支持多种数据库,提供多级缓存。在大的项目,特别是持久层关系映射很复杂的情况下,更能体现它的优势以及效率。
IBATIS
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等“全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。
DWR
DWR(Direct Web Remoting)是一个WEB远程调用框架。利用这个框架可以让AJAX开发变得很简单。利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码)。
其他框架技术
Acegi Security
Acegi Security是一个能为基于Spring的企业应用提供强大而灵活安全访问控制解决方案的框架。可以实现业务对象方法级的安全访问控制粒度:URL资源、业务类方法、领域对象的访问控制,为系统提供完善的认证和授权机制。
JOSSO
JOSSO(Java Open Single Sign-On)是一个开源的J2EE-based的SSO基础结构。它的目的是提供一种用来解决在统一平台上进行用户集中认证的方案。(SSO:单一登录技术是一种认证和授权机制,它允许注册用户只需要在任一成员网站上登录一次,而后授权访问其他连接的分支网站,无需再进行验证登录)
jBpm
jBpm是一个灵活可扩展的工作流管理系统。作为jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。作为J2SE组件,可以为J2EE应用集群部署。
J-Spider
J-Spider是一个完全可配置和定制的Web Spider引擎。你可以利用它来检查网站的错误(内在的服务器错误等),网站内外部链接检查,分析网站的结构(可创建一个网站地图),下载整个Web站点,你还可以写一个JSpider插件来扩展你所需要的功能。
OpenCms
OpenCms是一个J2EE的产品,采用java编写,支持多种应用服务器部署。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL Server、Sybase和mySQL。新颖的文章发布系统,便利网站的搭建。
mvnForum
mvnForum是基于javaJ2EE 技术(Jsp/Servlet)的一个开源论坛,安装简单,兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。功能强大,能满足大量的论坛的需求。
JSPWiki
JspWiki 是一套非常容易安装的系统,使用到JSP与Servlet技术。
Liferay
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是采用Struts、基于XML的portlet配置文件、Web Services、Lucene等开源框架使得整体可以自由地动态扩展,支持一些远程信息的获取,并且实现全文检索功能,提供单一登陆接口,多认证模式、简易的用户管理、用户个性化定制页面、支持主流的J2EE应用服务器、支持主流的数据库、支持包括中文在内的多种语言。
Axis
Apache Axis 是Apache WebService项目中的子项目,属于最早的一批用于构造基于SOAP应用的Framework。Apahce Axis包含了除了UDDI外对整个Web Service协议栈(Protocol Stack)的支持,其发行版本还包括了完整的J2EE服务器插件, WSDL支持和生成,TCP/IP监视器等组件。其核心是一个SOAP处理器,用于开发包括客户端,服务器端,SOAP Gateway等各种应用。
Lucene
Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
FCKeditor
这个HTML文本编辑器可以让web程序拥有如MS Word这样强大的编辑功能。支持当前流行的浏览器如IE 5.5+,Firefox 1.0+,Mozilla 1.3+与Netscape 7+。
Claros Webmail
Claros Webmail是一个比较简单的,采用pop3/smtp收发邮件的webMail系统。不需要数据库的支持。提供一个独立于SMTP服务器的垃圾邮件过滤机制。
JExcelApi(jxl)
Java Excel API(JXL)是一个成熟,开源的Excel电子表格读取,修改,写入的项目。Java开发者利用它简单,便利的API就能够读取Excel电子表格,进行修改并能够把修改后的变化写到任何output stream中(如:Disk, HTTP, database, 或任何socket),这个项目基于GPL发布,而且对中文有很好的支持。
OSCache
OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache能够缓存任何对象,拥有全面API—OSCache API给你全面的程序来控制所有的OSCache特性。支持永久缓存、集群缓存。
Ehcache
Ehcache出自Hibernate,在Hibernate中使用它作为数据缓存的解决方案。
Quartz
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
Job Scheduler
Job Scheduler是一个以demon方式运行的批处理程序,并且能够使用图形用户界面进行控制。Job Scheduler使用XML来配置任务处理的频率与时间。它提供一个可以用来控制Job事件与日记的API(可以用Java,Javascript,Perl,VBScript等语言来调用这个API)。
Velocity
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利。
FreeMarker
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
JFreeChart
JFreeChart主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。可以给企业提供丰富的图形展示界面。
JasperReports
JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。是当前Java开发者最常用的报表工具,可通过专为JasperReports设计的强大的、直观的、易于使用的可视化报表设计器采用纯Java开发iReport工具进行图形设计。
JFreeReport
JFreeReport是一个用来生成报表的Java类库。它为Java应用程序提供一个灵活的打印功能并支持输出到打印机和PDF,Excel,HTML和XHTML,PlainText,XML和CSV文件中。
Cewolf
Cewolf可以在一个基于Servlet/JSP的Web应用程序内部使用,以在Web页中嵌入各种复杂的图形图表(如,直方图、饼图、棒图等等)。它提供了一个功能完备的标签库来定义图表的所有属性(颜色、笔画、图例等),这样嵌入了图表的JSP就不用使用任何Java代码。简易的标签可以方便开发人员提高开发效率。
Log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。
开发测试工具
Eclipse
Eclipse平台是一个成熟的、精心设计的以及可扩展的体系结构,在开源社区得到各个开发领域的支持,为开发提供了很快捷的平台。
JUnit
JUnit是由Erich Gamma 和Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试为白盒测试,这套框架继承TestCase类,常用Junit进行自动测试。
Ant
Ant是apache软件基金会jakarta项目中的一个子项目,基于java编写,具有很好的跨平台性。Ant由一些内置任务(task)和可选择的任务组成(还可以编写自己的任务),使用Make时,你需要写一个Makefile文件,而用ant时则需要写一个build.xml文件。
Cruise Control
CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。同时还提供了一个Web接口,可随时查看当前的编译状况和历史状况。可以使得质量保证部门时时了解项目的整体情况。
发表评论
文章已被作者锁定,不允许评论。
-
apache commons-collections BagUtils
2010-01-20 12:55 1219import java.util.Iterator; i ... -
bug2
2010-01-13 14:01 1572010-1-12 15:33:59 org.apache.ca ... -
Apache Commons
2010-01-13 11:28 1643Apache Commons包含了很多开源的工具,用于解决平时 ... -
大文件上传
2010-01-12 15:35 1294package com.fuyou; import ja ... -
replaceAll 大小写敏感
2010-01-11 10:58 1376public class Test{ public sta ... -
jar文件运行时:Failed to load Main-Class manifest attribute from ......解决办法
2009-12-22 14:37 1847打包好的jar文件双击运行时报: Failed to load ... -
转载
2009-12-13 00:11 7711. Java语言基础 谈到Java语言基础学习的书 ... -
HttpSession和Hibernate里的Session的区别
2009-12-09 21:46 1560HttpSession和Hibernate里的Session的 ... -
java 10
2009-12-09 16:53 7821、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一 ... -
bug
2009-12-02 09:23 1026Error 503 Service Unavailable 一 ... -
PO BO VO DTO POJO DAO概念及其作用(转)
2009-11-29 20:17 1046引用J2EE开发中大量的专 ... -
JAVA里的PING和TELNET
2009-11-29 16:45 1259JAVA里的PING是在JDK 1.5后用了新的函数isrea ... -
awt swing swt
2009-11-27 14:00 877特性 AWT Swing SWT实现机制 awt采用最小公 ... -
thread local
2009-11-26 13:40 915在利用Hibernate开发DA ... -
用 Java 通过串口发送手机短信
2009-11-26 11:03 2076引用JAVA_HOME是 C:\jdk1.6.0_02 Pat ... -
下载链接直接打开
2009-11-26 11:01 2099关键字: 点击pdf/word等链接时时, 直接打开而不是下载 ... -
iframe 防止挂马的问题
2009-11-26 10:59 929据侠客站长站了解,现在流行的CMS系统中,挂马主要有以下几种 ... -
file copy 4 methods
2009-11-26 10:49 828使用 java 进行文件拷贝 相信很多人都会用,,不过效率上是 ... -
mobile ip identify card interface
2009-11-26 10:48 9011. 查询手机:http://www.yodao.com/sm ... -
5 module
2009-11-26 10:45 753一,最好模板 www.bestmoban.com 提供免费 ...
相关推荐
它包括了组成J2EE平台的技术以及描述如何开发J2EE组件并部署在J2EE软件开发包上。 这篇指南不是为J2EE服务器及工具供应商准备的,它没有解释如何实现J2EE结构,也没有解释J2EE软件包。J2EE规范描述了J2EE结构并可以...
### J2EE 指南知识点详解 #### J2EE 概述 J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用程序开发的平台标准和技术框架。它基于Java SE,并针对大型分布式系统提供了更为丰富的特性和功能...
Java 企业版(Java 2 Platform, Enterprise Edition,简称 J2EE)是 Sun Microsystems 推出的用于构建分布式、多层企业级应用的框架。它为开发者提供了多种服务和组件模型,包括Java Servlets、JavaServer Pages ...
j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar...
**J2EE 1.5 API 文档详解** J2EE 1.5 API文档是Java企业版(Java Enterprise Edition)开发人员的重要参考资料,它详细介绍了J2EE 1.5版本中的各种组件、接口、类和方法,为开发者提供了全面的API规范和技术指导。...
J2EE 体系架构介绍 J2EE(Java 2 Platform, Enterprise Edition)是一种用于开发企业级应用程序的Java平台。J2EE 体系架构是指基于 J2EE 平台所构建的应用程序架构。 HandsOnJ2EE 体系架构介绍 J2EE 体系架构是...
【J2EE网上购物系统】是一个基于Java企业版(J2EE)技术构建的电子商务平台。J2EE是Oracle公司推出的用于开发分布式、多层应用程序的框架,它提供了丰富的服务和组件模型,使得开发者能够构建可扩展且健壮的网络应用...
J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级分布式应用程序的框架,它提供了服务器端的编程模型和运行环境,支持多种服务,如事务处理、安全、集群、数据库连接等。本实例集合将...
在Java企业版(J2EE)开发中,为了构建可扩展、健壮且跨平台的Web应用程序,开发者通常需要依赖一系列的库文件,这些文件主要包含在J2EE的公用jar包中。J2EE_5_Libraries这个压缩包正是为满足这样的需求而提供的,它...
《J2EE图书管理系统》是一个基于Java企业版(J2EE)技术开发的综合性图书管理应用,旨在提供高效、便捷的图书信息管理服务。这个系统不仅涵盖了基础的图书信息录入、查询、借阅与归还等功能,而且还采用了先进的分页...
Java企业版(J2EE,现称为Java EE)是一个用于构建企业级分布式应用程序的平台,它基于Java技术,提供了一套全面的API和服务。这份"J2EE试题汇总"包含了大量关于J2EE的试题,旨在帮助学习者检验和提升在J2EE领域的...
J2EE 体系结构图或三层结构图 J2EE 体系结构图是 Java 企业版(Java Enterprise Edition)的架构设计图,它描述了 J2EE 应用程序的逻辑结构和物理结构。J2EE 体系结构图可以分为三层结构图,即Presentation Layer、...
【标题】:“非常简单的J2EE购物车” 【描述】:“非常简单的J2EE购物车是一个基础的电子商务项目,旨在帮助初学者理解J2EE技术在构建web应用程序时的应用,特别是如何实现一个基本的购物车功能。这个项目可能涵盖...
**J2EE技术详解** J2EE,全称Java 2 Platform Enterprise Edition,是Java 2平台的企业版,主要用于构建企业级的分布式应用系统。J2EE的核心理念是“编写一次,到处运行”,它旨在通过标准化和模块化的方式简化企业...
j2ee期末考试题下载 j2ee期末考试题下载是Java 2 Platform Enterprise Edition(J2EE)的期末考试试题集,涵盖了J2EE的多个方面,包括 Attr 节点、Entity 节点、XSLT、Web 服务客户端、JAXR、Java Servlet、JSF 等...
《J2EE体系CHM帮助文档大全》是一个包含多种J2EE相关技术资源的压缩包,旨在为Java开发者提供全面的学习材料。这个压缩包里涵盖了从基础到高级的各种主题,包括Hibernate学习笔记、J2EE全实例教程、JSF中文教程、...
在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是Java平台企业版的简称,是一个用于构建可扩展、分布式、多层的企业级应用程序的标准框架。本实践指南将深入探讨J2EE的核心概念和技术,以及如何将其应用...
【J2EE写的博客系统详解】 J2EE(Java 2 Platform, Enterprise Edition)是一种用于构建企业级分布式应用的开放标准框架,它由Java SE(标准版)扩展而来,提供了丰富的服务和组件模型,用于开发和部署多层架构的...
《轻量级J2EE企业应用实战》这本书的介绍透露了相当丰富的J2EE开发知识点。首先,J2EE(Java 2 Platform, Enterprise Edition)是指Java平台的企业版,它是用于开发和部署企业级应用的一套规范和标准,其目的是为了...
《J2EE学生信息管理系统详解》 在信息技术领域,J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用开发的平台,它以其强大的多层架构、可扩展性和高安全性闻名。本系统——"J2EE学生信息管理...