Spring Framework
Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。
WEB框架
WebWork
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 现在WebWork项目与Struts项目宣布合并名称定为Struts Ti.
IOC容器
PicoContainer
PicoContainer是一个“微核心”(micro-kernel)的容器。它利用了Inversion of Control模式和Template Method模式,提供面向组件的开发、运行环境。PicoContainer是“极小”的容器,只提供了最基本的特性。
NanoContainer
PicoContainer和NanoContainer是一脉相承的,NanoContainer是在PicoContainer的脚本实现,其中脚本包括:Groovy, BeanShell,Jython,Rhion,XML等. NanoContainer Servlet就是在NanoContainer的基础上,把容器应用于Web工程.现在,提倡轻型容器,一部分原因也是为了J2EE的程序简单化(包括开发,部署等).
持久层框架
Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用。
IBATIS
ibatis 是一种半自动的orm解决方案,它需要开发者编写具体的SQL 语句。
门户系统
Liferay
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
主要特点:
1、提供单一登陆接口,多认证模式(LDAP或SQL);
2、管理员能通过用户界面轻松管理用户,组,角色;
3、用户能可以根据需要定制个性化的portal layout;
4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;
5、支持主流的数据库,如PostgreSQL,MySQL;
6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;
7、支持包括中文在内的多种语言;
8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;
JetSpeed
Jetspeed是一个开放源代码的企业信息门户(EIP)的实现, 使用的技术是Java和XML. 用户可以使用浏览器, 支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息. Jetspeed扮演着信息集中器的角色, 它能够把信息集中起来并且很容易地提供给用户.
Jetspeed具有如下的特征:
* 即将成为标准化的Java Portlet API
* 基于模板的布局, 包括JSP和Velocity
* 通过开放的内容同步技术支持远程XML内容交换
* 定制默认的主页
* 使用数据库进行用户认证
* 内存缓存技术, 加快页面的响应
* 通过Rich Site Summary技术, 支持同步内容
* 和Cocoon, WebMacro, Velocity集成.
* Wireless Markup Language (WML) 支持
* 使用XML格式的配置文件注册portlet.
* 完整的Web Application Archive (WAR) 支持
* Web应用程序开发的基础设施
* 可以在本地缓存远程内容
* 与Avantgo同步
* 可移植到所有支持JDK1.2和Servlet 2.2的平台
* 与Turbine模块和服务集成
* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务
* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet
* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性
* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局
* 在数据库中存储PSML
* 通过Jetspeed的安全portlets管理用户, 组,角色和权限
* 基于角色对访问portlet进行控制
Pluto
Pluto是一个满足Portlet API规范的Portlet容器的实现,它为开发者提供了一个运行portlets的工作平台。然而,如果没有一个驱动器(driver),也就是 Portal,的支持的话,运行和测试Portlet容器将非常之麻烦。Pluto本身也提供了一个简单的Portal模块,该模块仅仅是为了满足 Portlet容器和JSR 168的需要而写的。
内容管理系统(CMS)
InfoGlue
infoglue是一个高级的、可扩展的、健壮的内容管理系统,完全用Java开发。重要的功能包括完全支持多语言,站点之间良好的重用,以及广泛的集成能力。
Magnolia
Magnolia构建在Java内容知识库标准(JSR-170).支持包括英语,中文在内的14种语言,它支持本地搜索,基于XML的导入/导出,跨浏览器的文本编辑器,一个简易的War文件可部署到任何J2EE容器中.在最新版本中还添加对数字媒体在线编辑功能。
缓存方案Cache
OSCache
OSCache标记库由OpenSymphony设计,它是一种开创性的JSP定制标记应用,提供了在现有JSP页面之内实现快速内存缓冲的功能。OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略。
Ehcache
Ehcache出自Hibernate,在Hibernate中使用它作为数据缓存的解决方案。
搜索引擎
Lucene
Apache Lucene是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。
Compass
基于已成事实标准的Lucene,又和Spring,Hibernate搞在一起的全文搜索方案,是集成方案,not only 引擎。
身份认证管理
Acegi Security
Acegi Security为Spring Framework提供一个兼容的安全认证服务
jGuard
jGuard是一个基于JAAS(java authentication and authorization security)的Java安全框架.这个开源项目主要是简单地解决Web应用程序访问控制问题.
工作流引擎
jBpm
jBpm是一个灵活可扩展的工作流管理系统。作为 jBpm运行时server输入的业务流程使用简单强大的语言表达并打包在流程档案中。jBmp将工作流应用开发的便利性和杰出的企业应用集成(EAI)能力结合了起来。jBmp包括一个Web应用程序和一个日程安排程序。jBmp是一组J2SE组件,可以作为J2EE应用集群部署。
OSWorkflow
OSWorkflow是一个灵活的WorkFlow。
规则引擎
Drools
Drools是一个Bob McWhirter开发的开源项目,实现了JSR94 Rule Engine API并提供了单元测试代码。应用了Rete核心算法。Drools提供了三种语义模块――Python模块,Java模块和Groovy模块。
日程安排Job Schedulers
Quartz
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs
报表制作
JasperReports
JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。
JERT
JERT是一个基于web的,数据库报表工具,它能够让你不需要编程而能创建各种灵活的报表。(需要了解一定的SQL知识)
JFreeChart
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
Openi
商业智能报表方案,基于Mondrain+JProvit的OLAP通用方案,花了大力气在美化界面与增加用户友好度上,目标是把用户从开发人员转为商业分析师。
AJAX开发
DWR
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.
Buffalo
Buffalo是Amowa思想实现的关键组件。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。
其他
displytag
用于显示表格数据的tag,简单易用,界面很漂亮。
eXtremeTable
eXtremeTable是一个可扩展的用于以表格的形式来显示数据的一组JSP标签库.
cewolf tag
用来在web上显示复杂图形报表的一个jsp tag。
Xfire
Xfire是Java SOAP框架.在它的代码中有一个轻量级的信息处理模块通过STAX
相关推荐
本文将对一些值得关注的开源项目进行详细介绍,并分析它们的特点与应用场景。 #### 一、Web容器 ##### 1. Jakarta Tomcat - **简介**:由Apache基金会提供的一款免费开源的Web服务器软件,支持最新的Servlet、JSP...
最值得关注的Python开源项目Top10
【标题】:分享6个国内优秀Java后台管理框架的开源项目 【描述】:本文将介绍六个在中国备受推崇的Java后台管理框架的开源项目,这些框架不仅高效且实用,是开发人员快速构建后台管理系统的理想选择。 【标签】:...
以下是几个值得关注的项目: 1. **Jakarta Tomcat** - **简介**:Apache基金会提供的免费开源的Servlet容器,作为Jakarta项目的一部分,由多家知名IT企业和个人共同开发完成。 - **特点**:支持最新的Servlet和...
标题“流行的c++语言开源项目”表明了本文档将聚焦于目前在开源领域中较受欢迎的C++项目。这些项目通常具有一定的影响力,被广大开发者所关注,并有可能成为其他开发者学习和借鉴的对象。由于C++语言在性能和控制上...
值得注意的是,由于12306网站可能会更新其接口或反爬策略,所以这个开源项目可能需要定期更新以保持兼容性。 开源项目-V-I-C-T-O-R-12306.zip为开发者提供了一个研究12306购票机制的平台,同时也为普通用户提供了...
在阅读和学习这个项目时,有几点值得关注: 1. **算法和数据结构**:项目可能会覆盖排序、搜索、图论、动态规划等经典算法,以及链表、树、栈、队列等基础数据结构。 2. **代码风格和最佳实践**:Go语言强调简洁和...
【开源项目-SergeyTsalkov-brooce.zip】是一个由开发者Sergey Tsalkov创建的开源项目,名为"brooce"。...如果你对Go语言、作业队列或分布式系统感兴趣,那么Brooce无疑是一个值得研究和探索的开源项目。
【开源项目-schollz-sdees.zip】是一个聚焦于服务器无状态编辑加密内容的开源项目,名为"SDEES",即"Serverless Decentralized Editing of Encrypted Stuff"。这个项目的核心理念是利用去中心化技术和加密技术,提供...
【cznic-hash开源项目概述】 cznic-hash是一个开源项目,主要设计用于支持非可比较(key non-comparable)类型的键的哈希映射数据结构。在传统的哈希表实现中,通常要求键对象能够进行比较,以便正确地进行哈希冲突的...
NET开发人员值得关注的七个开源项目.doc
值得注意的是,关键词列表还揭示了开源项目在工程管理和施工项目中的应用,如成本控制、工作流、施工企业等,这表明开源技术不仅局限于信息技术领域,还在其他行业找到了应用空间。同时,软件开发相关的框架如Struts...
在IT行业中,Java开源项目资源是开发者们宝贵的财富,它们为学习、开发和创新提供了丰富的素材。这篇资源主要聚焦于Java...而《Java开源项目资源列表.doc》作为这样一个资源集合,无疑是值得我们深入探索和利用的宝典。
该项目计划在2007年第二季度完成。Kdenlive:非常易于使用,你可以很轻松地了解其基本功能的使用窍门。除此之外,你还可以使用它来在你的视频中加入很多特效功能。无论如何,Kdelive在可用性方面要比现在已经成熟很多...
在开源软件的世界里,smallnest-glean是一个值得关注的项目,它专注于Go语言应用程序的修复和优化。该项目以"glean-master"为主要代码仓库,旨在提供一种高效、便捷的方式来解决Go应用在运行过程中遇到的问题,从而...
- **更多框架探索**:除了上述介绍的两个项目外,还有其他一些值得关注的Java后台管理框架,例如: - LayuiAdmin:基于Layui的轻量级后台管理框架。 - SpringBootAdmin:提供了一套用于监控Spring Boot应用程序的...
"GitHub_40个Android开源项目"这个压缩包文件,显然是一份宝贵的资源,包含了40个广受关注且极具价值的Android开源项目。这些项目不仅能够帮助开发者提升技能,学习新的编程技巧,还能作为实际开发中的参考模板,...
开源项目可能无法完全达到原版ChatGPT的性能,但它们依然能提供有价值的参考和学习平台,帮助开发者理解模型的工作原理,并在此基础上进行创新。 对于想深入研究或应用ChatGPT技术的人来说,参与开源项目有诸多好处...
在当今的互联网时代,开源项目扮演着至关重要的角色,它们促进了技术创新、社区协作以及知识共享。本文将深入探讨一个名为“Gwitch”的开源项目,它是针对Twitch聊天框架的开发工作,尽管目前仍在进行中(WIP,Work ...
"omeid-thunder"是一个开源项目,其名称中的"Thunder Bolt"暗示了它...开源项目是技术进步的重要驱动力,omeid-thunder作为一个强调高生产力的项目,有可能在特定领域提供创新的解决方案或工具,值得开发者关注和探索。