If you are building large-scale Web applications, you are going to be doing some heavy lifting, programmatically speaking. And the larger and more complex the system, the heavier the job which means you'll need industrial strength tools.One of the most popular and powerful systems for this is the Apache Software Foundation Jakarta Project's Struts framework (see links below). Struts is a Model-View-Controller (MVC) framework based on Java servlets, Java Server Pages (JSP), custom tags, and message resources that is compatible with Sun's J2EE platform.The MVC architecture is described by Sun as a "design pattern [that] separates design concerns (data persistence and behavior, presentation, and control), decreas[es] code duplication, centraliz[es] control, and mak[es] the application more easily modifiable."Sun adds: "MVC also helps developers with different skill sets to focus on their core skills and collaborate through clearly defined interfaces. For example, a J2EE application project may include developers of custom tags, views, application logic, database functionality, and networking. An MVC design can centralize control of such application facilities as security, logging, and screen flow. New data sources are easy to add to an MVC application by creating code that adapts the new data source to the view API. Similarly, new client types are easy to add by adapting the new client type to operate as an MVC view. MVC clearly defines the responsibilities of participating classes, making bugs easier to track down and eliminate."The Struts framework was first released in 2000 and has gained a considerable following because of its ease of use and fit with rapidly building reliable applications.For those of you building Web applications in Java using Struts and JSPs you need to check out M7 Corporation's Nitrox. Nitrox is a suite of tools of which AppXRay is the core.AppXRay tracks all of the components of an application and maintains "a hierarchy of relationships among these artifacts, including a map of all inter-dependencies among artifacts." AppXRay provides JSP code completion for custom tags, Struts tags, Struts actions and form beans, page variable names and their fields, etc.; Smart Editors for selecting elements and property from another layer of the application; automatic consistency and validation checking; and impact analysis of element changes.Nitrox's advanced JSP editor is a professional JSP source editor and a WYSIWYG visual JSP editor and the suite provides diagnostics and debugging including automatic consistency and validation checking across layers, complete run-time debugging with a plug-in architecture.Single user pricing is $300 for Nitrox for JSP, $400 for Nitrox for Struts, $700 for Nitrox for JSF (which includes JSP and Struts). Volume licenses are also available.