jQuery in Action, 2nd edition*
The moose likes Struts and the fly likes struts database Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "struts database" Watch "struts database" New topic
Author

struts database

leo oke
Greenhorn

Joined: Jul 09, 2007
Posts: 21
I need help to connect to mysql database. The problem is: The requested resource (Servlet action is not available) is not available.

part codepublic class LoginForm extends org.apache.struts.validator.ValidatorForm{

private String name = null;

private String result ;

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}



public void setResult(String result) {
this.result = result;
}

public String getResult() {
return result;
}

action code
public class DB extends Action {

/* forward name="success" path="" */
private final static String SUCCESS = "success";


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

//casting a formbean

LoginForm bean =(LoginForm) form ;

//get form parameters
String name = bean.getName();
try{


//get connection from database
javax.sql.DataSource dataSource = null;
java.sql.Connection myConnection;

ServletContext context=servlet.getServletContext();
DataSource datasource;
myConnection = dataSource.getConnection();

PreparedStatement stmt=(PreparedStatement) myConnection.createStatement();

// Execute a query

String query = "SELECT * FROM `role` NATURAL JOIN `user` WHERE username = '"+bean.getName()+"' ";
ResultSet RS=stmt.executeQuery(query);

// extract data from the ResultSet
while(RS.next()){
String role = RS.getString("role");

if(role.equalsIgnoreCase("admin")||(role.equalsIgnoreCase("user")) ){

HttpSession session = request.getSession();
session.setAttribute("result",role);
return mapping.findForward("success");

}else{
return mapping.findForward("fail");
}

}

//close connection
myConnection.close();
RS.close();
stmt.close();
...................................................................

part code

<struts-config>

<data-sources>
<data-source type="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
<set-property
property="driverClassName"
value="com.mysql.jdbc.Driver" />
<set-property
property="url"
value="jdbc:mysql://localhost:3306/DBstruts?autoReconnect=true" />
<set-property
property="username"
value="root" />
<set-property
property="password"
value="" />
<set-property
property="maxActive"
value="10" />
<set-property
property="maxWait"
value="5000" />
<set-property
property="defaultAutoCommit"
value="false" />
<set-property
property="defaultReadOnly"
value="false" />
<set-property
property="validationQuery"
value="SELECT COUNT(*) FROM role" />
</data-source>
</data-sources>
<form-beans>
<form-bean name="loginForm"
type="com.jjolt.jjlogin.LoginForm">
</form-bean>
</form-beans>

<global-exceptions>

</global-exceptions>

<global-forwards>
<forward name="login" path="/login.jsp"/>

</global-forwards>

<action-mappings>

<action path="/login"
type="com.jjolt.jjlogin.DB"
name="loginForm"
scope="request"
validate="true"
input="/login.jsp">
<forward name="success" path="/success.jsp"/>
<forward name="fail" path="/fail.jsp" />

</action>

</action-mappings>

<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>

<message-resources parameter="com/myapp/struts/ApplicationResource"/>
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
Leo,

The best advice I can give you is to stop using the Struts DataSource utility and use a JNDI DataSource instead. The Struts DataSource utility is deprecated in later versions, and it never really worked all that well to begin with.

Please see question 7 of the JavaRanch Struts FAQ for more details.


Merrill
Consultant, Sima Solutions
 
Don't get me started about those stupid light bulbs.
 
subject: struts database
 
Similar Threads
Struts and database connection
connecting struts with database
logic:iterate pls any body help me
struts mysql ...Help
Struts and database connection