Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Struts Error

843836Apr 13 2005 — edited Apr 13 2005
hi all,

using Struts i want to establish connection with database (using datasource )and retrieve records

I m getting the error
Servlet.init() for servlet action threw exception

can any body pls correct me

I m enclosing the code

//welcome.jsp

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html:html locale="true">
<head><title>Struts Example</title></head>
<body>

<font color="red">
<ol>
<html:errors/>
</ol>
</font>

<html:form action="/index.do" method="post">
<font size=6>Please enter the following Details </font>
<table border=0>
<tr><td>Full Name:</td><td><html:text property="fname"/></td></tr>
<tr><td>Phone(Residence):</td><td><html:text property="rphone"/></td></tr>
<tr><td>Phone(Mobile):</td><td><html:text property="mphone"/></td></tr>
<tr><td align="right"><html:submit value="Save"/></td><td align="left"><html:cancel value="Cancel"/></td></tr>
</table>
</html:form>
</body>
</html:html>

//struts-config.xml
struts-config>

<!-- Data Sources -->
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="url" value="jdbc:mysql://localhost:3306/test" />
<set-property property="user" value="Administrator" />
<set-property property="password" value="admin" />
</data-source>
</data-sources>

<!-- Form Beans -->
<form-beans>
<form-bean name="PhoneForm" type="roseindia.net.PhoneForm">
</form-bean>
</form-beans>

<!-- Global Exceptions -->
<global-exceptions>
</global-exceptions>

<!-- Global Forwards -->
<global-forwards>
</global-forwards>

<!-- Action Mappings -->
<action-mappings>
<action name="PhoneForm"
path="/index"
scope="request"
type="roseindia.net.PhoneAction"
validate="false" > <!-- whether to call validate method of Form class before executing perform method of action class -->
<forward name="success" path="/Thanks.jsp">
</forward>
<forward name="failure" path="/Welcome.jsp">
</forward>
</action>
</action-mappings>

<!-- Message Resources -->
<message-resources parameter="roseindia.net.ApplicationResources"/>

</struts-config>

//PhoneForm.java
package roseindia.net;

import org.apache.struts.action.ActionForm;

public class PhoneForm extends ActionForm{
private String fname;
private String rphone;
private String mphone;


public PhoneForm()
{}

//setter & getter method for name
public void setfname(String fname)
{
this.fname=fname;
}

public String getfname()
{
return fname;
}

//setter & getter method for buiness email
public void setrphone(String rphone)
{
this.rphone=rphone;
}

public String getrphone()
{
return rphone;

}

//setter & getter method for personal email
public void setmphone(String mphone)
{
this.mphone=mphone;
}

public String getmphone()
{
return mphone;
}
};

//PhoneAction.java
package roseindia.net;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.*;
import java.sql.*;
import javax.sql.*;

public final class PhoneAction extends Action
{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
{

PhoneForm pform=(PhoneForm) form;
ActionForward forward=mapping.findForward("success");

String name=pform.getfname();

DataSource ds=null;
Connection con=null;
Statement stmt=null;
ResultSet rs=null;

try{

ds=getDataSource(request);
con=ds.getConnection();
stmt=con.createStatement();

System.out.println("connection successful....."+con);
stmt = con.createStatement();
rs = stmt.executeQuery("select * from test where name like '"+name+"'");

if(rs.next())
{
return (mapping.findForward("success"));
}
else
{
return (mapping.findForward("failure"));
}
}catch(Exception e)
{
e.printStackTrace();
}

return forward;

}

}

//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
<display-name>Address Project</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>Welcome.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-template.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>
</web-app>

Thanx
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 11 2005
Added on Apr 13 2005
2 comments
159 views