This week's book giveaway is in the Agile and Other Processes forum.
We're giving away four copies of Real-World Software Development: A Project-Driven Guide to Fundamentals in Java and have Dr. Raoul-Gabriel Urma & Richard Warburton on-line!
See this thread for details.
Win a flower (🌹) or copy of Real-World Software Development: A Project-Driven Guide to Fundamentals in Java (📚) this week in the Agile and Other Processes forum!

leo oke

+ Follow
since Jul 09, 2007
Apples and Likes
Apples
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by leo oke

Thanks for your effort,but the problem lays passing the userList from the logic class to the action class.
So the syntax 'userList =dao.getUser(LoginFrom form);' is not correct for retrieving the userList.
therefore how's done?
12 years ago
I've got a struts database that I want to forward the success database result to a jsp page.
I've built the logic class and the interface to connect to the database ,but the action class has the problem.
I want to pass the userList from the logic class into the action class then forward it to the jsp page!
I tried this code but get an error..How is it done ? any help

part code

logic class
// Creates a new instance of MysqlUserDAO
public MySqlUserDAO(Connection myConnection){
this.myConnection = myConnection;

}

public ArrayList getUser(LoginForm form) {

ArrayList userList = new ArrayList();
try {
String query = "SELECT * FROM `role` NATURAL JOIN `user` WHERE username = '"+form.getName() +"' ";
Statement stmt = myConnection.createStatement();
ResultSet rs =stmt.executeQuery(query);

// extract data from the ResultSet
while(rs.next()){
// /** Here we put role into the userist: */
String role = rs.getString("role");
userList.add(rs.getString("role"));

.........................
return userList;
.............................


interface class
public interface UserDAO {

public ArrayList getUser(LoginForm form);

}

part code
action class

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

HttpSession session = request.getSession();

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

// Here the method that connects to the datasource is called:
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();

UserDAO dao = DAOFactory.createUserDAO(myConnection);

//Below code is the part which I have the problem ,I want to pass the userList from the logic class

------> userList = dao.getUser(LoginForm form); <--------- this is where the problem lays. Its not correct ,there must be away bring the userList to the action class?
12 years ago
I've got a similiar problem like yours,but you need to read this link
from netbeans.

http://www.netbeans.org/kb/50/tutorial-webapps-struts.html

Let me know how you got on?
12 years ago
I am trying to do a struts database,so in my logic class I've created a query
to select the userlist.
Then created action class to forward the output from the logic class.
But I need to know how to display my userlist to the jsp?
12 years ago
I've an action class and I want to display the forward success to a jsp page,that is the :userlist
I've heard about java beans ,but not sure on it,so how is it done any method?
any help is welcomed?

part code

action class

*/
public ArrayList userList = new ArrayList();




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

HttpSession session = request.getSession();

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



// Here the method that connects to the datasource is called:
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();

UserDAO dao = DAOFactory.createUserDAO(myConnection);
userList = dao.getUser();

request.setAttribute(SUCCESS, userList);


return mapping.findForward("success");

}
}
12 years ago
I've put the response snipped in like this ....
HttpSession session = request.getSession();

in the code is this correct?
12 years ago
Thanks for your reply again,I know is something simple making it not working,but I've put the response like this...

part code
----------------------------------------------------------------------------

public ArrayList userList = new ArrayList();


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

............................................................................

Is this correct or how is it done?
12 years ago
Thanks for the reply..
However, I've created the bean class ...below,but I don't see the output userlist only hello...why?

part code;
-----------------------
public class UserListBean {

public ArrayList userList;

public ArrayList getUserList() {
return userList;
}

public void setUserList(ArrayList userList) {
this.userList = userList;
}

public UserListBean(ArrayList userList) {
this.userList = userList;
}

---------------------------------------------------
The jsp out

part code

<title>success</title>
</head>
<body>

<h2>Hello</h2>

<logic resent name="UserListBean">

<h1>
Welcome: <bean:write name="UserListBean" property= "userList"/>
</h1>


</logic resent>






</body>
12 years ago
I am trying to display userList from my struts action to jsp page,what's the code to do it using java beans or something simple?

part code:
action class
------------------------------------------------------------------------------------------------------------------------
public ArrayList userList = new ArrayList();


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


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



// Here the method that connects to the datasource is called:
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();

UserDAO dao = DAOFactory.createUserDAO(myConnection);
userList = dao.getUser();
HttpSession session = request.getSession();

// extract data
if(userList !=null){

//code here
return mapping.findForward("success");
}else{
return mapping.findForward("fail");
}



}
12 years ago
JSP
I am trying to display userList from my struts action to jsp page,what's the code to do it using java beans or something simple?

part code:
action class
------------------------------------------------------------------------------------------------------------------------
public ArrayList userList = new ArrayList();


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


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



// Here the method that connects to the datasource is called:
dataSource = getDataSource(request);
myConnection = dataSource.getConnection();

UserDAO dao = DAOFactory.createUserDAO(myConnection);
userList = dao.getUser();
HttpSession session = request.getSession();

// extract data
if(userList !=null){

//code here
return mapping.findForward("success");
}else{
return mapping.findForward("fail");
}



}
12 years ago
Am trying to access a mysql database using struts ,but I get a error mgs:
error
exception

javax.servlet.ServletException: java.lang.ClassCastException: org.apache.commons.dbcp.DelegatingStatement

root cause

java.lang.ClassCastException: org.apache.commons.dbcp.DelegatingStatement.

why?

part code action class
-------------------------------------------------
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();
//get connection from database
javax.sql.DataSource dataSource;
java.sql.Connection myConnection = null;
try {
dataSource = getDataSource(request);
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
rs.close();
stmt.close();

}catch (SQLException sqle){
getServlet().log("Connection.process", sqle);
}finally {
//enclose this in a finally block to make
//sure the connection is closed
}try{
myConnection.close();
}catch (SQLException e){
getServlet().log("Connection.close", e);
}

part code form class
-----------------------------------

public 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;
}
part code struts config
-----------------------------------------

<struts-config>

<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/DBstruts" />
<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.DbStruts"
name="loginForm"
scope="request"
validate="true"
input="/login.jsp">
<forward name="success" path="/success.jsp"/>
<forward name="fail" path="/fail.jsp" />

</action>
12 years ago
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"/>
12 years ago
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"/>

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"/>

12 years ago
I want to do this, When the user input is processed, it will be checked against the database to see what�s the role associated with the user. If the user is in the �admin� role, it will show �Hello Admin� on the second page.
Using struts and mysql, I've got the jsp,Formbean ,
The problem is: The requested resource (Servlet action is not available) is not available.

part code
______________________________________________________________________________

<html:form action="/login">
<table width="100%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td colspan="2">

</td>
</tr>
<tr>
<td width="15%">Enter your name:</td>
<td width="85%">
<html:text property="name" size="25" maxlength="50"
onfocus="this.select()"/>
</td>
</tr>

Formbean code

public 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 = ?";
ResultSet RS=stmt.executeQuery(query);

// Set values to the parameters
bean.setName(RS.getString("username"));

// extract data from the ResultSet
while(RS.next()){
String role = RS.getString(1);
if(role.equalsIgnoreCase("admin")||(role.equalsIgnoreCase("user")) ){
return mapping.findForward(SUCCESS);
}else{
return mapping.findForward("fail");
}

}

}catch (SQLException sqle) {

}


return mapping.findForward(SUCCESS);
12 years ago