• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Database Access problem

 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi All

I am trying out struts example from the Struts Alive available for free download at TheServerSide.com

I am facing some problem accessing the database. I am using Tomcat5.0 & also have the commons-dbcp & commons-pool jar in the appropriate classpath.
I am using the HSQLDB as given in the book.


here is the db code for your perusal. Could somebody point where I am going wrong.


struts-config.xml
-----------------

<data-sources>
<data-source
type="org.apache.commons.dbcp.BasicDataSource"
key="userDB">
<set-property property="driverClassName"
value="org.hsqldb.jdbcDriver" />
<set-property property="url"
value="jdbc:hsqldb:c:/strutsTutorial/db" />
<set-property property="username" value="sa" />
<set-property property="password" value="" />
</data-source>
</data-sources>


build.xml
---------
<target name="builddb"
description="builds the database tables">
<sql driver="org.hsqldb.jdbcDriver"
userid="sa"
password=""
url="jdbc:hsqldb:c:/strutsTutorial/db">
<classpath>
<pathelement
path="C:/tools/hsqldb/lib/hsqldb.jar"/>
</classpath>
CREATE TABLE USER(
EMAIL VARCHAR(80),
FIRST_NAME VARCHAR(80),
LAST_NAME VARCHAR(80),
PASSWORD VARCHAR(11),
PHONE VARCHAR(11),
FAX VARCHAR(11),
CONSTRAINT USER_PK PRIMARY KEY
(EMAIL)
);
</sql>
</target>


Action class
-------------
import java.sql.Connection;
import javax.sql.DataSource;
import java.sql.PreparedStatement;


public class UserRegistrationAction extends Action {

static Category cat = Category.getInstance( UserRegistrationAction.class.getName());


public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
throws Exception {

DataSource dataSource =getDataSource(request);
Connection conn = dataSource.getConnection();
UserRegistrationForm userForm =(UserRegistrationForm) form;

----------
some more code
----------


try{
PreparedStatement statement = conn.prepareStatement(
"insert into USER " +
"(EMAIL, FIRST_NAME, LAST_NAME, PASSWORD, PHONE, FAX)" +
" values (?,?,?,?,?,?)");
statement.setString(1,userForm.getEmail());
statement.setString(2,userForm.getFirstName());
statement.setString(3,userForm.getLastName());
statement.setString(4,userForm.getPassword());
statement.setString(5,userForm.getPhone());
statement.setString(6,userForm.getFax());
statement.executeUpdate();
}finally{
conn.close();
}


return mapping.findForward("success");
}
}

The error which I get on the browser

----------------------------------------------------------------------------

HTTP Status 404 - Servlet action is not available

type Status report

message Servlet action is not available

description The requested resource (Servlet action is not available) is not available.


Apache Tomcat/5.0.28

----------------------------------------------------------------------------

The moment i remove the database tags from the struts-config.xml & the db code from Action class everything works fine

Kindly respond

Rgrds
RAHIL
 
Evil is afoot. But this tiny ad is just an ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic