`
yefeishan
  • 浏览: 108724 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

J2EE开发之常用开源项目

阅读更多

看了别人的记录,觉得不错,就收藏在这里了,

原文出处:http://blog.csdn.net/fenixshadow/archive/2007/11/17/1890010.aspx

1持久层:
1)Hibernate
这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射
对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做 HibernateDAO.也可以直接利用它
2) iBATIS
另一个ORM工具,Apache,没有Hibernate那么集成,自由度比较大


2:SpringMVC
      
原理说明和快速入门:
      
配置文件为
:
Spring
的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxxweb.xmlorg.springframework.web.servlet.DispatcherServletservlet-name

       Action
分发:
Spring
将按照配置文件定义的URLMapping到具体Controller类,再根据URL里的action= xxx或其他参数,利用反射调用Controller里对应的Action方法。

输入数据绑定:
Spring
提供Binder 通过名字的一一对应反射绑定Pojo,也可以直接从request.getParameter()取数据。

输入数据验证
Sping
提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好
Interceptor(
拦截器)
Spring
的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面

       (
这里提一下WebWorkStruts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而StrutsSingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.)


3:View

1)
标签库:JSP2.0/JSTL
由于WebworkSpring的标签确实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标签中最快的使用起来也很简单
 
2)
富客户端:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控件
Dojo
主要提供Tree, Tab等富客户端控件,可以用其进行辅助客户端开发
YahooUI
DOJO一样它有自己的一套javascript调试控制台,主要支持ajax开发也有很多Tree,Table,Menu等富客户端控件
FCKEditor
最流行的文本编辑器
Coolest
日历控件 目前很多日历控件可用,集成在项目中也比较简单,这个只是其中的一个,界面不错的说..
 
3) JavaScript:Prototype.js
Prototype.js
作为javascript的成功的开源框架,封装了很多好用的功能,通过它很容易编写AJAX应用,现在AJAX技术逐渐成熟, 框架资源比较丰富,比如YUI,DWR等等,也是因为JavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个人认为多用一些 成熟的Ajax框架实现无刷新更新页面是不错的选择
.
 
4)
表格控件:Display Tag ,Extreme Table

这两个的功能差不多,都是View层表格的生成,界面也比较相向,可以导出Excel,Pdf,Spring支持很容易.
相比较而言比较推荐ExtremeTable,它的设计很好功能上比DisplayTag多一些,支持Ajax,封装了一些拦截器,而且最方面的是在主页wiki中有详细的中文使用文档
.
 
5):OSCache
OSCache
OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件,Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统的稳定性和运行性能。

它主要用在处理短时间或一定时间内一些数据或页面不会发生变化,或将一些不变的统计报表,缓冲在内存,可以充分的减轻服务器的压力,防治负载平衡,快速重启服务器(通过硬盘缓存).
 
6)SiteMesh
sitemesh
应用Decorator模式主要用于提高页面的可维护性和复用性,其原理是用Filter截取requestresponse,把页面 组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer,现在,在sitemesh的帮助下,我们删掉他们轻松达到复合视图模式
.
Sitemesh
也是 OpenSymphony的一个项目现在最近的版本是2.2,目前OpenSymphony自从04年就没有更新的版本了..感觉它还是比较有创新的一种 页面组装方式, OpenSymphony开源组织的代码一般写的比较漂亮,可以改其源代码对自己的项目进行适配
.
测试发现Sitemesh还存在一些问题,比如中文问题,它的默认编码是iso-8859-1在使用时候需要做一些改动
.
 
7)CSS,XHTML
这个不用说了,遵循W3C标准的web页面开发
.
 
8)
分页标签: pager-taglib组件
Pager-taglib
是一套分页标签库,可以灵活地实现多种不同风格的分页导航页面,并且可以很好的与服务器分页逻辑分离.使用起来也比较简单.
 
9)Form: Jodd Form taglib

Jodd Form taglib
使用比较简单,只要把form的头尾以包住
就会自动绑定mybean, 自动绑定mybean的所有同名属性到普通html标记input, selectbox, checkbox,radiobox.....在这些input框里不用再写任何代码
      
10)Ajax:DWR
       J2EE
应用最常用的ajax框架

      
11)
报表 图表
Eclipse BIRT
功能比较强大,也很庞大..好几十M,一般没有特别需求或别的图表设计软件可以解决的不用它
JasperReports+ iReport
是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF HTMLXLSCSVXML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。
JFreeChart
主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
     
琴棋报表,国产的..重点推荐,适合中国的情况,开放源代码,使用完全免费。纯JAVA开发,适用多种系统平台。特别适合B/S结构的系统。官方网站有其优点介绍,看来用它还是不错的选择,最重要的是支持国产呵呵

 12)开发IM工具

Eclipse Communication FrameworkECF)是一个新的 Eclipse 项目,目的是提供一个开放源码框架,支持在 Eclipse 平台上创建基于通信的应用程序。

4:权限控制: Acegi
Acegi
Spring Framework 下最成熟的安全系统,它提供了强大灵活的企业级安全服务,如完善的认证和授权机制,Http资源访问控制,Method 调用访问控制等等,支持CAS
(
耶鲁大学的单点登陆技术,这个单点登陆方案比较出名.我也进行过配置使用,可以根据项目需要,如果用户分布在不同的地方不同的系统通用一套登陆口令可以用它进行解决,一般注册机登陆机就是这样解决的
)
       Acegi
只是于Spring结合最好的安全框架,功能比较强大,当然还有一些其他的安全框架,这里列举一些比较流行的是我从网上找到的,使用方法看其官方文档把

JAAS, Seraph, jSai - Servlet Security, Gabriel, JOSSO, Kasai, jPAM, OpenSAML
都是些安全控制的框架..真够多的呵呵

 
5:
全文检索
       1) Lucene
       Lucene
是一套全文索引接口,可以通过它将数据进行倒排文件处理加入索引文件,它的索引速度和查询速度是相当快的,查询百万级数据毫秒级出结果,现在 最火的Apache开源项目,版本更新速度很快现在已经到了2.0,每个版本更新的都比较大,目前用的最多的版本应该是1.4.3,但它有个不太方面的地 方单个索引文件有2G文件限制,现在2.0版本没有这个限制,我研究的比较多,它的扩展性比较好,可以很方面的扩充其分词接口和查询接口.
      
基于它的开发的系统很多,比如最常用的Eclipse的搜索功能,还有一些开源的软件比如Compass,Nutch,Lius,还有我最近做的InSearch(企业级FTP文件网页搜索) <form> </form>


6:
公共Util
      
主要是Jakarta-Commons类库,其中最常用得是以下几个类库
1) Jakarta-Commons-Language
      
最常用得类是StringUtils,提供了使用的字符串处理的常用方法效率比较高
2) Jakarta-Commons-Beantuils
      
主要用Beantuils能够获得反射函数封装及对嵌套属性,map,array型属性的读取。
3) Jakarta-Commons-Collections
      
里面有很多Utils方法
 
7
日志管理
       Log4J
      
任务是日志记录,分为Info,Warn,error几个层次可以更好的调试程序
 
8
开源的J2EE框架
       1) Appfuse
              Appfuse
Matt Raible 开发的一个指导性的入门级J2EE框架, 它对如何集成流行的SpringHibernateiBatisStrutsXdcoletJUnit等基础框架给出了示范. 在持久层,AppFuse采用了Hibernate O/R映射工具;在容器方面,它采用了Spring,用户可以自由选择StrutsSpring/MVCWebworkJSF这几个Web框架。
      
      
2) SpringSide
       .SpringSide
较完整的演示了企业应用的各个方面,是一个电子商务网站的应用 SpringSide也大量参考了Appfuse中的优秀经验。最重要的是它是国内的一个开源项目,可以了解到国内现在的一些实际技术动态和方向很有指导意义
 
9:
模版 Template

主要有Veloctiy
Freemarker
模板用Servlet提供的数据动态地生成 HTML。编译器速度快,输出接近静态HTML             页面的速度。

 
10:
工作流
       我所知道比较出名的主要有JBpm Shark Osworkflow,由于对它没有过多的研究所以还不是很清楚之间有什么区别.

 

11:开发工具IDE

      EclipsenetBeansEclipse是元老了,插件很多,但是良莠不齐。netBeans虽然说插件质量好些,但是太少;而且有个致命缺点,支持的服务器类型太少。netBeans6.0不能修改文件的字符集,都是默认使用utf8,对于中文就比较麻烦了。

 

12javaEE 服务器

       Jboss\glassfish\Geronimo


13:webService

    开发框架:axis2、axis、cxf、xfire、metro(sun)。
             和spring的集成方面,metro做的很不好。
        配置最简单的helloWorld和spring集成的例子:
        1小时来配置xfire+spring,超级简单,
        1上午cxf+spring,也很简单,
        1天axis+spring,有点复杂,
        1星期metro(glassfish)+spring还失败了,文档实在太烂。

  
    开发常用工具:

TcpMon,用于察看交互的包。
                 soapUI,用于测试。

 
项目管理软件

dotProject:
是一个基于LAMP的开源项目管理软件。最出名的项目管理软件
JIRA:
项目计划,任务安排,错误管理
Bugzilla:
提交和管理bug,eclipse集成,可以通过安装MyEclipse配置一下即可使用
BugFree
借鉴微软公司软件研发理念、免费开放源代码、基于Web的精简版Bug管理
CVS:
这个就不介绍了都在用.
SVN: SubVersion
已逐渐超越CVS,更适应于JavaEE的项目。Apache用了它很久后,Sourceforge刚刚推出SVN的支持。

font-family: 新宋体

分享到:
评论

相关推荐

    J2EE开发之常用开源项目介绍

    ### J2EE开发之常用开源项目介绍 在Java企业级应用开发领域中,J2EE(Java 2 Platform, Enterprise Edition)平台凭借其强大的功能、灵活性以及可扩展性,成为了许多大型企业和组织首选的技术栈之一。为了更好地...

    J2EE开发之常用开源项目小记

    在J2EE开发中,开发者通常会利用各种开源项目来提升效率和应用质量。这篇小记主要关注了几个关键领域:持久层、MVC框架、视图层、JavaScript库以及缓存技术。下面将详细阐述这些知识点。 1. **持久层**: - **...

    J2EE常用开源项目

    在J2EE开发中,许多开源项目被广泛应用于构建企业级应用,以提高开发效率和系统性能。以下是一些常用开源项目的详细介绍: 1. **持久层框架**: - **Hibernate**:这是一个强大的ORM(对象关系映射)框架,允许...

    simplejee-面向j2ee初学者的开源项目

    * simplejee 是很多例子的大杂烩,用来演示j2ee开发的常用技术。 * 包括jsp,servlet,html,javascript,css等,以及springmvc+jdbcTemplate和 struts2+hibernate+spring, struts2+ibatis+spring 实现的登陆,...

    j2ee开发常用jar 包

    总结起来,"j2ee开发常用jar 包2: Hibernate"主要涵盖了Hibernate作为J2EE开发中重要的ORM框架,它的核心概念、使用方式以及在项目中的具体应用。理解并熟练掌握Hibernate,对于提升Java企业级应用的开发效率和代码...

    J2EE开发工具使用方法详解

    根据给定文件的信息,我们可以提炼出以下IT领域的关键知识点,主要围绕J2EE开发工具的使用方法,特别是MyEclipse IDE在Java EE项目开发中的应用。 ### J2EE开发工具概览 J2EE(Java Platform, Enterprise Edition...

    J2EE开发常用框架.docx

    【J2EE开发常用框架详解】 在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是标准的开发平台,用于构建分布式、多层的企业级应用。为了提高开发效率和代码质量,开发者通常会选择使用一些成熟的...

    jsp 真实项目实例 j2ee实战开发项目 java实战开发项目

    11. **Tomcat服务器**:作为JSP和Servlet的运行环境,Tomcat是一个常用的开源应用服务器,项目实例可能需要在Tomcat上部署和测试。 12. **版本控制工具**:项目可能使用Git或其他版本控制工具进行团队协作和代码...

    精品专题(2021-2022年收藏)J2EE开发常用框架..doc

    Java EE(以前称为J2EE)开发框架是构建企业级应用程序的重要工具,这些框架帮助开发者组织和管理复杂的项目,提高代码的可维护性和可测试性。以下是对标题和描述中提及的两个主要框架——Struts和Spring的详细解释...

    J2EE开发常用的Jar包

    本资源包含了几个J2EE开发中常用的库,分别是Struts2、Servlet、Ibatis和Json相关的jar包。这些组件对于开发高效、灵活的Web应用至关重要。 1. **Struts2**:Struts2是一个基于MVC设计模式的开源Java Web框架,它...

    J2EE项目开发的平台、环境搭建、集成及工程的建立

    Eclipse Lomboz是基于Eclipse的J2EE开发工具,提供了丰富的插件支持,能够简化J2EE应用的开发流程。安装Eclipse Lomboz只需解压至工作盘,但需额外设置启动参数,以避免内存不足的异常情况发生。 #### 三、开发工具...

    笔试试题-J2EE开发技术

    ### 笔试试题-J2EE开发技术知识点解析 #### 一、选择题解析 ##### 1. 下面哪一项不属于JSP的指令? - **答案**:【C】userBean - **解析**:JSP提供了三种类型的指令,分别是`page`、`include`和`taglib`。 - `...

    J2EE开发帮助文档

    现代J2EE开发中,许多开源框架简化了开发流程,如Spring Framework、Struts、Hibernate、MyBatis、Apache Maven等。这些框架提供了更高级别的抽象,降低了开发难度,提高了开发效率。 总结,J2EE是一个强大而全面的...

    J2EE项目开发Excel导入导出操作组件源代码

    在J2EE项目开发中,Excel的导入导出功能是一个常用且重要的部分,尤其是在处理大量数据时。这个组件源代码提供了实现这一功能的解决方案。让我们深入探讨一下相关知识点。 1. **J2EE基础**: J2EE,即Java 2 ...

    java开发常用开源框架架构图

    "Java开发常用开源框架架构图" 本资源摘要信息对 Java 开发中常用的开源框架架构图进行了介绍,涵盖了Struts、Hibernate、Spring、iBatis 等多种框架的架构图和简介文章分类。这些框架都是 Java 开发中最常用的框架...

    J2EE常用jar包

    在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是一个重要的平台,它为构建分布式、多层的Web应用...在实际开发过程中,根据项目的具体需求,开发者会选择合适的库和版本来构建高效的J2EE解决方案。

    J2EE开发高级技术(总和)

    本话题主要关注J2EE开发中的高级技术,包括Struts、Spring、Hibernate、Ajax、JavaScript、CSS以及一些常用的组件,如文件上传和下载功能、单点登录等。下面我们将深入探讨这些技术及其应用。 1. **Struts**:...

    j2ee热门开源框架的应用1

    是一本综合性和实战性很强的书籍,详细介绍了SSH框架的应用策略和常用的设计模式,实战性很强,对实际开发很有帮助。需要同时下载j2ee热门开源框架的应用1和j2ee热门开源框架的应用2,才能解压使用

    j2ee开发连接池的配置

    本篇文章将详细探讨J2EE开发中连接池的配置。 1. **连接池的概念与作用** - 连接池是在应用服务器启动时预创建一定数量的数据库连接,并将它们存储在一个池中。当应用程序需要与数据库通信时,它会从池中获取一个...

Global site tag (gtag.js) - Google Analytics