I have been tasked to develop an interactive website using java & mysql: using servlets to retrieve & massage data, applets to do special handling of the data client-side, and to handle requests from the client for different data views.
What would you recommend as an proper general-purpose toolkit/environment for web development using java.
I need to know what to use for the following:
- Server side (tomcat?/?)
- CMS
- Editor / IDE
- General tools/utilities
- Directed (special purpose) tools/utilities
- Testing and QA tools/utilities/techniques
- Reference material (both on- & off-line)
Please evaluate the suggested solution(s) and supply alternatives/improvements/support.
Suggested Java web-development toolkit/environment
By cdb:
- Server side:
Tomcat6 - CMS:
Drupal (not necessary in preliminary phase) - Editor/IDE:
NetBeans (good for a beginner) - General tools:
(Almost everything is in NetBeans... go for it later) - Directed (special purpose):
(Almost everything is in NetBeans... go for it later) - Testing and QA:
JUNIT and use FireBug (Do manual testing first) - Reference material:
HeadFirst Series on JSP, JavaScript, etc.
SCRIBD (online)
[edit] - Framework:
Spring Web MVC 2.5 - (this seems to contain most of the other frameworks)
Options distilled from the answers
Server side
- Apache Tomcat - "HTTP web server environment for Java code to run"
- Jetty - "HTTP server, HTTP client and javax.servlet container"
- Glassfish - application server (based on tomcat + more features)
- jboss - application server ("J2EE based application server implemented in 100% Pure Java")
CMS
Editor / IDE
General tools/utilities
- Maven - ".. a tool that can now be used for building and managing any Java-based project."
- log5j also here[SourceForge] - "java logging library for Java versions 5 and above"
Directed (special purpose) tools/utilities
- CruiseControl - team based "tool and an extensible framework for creating a custom continuous build process"
- Spring Framework (- design)
Testing and QA tools/utilities/techniques
- Watij - "Java API created to allow for the automation of web applications"
- HtmlUnit - "It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc..."
- Firebug - (Firefox) "edit, debug, and monitor CSS, HTML, and JavaScript live in any web page"
- Hudson - "Building/testing software projects [...] Monitoring executions of externally-run jobs"
- LiveHttpHeaders - view & edit http request headers live
- JUnit - "framework to write repeatable tests"
Reference material (both on- & off-line)
- A List Apart - "For people who make websites"
- Java - TiJ