hi folks, i am a novice about struts application and trying to connect a mysql database from struts application. i would appreciate if someone could teach me how to configure it so that i can access database from struts. even any online link would be a big help. thanks.
You may configure your data sources in either the web.xml file (the same way you would with any servlet) or in the struts-config.xml, which has the same syntax as doing it in web.xml. I prefer to do it in web.xml since it is not necessarily a struts specific configuration. A general recommendation is not to access the database directly from the struts action classes, but to instead develop a business model and access the database from there.
I strongly agree with Mathew. Both problem spaces database and struts should be loosely coupled. So your question is too global to answer, at least for me. Struts is a framework which makes some things easier in web presentation layer (MVC, internationalization), whereas database should be accessed in business layer or persistence layer. There is a book at O'Reilly which treats both topics in a concise manner with the main focus on struts. Its available over O-Reilly Safari (online access for 5 books for 10$ a month). http://www.oreillynet.com/search/index.ncsp?sp-q=struts&sp-k=all Found another one: This should be with a database, I guess. Haven't checked it personally, but looks interesting. For sure with database: http://www.scioworks.com/jpetstore/jpetstore-camino.html
hi mathew and axel, thank you for you response. while web.xml can be configured to access database, i am also trying to get it done with configuring in struts-config.xml (setting tags like <datasources>,<datasource>...etc). that's what i am wondering if you guys could help me with. currently i have my struts-config.xml set up like following:
but for some reason, it doesn't work."test" is the table i trying to connect with that reside in mysql database.i would appreciate if you guide me in this regard. happy new year 2003. thanks.
A couple of things that I noticed right off the bat: 1. Is test the name of the table or database? You should have the name of the database in your url. 2. The MySQL server runs on port 3306 by default. Have you changed that? If not, then you need to include a colon and the port number right after localhost. You may also have to set a user property and a password property if the database has a user name and password. Your syntax appears to be correct.
hi mathew, thanks for your response again. yes, i put the port like this <set-property property="url" value="jdbc:mysql://localhost:3306/test". test is a database i wanted to connect with which has a test table. when i hit the submit button that is supposed to get another page with information from database, gives me an error like this:
i still don't know why. please help me with it. thank.s