Java EE Development Common Open source framework technology (GO)

Source: Internet
Author: User
Tags ftp file

Mostly as I know it. Java EE Development Framework or open source project to do a presentation, can be selected according to the needs of the appropriate open source components for development. Mainly spring as the core, but also summarizes some of the previous web development common open source tools and open source class library

1 Persistence layer:
1) Hibernate
This does not need to introduce, used very frequently, with more is the mapping, including inheritance mapping and parent-child table mapping
For DAO here introduces a package bba96 developed on it, the latest version is Bba96 2.0 it encapsulates hibernate, the query function includes the method of executing hsql or SQL query/update, If you want a multi-level logical conditional query you can assemble your own queryobject. You can refer to it to do Hibernatedao. You can also use it directly
2) IBATIS
Another ORM tool, Apache, without hibernate so integrated, more freedom than the larger


2:springmvc
Explanation of the principle and quick start:
The configuration file is:
Spring's configuration file defaults to web-inf/ XXXX-SERVELET.XM where xxx is the servlet-name of Org.springframework.web.servlet.DispatcherServlet in Web. Xml.
Action Distribution:
Spring will use reflection to invoke the corresponding action method in the controller according to the url,mapping of the profile definition to the specific controller class, and then to the action= xxx or other parameters in the URL.
Input data binding:
Spring provides binders by the name of the one by one corresponding to the reflection binding Pojo, or directly from the Request.getparameter () to fetch data.
Input data validation
Sping provides the validator interface and of course can use open source Commons-validaor support the best
Interceptor (Interceptor)
Spring interceptors provide interfaces that need to be written by themselves, which is not as good as webwork. Comprehensive
(Here's the main difference between the difference between webwork and struts is that WebWork is a new object when an action is created and struts is an action that singlemoule all inherit from it, so depending on the project you need the right choice.)


3:view Layer
1) Tag library: Jsp2.0/jstl
Because webwork or spring tags are really limited, the general view layer is labeled with JSTL, and it is said that the Jstl design is very fast and the fastest in all tags is easy to use.

2) Rich client: DOJO Widgets, YUI (Yahooui), FCKEditor, coolest Calendar control
Dojo mainly provides rich client controls such as tree, tab, and can be used for secondary client development
Yahooui is like dojo. It has its own set of JavaScript debug consoles, which mainly support AJAX development and many Tree,table,menu-rich client controls
FCKEditor Most Popular text editor
Coolest Calendar control currently many calendar controls available, integration in the project is also relatively simple, this is just one of them, the interface is good to say.

3) JavaScript:Prototype.js
Prototype.js, as a successful open source framework for JavaScript, encapsulates a lot of useful features, it is easy to write AJAX applications, now the AJAX technology matures, framework resources are rich, such as yui,dwr and so on, It is also because JavaScript does not have the right debugging tools, so there is no need to write Ajax applications from scratch, and I think it is a good idea to use a few mature Ajax frameworks to implement a no-refresh update page.

4) Table control: Display Tag, Extreme table
These two functions are similar, are the view Layer table generation, the interface is relatively opposite, you can export excel,pdf, spring support is very easy.
Compared to the recommended extremetable, it is well designed to function more than Displaytag, support Ajax, encapsulate some interceptors, and most of all, in the home wiki, there are detailed Chinese use documents.

5): Oscache
Oscache is an organization provided by OpensymphonyThe caching technology of the Web application layer in the Java EE architecture implements the component, and the cache is a technique to improve the system response speed and improve the performance of the system. Especially in Web applications, the stability and performance of the system can be significantly improved by caching the output of the page.
It mainly used in processing a short time or a certain amount of time some data or page will not change, or will be some unchanged statistical report, buffer in memory, can fully reduce the pressure of the server, prevent load balancing, quickly restart the server (through the hard disk cache).

t) Sitemesh
Sitemesh application decorator mode is mainly used to improve the maintainability and reusability of the page, the principle is to use the filter intercept request and response, the page component Head,content,banner combined into a full view. Usually we use include tags in each JSP page to constantly contain a variety of headers, stylesheet, scripts and footer, now, with the help of Sitemesh, we delete them easily reached the compound view mode.
Sitemesh is also a project of Opensymphony. The latest version is now 2.2, and the current opensymphony has not been updated since 04. Feel it is still more innovative page assembly method, Opensymphony open source organization code is generally more beautiful, you can change its source code to adapt their own projects.
Test found that Sitemesh still have some problems, such as the Chinese problem, its default encoding is iso-8859-1 in use when the need to make some changes.

T) Css,xhtml
This needless to say, follow the Web page development standards.

8) Paging tab: Pager-taglib components

Pager-taglib is a set of paged tag library, can flexibly implement a variety of different styles of paging navigation page, and can be very good with the server paging logic separation. It's also easier to use.

9) form:jodd Form taglib

Jodd form taglib Use is relatively simple, as long as the form of the tail to <jodd:form bean= "Mybean" > Wrap
will automatically bind the Mybean, automatically bind Mybean all the same name attributes to normal HTML tag input, Selectbox, Checkbox,radiobox .... Don't write any more code in these input boxes ...

10) Ajax:dwr
The most commonly used AJAX framework for Java EE applications

11) Report Chart
Eclipse Birt is a powerful and huge feature. Good dozens of m, generally no special needs or other graphic design software can be solved without it
Jasperreports+ ireport is a Java-based, open source reporting tool that can produce reports in the Java environment like other IDE reporting tools. JasperReports supports PDF, HTML, XLS, CSV, and XML file output formats. JasperReports is the most commonly used reporting tool for Java developers today.
Jfreechart is mainly used to make a variety of charts, including: Pie chart, histogram (ordinary histogram and stack histogram), line chart, area map, distribution map, mixed chart, Gantt Chart, some dashboards and so on.
Qin Chess report, homemade. Key recommendations, suitable for the situation in China, open source code, use completely free. Pure Java Development, applicable to a variety of system platforms. Particularly suitable for B/s structure of the system. The official website has its advantages, it seems to use it is a good choice, the most important is to support domestic hehe

4: Permission control: Acegi
Acegi is the most mature security system under the spring Framework, providing powerful and flexible enterprise-class security services such as sophisticated authentication and authorization mechanisms, HTTP resource access control, Method invocation access control, and so on, to support CAs
(Yale's single-point landing technology, this single-point landing program is more famous.) I have also been configured to use, can be based on the project needs, if the user distributed in different places different systems common set of login password can be used to solve, the general register machine is the landing machine is this solution.
Acegi is just spring combined with the best security framework, powerful features, of course, there are some other security frameworks, here are some of the more popular is I found from the Internet, using the method to see its official documents ...
JAAS, Seraph, Jsai-servlet Security, Gabriel, Josso, Kasai, Jpam, Opensaml are all frameworks for safety control. It's so much, huh?

5: Full-Text Search
1) Lucene
Lucene is a set of full-text indexing interface, which can be used to reverse the data file processing to join the index file, its index speed and query speed is quite fast, query millions data millisecond results, now the most fire Apache Open source project, version update speed is now up to 2.0, Each version of the update is relatively large, the current use of the most version should be 1.4.3, but it has a little bit of a single index file has 2G file limit, now 2.0 version does not have this limitation, I study more, it is more extensible, it can extend its word-breaker interface and query interface.
There are many systems based on its development, such as the most commonly used eclipse search function, and some open source software such as Compass,nutch,lius, as well as my recent insearch (Enterprise FTP file Web search)

</jodd:form>


6: Public util class
is mainly the Jakarta-commons class library, the most commonly used is the following class library
1) jakarta-commons-language
The most commonly used class is the StringUtils class, which provides a common method of using string processing with high efficiency
2) Jakarta-commons-beantuils
The main use of beantuils is to obtain the reflection function encapsulation and to the nested property, the Map,array type property reads.
3) Jakarta-commons-collections
There are a lot of utils methods.

7th Log Management
Log4j
Tasks are log records, divided into info,warn,error several levels can be better debug programs

8 Open-source Java EE framework
1) Appfuse
Appfuse is a guiding entry level developed by Matt Raible.The Java EE framework, which provides a demonstration of how to integrate popular spring, Hibernate, IBatis, Struts, Xdcolet, JUnit, and other infrastructure frameworks. In the persistence layer, the Appfuse uses the Hibernate O/R mapping tool and, in the case of containers, it uses Spring, and the user is free to choose Struts, SPRING/MVC,WEBWORK,JSF, and several web frameworks.

2) Springside
. Springside a more complete demonstration of enterprise applications in all aspects, is an e-commerce website Application Springside also a lot of reference to Appfuse in the excellent experience. The most important thing is that it is an open source project in China, it can be understood that some of the actual technical trends and directions in the country are very instructive ...

9: template Template
Mainly veloctiy and Freemarker.
The template dynamically generates HTML with the data provided by the servlet. The compiler is fast and the output is close to the static HTML page speed.

10: Workflow
I know the more famous jbpm Shark Osworkflow, because there is no too much research on it so it is not clear what the difference between.

Project management software
Dotproject: is an open source project management software based on lamp. The most well-known project management software Jira: Project planning, task scheduling, error Management Bugzilla: Submit and manage bugs, and Eclipse integration, you can use Bugfree to learn from Microsoft's software development philosophy, free open source code, and by installing MyEclipse configuration Web-based Lite Bug Management CVS: This is not the introduction of all the use.
Svn:subversion has gradually surpassed CVs and is more adapted to Java EE projects. After Apache used it for a long time, SourceForge just launched SVN's support.
Test cases: Major JUnit unit Tests, write testcase,spring also have good support for JUnit

Postscript:
Spring-based application development of optional component middleware is dazzling, so for different project needs can be used to solve different open source products, such as with Spring+hibernate/ibatis or spring+ Webwork+hibernate/ibatis or Spring+struts+hibernate/ibatis, reasonable frame design and code reuse design can greatly improve the project development efficiency and program performance, and also benefit the later maintenance.

Java EE Development Common Open source framework technology (GO)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.