Before starting this you should have completely read part 1: Building a sample Web App with STRUTS For easy reference, the complete code for this article is available at The Open Stack website look for the Part 2 ZIP file.
In this article we will demonstrate database access from the STRUTS Action class. We will use the ‘iterate’ tag from the STRUTS tag library to display the contents of a table on the web page. Finally, we will add a simple error handling to the application.
In part one, we developed two screens (JSPs) and the Action class. The TestForm had a simple form to take an input String and pass it to the Action class. The Action class constructed a Welcome message and displayed it back on the TestResult page.
In this article we will modify that application to “search” for employees from a database, based on the input search String. The database will store employee records and our app will allow a simple search on the short name “abbreviation”. Our assumption is this short name “abbreviation” is sort of like a user ID used for system accounts and email addresses etc. The search will return the first name , last name along with the short name abbreviation from the records that match the search criteria.
NOTE: This is just an attempt to demonstrate the database access from STRUTS, not necessarily a “Best Practice”. For a simple web application that does not have much transactional/persistence requirements this surely is a quick and easy way. As next steps, one could separate the Database access code from the Action class and/or use JDO or a similar product like Castor. Please look at The Open Stack Project for further details on these approaches.
For the database access part, you need to have a test database ready along with the JDBC driver to access this. For completeness of the article, we will demonstrate using a MySQL database and the corresponding JDBC (2.0) driver. If you are using a different database/driver, then please ignore the parts related to MySQL.
Optional: MySQL database setup
Download and install MySQL . Once you have installed the server (you can follow all the default steps in graphical install tool for easy setup), start the server. It could be as easy as going to the ‘bin’ directory under the MySQL install directory and executing the server executable such as ‘mysqld-nt.exe’