Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Database Pooling in Struts

 
Jose Esteban
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm following the tutorial from the book "Jakarta Struts Live� and I have problems connecting to my database (Struts 1.1):

================================
This is the code inside the Action class:
...
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

UserRegistrationForm userForm = (UserRegistrationForm) form;
DataSource dataSource = getDataSource(request, "userDB"); // *** ERROR: GETS A NULL ***
Connection conn = dataSource.getConnection();
...
================================
The data-sources in struts-config.xml:
...
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource" key="userDB">
<set-property property="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver" />
<set-property property="url" value="jdbc dbc atosStruts" />
<set-property property="username" value="jose" />
<set-property property="password" value="jose" />
</data-source>
</data-sources>
...
================================
The init-param in web.xml:
...
<init-param>
<param-name>config</param-name>
<param-value>WEB-INF/struts-config.xml</param-value>
</init-param>
...
================================

The problem seems to be that the code in the Action class (above)

DataSource dataSource = getDataSource(request, "userDB");

returns a null.

I've debugged the application and I've realized that, inside the Struts getDataSource method, the ServletContext doesn't contain the "userDB" attribute.

Any help?

Thanks.
 
Jose Esteban
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Never mind, everything was correct. It was my IDE which deleted the <data-source>.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic