Introduction to common open-source projects for J2EE development

Source: Internet
Author: User
Tags ftp file
I will introduce the frameworks or open-source projects for J2EE development that I know. You can select appropriate open-source components for development as needed. mainly taking spring as the core, I also summarized some open-source tools and open-source class libraries commonly used in Web development. 1) Persistence Layer: 1) Hibernate is not introduced and is frequently used, most of the mappings are used, including inheritance ing and parent-child table ing. Here we will introduce a package bba96 developed based on Dao, the latest version is bba96 2.0, which encapsulates hibernate. The query function includes the method for executing hsql or SQL query/update. If you want multi-level logical conditional query, You can assemble queryobject by yourself. you can refer to it for hibernatedao. you can also use it directly. 2) ibatis is another ORM tool. Apache is not integrated as Hibernate. The degree of freedom is relatively high. 2: springmvc. Principles and quick start: Configuration File: Spring configuration file is WEB-INF/xxxx-servelet.xm by default, XXX is the servlet-name of org. springframework. Web. servlet. dispatcherservlet in Web. xml. Action Distribution: Spring maps the URL defined in the configuration file to a specific controller class, and then calls the corresponding action method in the Controller Using Reflection based on the action = xxx or other parameters in the URL. Input data binding: Spring provides the binder to bind pojo through a one-to-one reflection of the name. You can also directly retrieve data from request. getparameter. Input data verification sping provides the validator interface, of course, you can also use the open-source commons-validaor to support the best Interceptor (interceptor) Spring Interceptor to provide the interface you need to write, it is better to do this than webwork. comprehensive ( The main difference between webwork and Struts is that webwork creates an action as a new object while struts inherits an action from singlemoule, so select the appropriate option based on the project requirements .) 3: view layer 1) label Library: jsp2.0/jstl because webwork or spring labels are really limited, jstl labels are usually used for view layers, it is said that jstl is well designed and the speed is the fastest way to use all labels. It is also very simple. 2) rich clients: dojo widgets, Yui (yahooui), FCKeditor, and coolest calendar controls. dojo mainly provides tree, rich Client controls such as Tab can be used for auxiliary client development. Like dojo, yahooui has its own JavaScript debugging console. It mainly supports Ajax development and has many tree, table, menu and other rich client controls FCKeditor's most popular text editor coolest day Currently, many calendar controls are available. Integration is also relatively simple in projects. This is just one of them. The interface is nice to say .. 3) javascript: prototype. jsprototype. as a successful open-source framework of JavaScript, JS encapsulates a lot of useful functions and it is easy to compile Ajax applications. Now Ajax technology is becoming increasingly mature, and there are abundant framework resources, such as Yui, DWR and so on. It is also because JavaScript does not have a suitable debugging tool, so there is no need to write Ajax applications from scratch. I personally think it is a good choice to use some mature Ajax frameworks to implement page update without refreshing. 4) Table Control: Display tag and extreme table have similar functions, both of which are view-layer Table Generation and interface comparison. Excel and PDF can be exported, which is easy to support spring. in comparison, extremetable is recommended. It is well designed with more functions than displaytag, supports Ajax, encapsulates some interceptors, and The most important aspect is that the Wiki on the home page contains detailed Chinese usage documents. 5): oscacheoscache is a cache technology implementation component at the web application layer in the J2EE architecture provided by opensymphony. cache is a technology used to improve system response speed and system running performance. Especially in Web applications, caching page output results can significantly improve system stability and performance. It is mainly used to process some data or pages that will not change in a short period of time or within a certain period of time, or to buffer some unchanged statistical reports in the memory, which can fully reduce the pressure on the server, prevents load balancing and quickly restarts the server (through hard disk cache ). 6) sitemeshsitemesh the decorator mode is used to improve the maintainability and reusability of pages. The principle is to use filter to intercept requests and response, and set the page component head, content, banner is combined into a complete view. We usually use the include tag to continuously include various headers, stylesheet, scripts and footer on each JSP page. Now, with the help of sitemesh, we can delete them to easily achieve the composite view mode. sitemesh is also Opensymphony Currently, the latest version of opensymphony is 2.2. Currently, opensymphony has not been updated since 04 years. I feel that it is still an innovative way to assemble pages. Code Generally, it is quite beautiful to write. You can change it. Source code Adapt your project. test found that sitemesh still has some problems, such as Chinese problems, its default encoding is iso-8859-1 in use need to make some changes. 7) CSS, XHTML, which follows W3C standards for web page development. (8) Paging Tag: the pager-taglib component pager-taglib is a set of paging tag libraries that can flexibly implement paging navigation pages of different styles and can be well separated from the paging logic of the server. it is easy to use. 9) form: jodd form taglibjodd form taglib is relatively simple to use. If you wrap the header and tail of <form> with <jodd: Form bean = "mybean">, mybean is automatically bound, all attributes with the same name of mybean are automatically bound to the input, selectbox, checkbox, and radiobox marked in common HTML ..... there is no need to write any code in these input boxes... 10) Ajax: DWR J2EE The most common Ajax framework for Applications 11) Report charts eclipse Birt features are powerful and huge... dozens M, which is generally not needed or can be solved by other chart design software. Jasperreports + ireport is a Java-based open-source report tool that can be used to create reports in the Java environment like other ide report tools. Jasperreports supports PDF, HTML, xls, CSV, and XML file output formats. Jasperreports is currently the most common reporting tool for Java developers. Jfreechart is mainly used to create a variety of charts, including: pie chart, bar chart (common bar chart and stack bar chart), line chart, Area Chart, distribution chart, hybrid chart, Gantt chart, and some dashboard. Qinqi Report, which is made in China. It is recommended that it is suitable for Chinese situations. It is open source code and free to use. Pure Java Development, applicable to a variety of system platforms. It is particularly suitable for systems with B/S structures. The official website has its advantages. It seems that it is a good choice, and the most important thing is to support domestic products. 4: Permission control: acegiacegi is the most mature security system in Spring framework. It provides powerful and flexible enterprise-level security services, such as sound authentication and authorization mechanisms and HTTP resource access control, method calls access control and so on, supporting CAS (Yale University's single point of login technology, this single point of login solution is more famous. I have also configured and used it. It can be used if users are distributed in different places and different systems use a set of Logon passwords, this is generally the solution for login from the registration machine) Acegi It is only because spring works with the best security framework and has powerful functions. Of course, there are some other security frameworks. Here I will list some of the most popular ones I have found on the Internet, for how to use this function, see the official documentation... JAAS, Seraph, jsai-servlet security, Gabriel, josso, Kasai, jpam, and opensaml are all security control frameworks .. really enough. Haha 5: full-text search 1) Lucene Lucene It is a full-text index interface that can be used to add inverted files to the index file. Its indexing speed and query speed are quite fast. It queries results of millions of data in milliseconds, currently, the most popular open-source Apache Project, with a fast version update speed now reaching 2.0. Each version is updated a lot. Currently, the most popular version is 1.4.3, however, it has a limit of 2 GB for a single index file, which is not restricted by version 2.0. I have studied a lot and it has better scalability, you can expand the word segmentation interface and query interface. There are many systems developed based on it, such as the most common eclipse search functions, and some open-source software such as compass, nutch, lius, in addition, I recently made the insearch (Enterprise FTP file Webpage Search) 6: Public util class It is mainly the Jakarta-commons class library, the most common among which are the following class libraries 1) Jakarta-commons-language The most common class is the stringutils class, which provides a high efficiency for using string processing methods. 2) Jakarta-commons-beantuils Beantuils is used to obtain reflection function encapsulation and read nested attributes, MAP and array attributes. 3) Jakarta-commons-collections There are many utils Method 7 log management Log4j A task is a log record, which can be divided into info, warn, and error levels for better debugging. Program 8. Open-Source J2EE framework 1) appfuse Appfuse It is a guiding entry-level J2EE framework developed by Matt raible. It demonstrates how to integrate popular basic frameworks such as spring, hibernate, ibatis, struts, xdcolet, and JUnit. in the persistent layer, appfuse uses the Hibernate O/R ing tool. In terms of containers, appfuse uses spring. Users can freely choose struts, spring/MVC, webwork, JSF web frameworks. 2) springside . Springside This fully demonstrates all aspects of enterprise applications. springside, an e-commerce website, also draws a lot of reference to the excellent appfuse experience. The most important thing is that it is an open-source project in China. It can be helpful to know some actual technical trends and directions in China... 9: Template templates mainly include veloctiy and freemarker templates. Use the data provided by servlet to dynamically generate HTML. Compiler speed, output close to static html Page speed. 10: Workflow I know that jbpm shark osworkflow is the most famous one. Since there is not much research on it, it is not clear what is the difference between them. dotproject: A lamp-based open-source project management software. The most famous project management software Jira: Project Plan, Task Arrangement, error management Bugzilla: Submit and manage bugs, and integrate with eclipse, you can install myeclipse and configure it to use bugfree to learn from Microsoft's software development philosophy, free open source code, and web-based lite Bug Management CVs. SVN: Subversion has gradually surpassed CVs and is more suitable for javaee projects. After using Apache for a long time, SourceForge just launched SVN support. Test Cases: mainly for JUnit unit tests, compiling testcase, spring also provides excellent support for JUnit. Note: The component middleware available for spring-based application development is dazzled, so different open-source products can be used to address different project requirements, for example, spring + hibernate/ibatis, spring + webwork + hibernate/ibatis, spring + Struts + hibernate/ibatis, reasonable Framework Design and code reuse design can greatly improve the project development efficiency and procedures, and facilitate later maintenance.

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.