JHU Object-Oriented Software Engineering Course Homepage
14. Further Reading
The above only provides instructions for a skeletal J2EE application using a provided technology stack. For your application to really impress, you might need to make use of some more advanced libraries. These technologies should get you started:
- Spring Security is a framework which aims to generally solve the problem of ensuring that your application logic layer only permits specific authenticated users to access certain functionality. While it is quite possible to manage this problem on your own, Spring Security deals with this problem in a declarative fashion (at the cost of learning the framework).
- JSP tag libraries are wide and varied; a number of open source examples exist. Furthermore, you can create your own tag libraries to simplify page generation in your code.
- jQuery is a very powerful Javascript library which permits you to create very impressive user interfaces with comparatively little effort. It also supports AJAX interactions in order to allow pages to be updated in-place (rather than having to pull an entire new page into the browser).
- Hibernate is capable of doing much more than is discussed here. The features not discussed include cascading (an especially handy feature for deleting objects from your database), relationship mapping, and the full measure of HQL. HQL is especially important for ensuring that your query operations are efficient and allow the database to do the heavy lifting for you. Be sure to consider these features when building your persistence layer.
Also remember that the J2EE application is, after it's all said and done, a Java application. You can link just about any Java library to it, meaning that your application can take advantage of the myriad of Java libraries available on the web. Also, search engines such as Google will provide you with a plethora of tutorials and community knowledge; take advantage of this. Happy coding. :)
Written by Zachary Palmer with help from Varun Sharma. Corrections and suggestions are welcome; please e-mail zachary dot palmer xX att Xx jhu.edu