Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 34

Application No:1

Login Application

1) Login.jsp
2) Success.jsp
3) LoginAction.java
4) LoginForm.java
5) Struts-config.xml (only change is required)

Login.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>


<html:html>
<html:form action="/login">
<br><br><br>
<center>LoginForm</center>
<br>
<table width="47%" border="0" align="center">
<tr>
<td>EnterUserName :</td>
<td><html:text property="name"/></td>
</tr>
<tr>
<td>EnterPassword :</td>
<td><html:password property="pass"/></td>
</tr>
<tr>
<td colspan="2"
align="center"><br><html:reset></html:reset><html:submit></html:submit></td>
</tr>
</table>
</html:form>
</html:html>

Success.jsp

<p align="center"> <strong>LoginSuccess</strong></p>

Fail.jsp

<p align="center"> <strong>LoginFail</strong></p>

1
LoginAction.java

/*
* Created on Oct 6, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package p;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginAction extends Action
{
public ActionForward execute(ActionMapping am,ActionForm af,HttpServletRequest
req,HttpServletResponse res) throws Exception
{
LoginForm loginform = (LoginForm)af;

String name = loginform.getName();


String pass = loginform.getPass();
String status = null;

if(name.equals("java")&&pass.equals("java"))
{
status = "success";
}
else
{
status = "fail";
}
return am.findForward(status);
}

2
LoginForm.java

/*
* Created on Oct 6, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package p;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginForm extends ActionForm
{
private String name,pass;

/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the pass.
*/
public String getPass() {
return pass;
}
/**
* @param pass The pass to set.
*/
public void setPass(String pass) {
this.pass = pass;

3
}
public void reset(ActionMapping mapp,HttpServletRequest req)
{
name = null;
pass = null;

}
}

Struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">

<struts-config>
<data-sources/>
<form-beans>
<form-bean name="java" type="p.LoginForm"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="java" path="/login" scope="session" type="p.LoginAction">
<forward name="success" path="/Success.jsp"/>
<forward name="fail" path="/Fail.jsp"/>
</action>
</action-mappings>
</struts-config>

4
Application No: 2

GlobalForwardsApplication

1) Index.jsp
2) ChangePassword.jsp
3) Success.jsp
4) Fail.jsp
5) LoginAction.java
6) LoginForm.java
7) ResourceBundle.properties
8) struts-config.xml

Index.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>


<%@ taglib uri="WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
<html:form action="login">
<body bgcolor="#cccccc">
<table width="56%" height="253" border="0" align="center">
<tr>
<td colspan="2" align="center">ActiveNET Informatics</td>
</tr>
<tr>
<td width="30%" align="center">
<html:link forward="changepassword">ChangePassword</html:link><br></td>
<td width="70%"><table width="100%" border="1">
<tr>
<td align="center"><bean:message key="name"/>
</td>
<td align="center"><html:text property="name"></html:text></td>
</tr>
<tr>
<td align="center"><bean:message key="pass"/></td>
<td align="center"><html:password property="pass"></html:password></td>
</tr>
<tr>
<td align="right"><html:reset></html:reset></td>
<td align="left"><html:submit></html:submit></td>
</tr>
</table></td>
</tr>
<tr>
<td colspan="2" align="center">AllRights Reserved</td>
</tr>
</table>
</body>
</html:form>
</html:html>

5
ChangePassword.jsp

<br><br><br><br><br>
<center>PasswordChangedSuccessFully</center>

Success.jsp

<center>LoginSuccess</center>

Fail.jsp

<center>LoginFail</center>

LoginAction.java

/*
* Created on Oct 4, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginAction extends Action
{
public ActionForward execute(ActionMapping am,ActionForm af,HttpServletRequest
req,HttpServletResponse res) throws Exception
{
LoginForm loginform = (LoginForm)af;
String name = loginform.getName();
String pass = loginform.getPass();
String status =null;
if(name.equals("active")&&pass.equals("active"))
{

6
status = "success";
}
else
{
status = "fail";
}
return am.findForward(status);
}

LoginForm.java

/*
* Created on Oct 4, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginForm extends ActionForm
{
private String name,pass;

/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}

7
/**
* @return Returns the pass.
*/
public String getPass() {
return pass;
}
/**
* @param pass The pass to set.
*/
public void setPass(String pass) {
this.pass = pass;
}
public void reset(ActionMapping mpp,HttpServletRequest req)
{
name = null;
pass = null;
}
}

ResourceBundle.properties

name=EnterUserName :
pass=EnterPassword :

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources/>
<form-beans>
<form-bean name="java" type="bean.LoginForm"/>
</form-beans>
<global-exceptions/>
<global-forwards>
<forward name="changepassword" path="/ChangePassword.jsp"/>
<forward name="success" path="/Success.jsp"/>
</global-forwards>
<action-mappings>
<action name="java" path="/login" scope="session" type="bean.LoginAction">
<forward name="fail" path="/Fail.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources parameter="ResourceBundle"/>
</struts-config>

Application No: 3

8
ErrorHandlingApplication

1) Login.jsp
2) Success.jsp
3) Fail.jsp
4) LoginAction.java
5) LoginForm.java
6) Struts-config.xml

Login.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>


<%@ taglib uri="WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html>
<body>
<html:errors/>
<html:form action="/login">
<bean:message key="Enter.Prompt" arg0="Uname"/>
Enter Name :<html:text property="name" value=""/>
<bean:message key="Enter.Prompt" arg0="Upass"/>
Enter Pass :<html:text property="pass" value=""/>
<html:submit/>
</html:form>
</body>
</html:html>

Success.jsp

<center>LoginSuccess</center>

Fail.jsp

<center>LoginFail</center LoginAction.java

LoginAction.java

/*
* Created on Sep 13, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;

import java.util.Hashtable;

9
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginErrorAction extends Action
{
public LoginErrorAction()
{}
public ActionForward execute(ActionMapping am,ActionForm form,HttpServletRequest
req,HttpServletResponse res) throws Exception
{
LoginErrorBean bean=(LoginErrorBean)form;

//***************************************

//*****************************************
if((bean.getName().equals("chennai"))&&(bean.getPass().equals("java")))
{
return am.findForward("success");
}
else
{
return am.findForward("fail");
}
}
}
LoginForm.java

/*
* Created on Sep 13, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;

import javax.servlet.http.HttpServletRequest;

10
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class LoginErrorBean extends ActionForm
{
private String name,pass;

/**
* @return Returns the name.
*/
public LoginErrorBean()
{}
public String getName() {
return name;
}
/**
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the pass.
*/
public String getPass() {
return pass;
}
/**
* @param pass The pass to set.
*/
public void setPass(String pass) {
this.pass = pass;
}
public ActionErrors validate(ActionMapping am,HttpServletRequest req)
{
ActionErrors errors=new ActionErrors();
if(name==null||name.length()==0)
{
errors.add("name",new ActionError("field.null","UserName"));
}
if(pass==null||pass.length()==0)
{

11
errors.add("pass",new ActionError("field.null","PassWord"));
}
return errors;

}
}

Struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources/>
<form-beans>
<form-bean name="che" type="bean.LoginErrorBean"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action input="/Login.jsp" name="che" path="/login" scope="request"
type="bean.LoginErrorAction">
<forward name="fail" path="/Fail.jsp"/>
<forward name="success" path="/Success.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources parameter=" ResourceBundle "/>
</struts-config>

ResourceBundle.properties

Enter.Prompt={0}
field.null=<font color\=red>{0}Please Enter Data</font>

ApplicationNo :4

DynaActionForm Application

1) UserReg.jsp
2) Success.jsp
3) Fail.jsp
4) RegistrationAction.java
5) MessageBundle.properties
6) struts-config.xml

12
UserReg.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>


<%@ taglib uri="WEB-INF/struts-bean.tld" prefix="bean" %>
<html:html>
<body>
<html:form action="/registration">
<center><h1>UserRegistration</h1></center><br>
<table width="40%" height="148" border="0" align="center" bgcolor="#cccccc">
<tr>
<td width="45%"><div align="center"><bean:message key="field"
arg0="Name"/></div></td>
<td width="55%"><div align="center"><html:text
property="name"></html:text></div></td>
</tr>
<tr>
<td><div align="center"><bean:message key="field" arg0="Qualification"/></div></td>
<td><div align="center"><html:select property="qual">
<html:option value="MCA">MCA</html:option>
<html:option value="MSC">MSC</html:option>
<html:option value="MBA">MBA</html:option>
</html:select></div></td>
</tr>
<tr>
<td><div align="center"><bean:message key="field" arg0="Sex"/></div></td>
<td><div align="center">Male:<html:checkbox property="sex"
value="M"></html:checkbox>Female:<html:checkbox property="sex"
value="F"></html:checkbox>
</div></td>
</tr>
<tr>
<td><div align="center"><bean:message key="field" arg0="Salary"/></div></td>
<td><div align="center"><html:text property="sal"></html:text></div></td>
</tr>
<tr>
<td><div align="center"></div><html:reset></html:reset></td>
<td><div align="center"></div><html:submit></html:submit></td>
</tr>
</table>
</html:form>
</body></html:html>
Success.jsp

<center>LoginSuccess</center>

Fail.jsp

<center>LoginFail</center>

RegistrationAction.java
/*
* Created on Sep 13, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;
13
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RegistrationAction.java extends Action
{
public ActionForward execute(ActionMapping am,ActionForm form,HttpServletRequest
req,HttpServletResponse res)throws Exception
{
String status=null;
DynaActionForm dform=(DynaActionForm)form;
Integer inger = (Integer)dform.get("sal");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:oracledsn","scott","tiger");
PreparedStatement pst = con.prepareStatement("insert into userreg values(?,?,?,?)");
pst.setString(1,(String)dform.get("name"));
pst.setString(2,(String)dform.get("qual"));
pst.setString(3,(String)dform.get("sex"));
pst.setInt(4,inger.intValue());
int insert_result = pst.executeUpdate();
if(insert_result == 1)
{
status = "success";
}
else
{
status = "fail";
}

return am.findForward(status);

14
MessageBundle.properties

field=Enter{0} \:

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources/>
<form-beans>
<form-bean name="reg" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"/>
<form-property name="qual" type="java.lang.String"/>
<form-property name="sex" type="java.lang.String"/>
<form-property name="sal" type="java.lang.Integer"/>
</form-bean>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="reg" path="/registration" scope="request" type="bean.LoginAction">
<forward name="success" path="/Success.jsp"/>
<forward name="fail" path="/Fail.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources parameter="MessagesFile"/>
</struts-config>

15
ApplicationNo: 5

DyanaValidatiorForm Application

1. Validation.jsp
2. Success.jsp
3. ValidationAction.jsp
4. Validation.xml
5). Struts-config.xml
6).ResourceBundle.properties

Validation.jsp

<%@ 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>
<logic:messagesPresent>
<html:messages id="error" property="ubyte">
<bean:write name="error"/>
</html:messages>
<html:messages id="error" property="int">
<bean:write name="error"/>
</html:messages>
<html:messages id="error" property="length">
<bean:write name="error"/>
</html:messages>
<html:messages id="error" property="email">
<bean:write name="error"/>
</html:messages>
<html:messages id="error" property="db">
<bean:write name="error"/>
</html:messages>
<html:messages id="error" property="alpha">
<bean:write name="error"/>
</html:messages>
</logic:messagesPresent>
<html:form action="login" method="post">
Enter Integer :<html:text property="int"></html:text><br>
Enter Length :<html:text property="length"></html:text><br>
Enter Byte :<html:text property="ubyte"/><br>
Enter Email :<html:text property="email"></html:text><br>
EnterAlphaNumeric :<html:text property="alpha"></html:text>
<bean:message key="get1"/><html:text property="db"></html:text>
<html:submit value="Enter"/><br>
</html:form>
</html:html>

Success.jsp

<center>LoginSuccess</center>

16
ValidationAction.jsp

/*
* Created on Sep 5, 2002
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package bean;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

/**
* @author yerra
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ValidationAction extends Action
{
public static final String G_F="vaildate";
public static final String F_F="fail";
private static final String For_sus="success";
public ValidationAction()
{}
public ActionForward execute(ActionMapping ac,ActionForm form,HttpServletRequest
req,HttpServletResponse res) throws Exception
{
String result=null;
if(form!=null)
{
DynaValidatorForm dvf=(DynaValidatorForm)form;
String unit=(String)dvf.get("ubyte");
result=For_sus;
}
else
{
result=F_F;
}

return ac.findForward(result);
}

17
}

Validation.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons
Validator Rules Configuration 1.0//EN"

"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
<form-validation>
<!--
This is a blank Validator form file with a commented examples.
-->
<global/>
<formset>
<form name="che">
<field property="ubyte" depends="required,byte">
<arg0 key="field.value"/>
</field>
<field property="int" depends="required,integer">
<arg0 key="field.value"></arg0>
</field>
<field property="email" depends="required,email">
<arg0 key="field.value"></arg0>
</field>
<field property="db" depends="required,double">
<arg0 key="field.value"></arg0>
</field>
<field property="length" depends="required,minlength">
<arg0 key="field.value"/>
<arg1 name="minlength" key="${var:minlength}" resource="false" />
<var>
<var-name>minlength</var-name>
<var-value>5</var-value>
</var>
</field>
<field property="alpha" depends="mask">
<arg0 key="prompt.mask" />
<msg name="mask" key="prompt.mask"></msg>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
</form>
</formset>
</form-validation>

Struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
18
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources/>
<form-beans>
<form-bean name="che" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="ubyte" type="java.lang.String"/>
<form-property name="int" type="java.lang.String"/>
<form-property name="length" type="java.lang.String"/>
<form-property name="email" type="java.lang.String"/>
<form-property name="db" type="java.lang.String"/>
<form-property name="alpha" type="java.lang.String"/>
</form-bean>
</form-beans>
<global-exceptions/>
<global-forwards>
<forward name="vaildat" path="/Login.jsp"/>
</global-forwards>
<action-mappings>
<action input="/Login.jsp" name="che" path="/login" scope="request"
type="bean.ValidationAction" validate="true">
<forward name="success" path="/wel.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources null="false" parameter="MessageResources"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-
INF/validation.xml"/>
</plug-in>
</struts-config>

ResourceBundle.properties

errors.required={0} is required.
errors.invalid={0} is invalid.
errors.minlength={0} can not be less than {1} characters.
errors.integer={0} must be an integer.
errors.email={0} is an invalid e-mail address.
errors.byte={0} must be a byte
errors.double={0} must be a double.
field.value=Enter Value
get1=Enter DoubleValue
prompt.mask=EnterAlpahaNumericValue

ApplicationNo: 6

19
DataSourceApplication

1. Registration.jsp
2. Success.jsp
3. Fail.jsp
4. Exception.jsp
5. RegistrationAction.java
6. UserRegistrationForm
7. ResourceBundle.properties
8. struts-config.xml

Registration.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html"%>


<%@ taglib uri="WEB-INF/struts-bean.tld" prefix="bean"%>
<html:html>
<head>
<title>User Registration</title>
</head>
<body>
<h1>User Registration</h1>
<html:errors/>
<table>
<html:form action="userRegistration">
<table>
<tr>
<td>
EnterUserName :
</td>
<td>
<html:text property="name"></html:text>
</td>
</tr>
<tr>
<td>EnterNumber :
</td>
<td><html:text property="no"></html:text></td>
</tr>
<tr><td colspan="2"><html:submit></html:submit>
</td></tr>
</table>
</html:form>
</body>
</html:html>

Success.jsp

<p align="center"> <strong>LoginSuccess</strong></p>

20
Fail.jsp

<p align="center"> <strong>LoginFail</strong></p>

Exception.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html"%>


<html>
<head>
<title>
User Registration Had Some Problems
</title>
</head>
<body>
<h1>User Registration Had Some Problems!</h1>
<html:errors/>
</body>
</html>

RegistrationAction.java

/*
* Created on Oct 6, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package reg;

import java.sql.Connection;
import java.sql.PreparedStatement;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class RegistrationAction extends Action
{

21
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest
request,HttpServletResponse response)throws Exception
{
String status = null;
UserRegistrationForm userForm = (UserRegistrationForm) form;
DataSource dataSource = getDataSource(request, "userDB");
Connection conn = dataSource.getConnection();
PreparedStatement statement = conn.prepareStatement("insert into USER1
values(?,?)");
statement.setString(1,userForm.getName());
statement.setInt(2,userForm.getNo());
int i = statement.executeUpdate();
status = i>0?"success":"failure";

return mapping.findForward(status);
}
}

UserRegistrationForm

/*
* Created on Oct 6, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package reg;

import org.apache.struts.action.ActionForm;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class UserRegistrationForm extends ActionForm
{
private int no;
private String name;
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**

22
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the no.
*/
public int getNo() {
return no;
}
/**
* @param no The no to set.
*/
public void setNo(int no) {
this.no = no;
}
}
ResourceBundle.properties

userRegistration.firstName=FirstName
userRegistration.lastName=LastName
userRegistration.userName=UserName
userRegistration.password=Password
userRegistration.email=Email
userRegistration.phone=Phone
userRegistration.fax=Fax
userRegistration.sql.exception=There was a problem adding the User. \\n The

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources>
<data-source key="userDB" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver"/>
<set-property property="url" value="jdbc:odbc:oracledsn"/>
<set-property property="username" value="scott"/>
<set-property property="password" value="tiger"/>
</data-source>
</data-sources>
<form-beans>
<form-bean name="userRegistrationForm" type="reg.UserRegistrationForm"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="userRegistrationForm"
path="/userRegistration" type="reg.RegistrationAction">
<exception key="userRegistration.sql.exception"

23
path="/userRegistrationException.jsp" type="java.sql.SQLException"/>
<forward name="success" path="/Success.jsp"/>
<forward name="failure" path="/Fail.jsp"/>
</action>
</action-mappings>
<controller/>
<message-resources null="false" parameter=" ResourceBundle"/>
</struts-config>

ApplicationNo: 7

MultipleButtonHandling Application

1 MultipleButtons.jsp
2 Show.jsp
3 Validate.jsp
4 Fail.jsp
5 MultipleButtonAction.java
6 MultipleButtonForm.java
7.struts-config.xml

MultipleButtons.jsp

<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>


<html:html>
<body>
<table align="center">
<html:form action="login">
<tr><td>UserName :</td><td><html:text property="name"></html:text></td></tr>
<tr><td>Password :</td><td><html:password
property="pass"></html:password></td></tr>
<tr><td><html:submit property="show"
value="Show"></html:submit></td><td><html:submit property="validate"
value="Validate"></html:submit></td></tr>
</html:form>
</table>
</body>
</html:html>

Show.jsp
<center>
<h1>SHOW BUTTON OUT PUT</h1>

24
The User name is <%=session.getAttribute("Name")%><br>
The Password is<%=session.getAttribute("Pass")%>
</center>

Validate.jsp

<center><h1>This is Validate Button</h1></center>


<center> User OK </center>

Fail.jsp

<center>LoginFail</center>

MultipleButtonAction.java

/*
* Created on Oct 2, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package p;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class MultipleButtonAction extends Action
{
public String status=null;
public ActionForward execute(ActionMapping am,ActionForm af,HttpServletRequest
req,HttpServletResponse res)
{
MultipleButtonForm form=(MultipleButtonForm)af;
HttpSession ses=req.getSession();
String name=form.getName();
String pass=form.getPass();
ses.setAttribute("Name",name);

25
ses.setAttribute("Pass",pass);
if("Show".equals(form.getShow()))
{
status="key1";
}
if("Validate".equals(form.getValidate()))
{
if((form.getName().equals("java"))&&(form.getPass().equals("java")))
{
status="key2";
}
else
{
status="key3";
}
}
return am.findForward(status);
}

MultipleButtonForm.java

/*
* Created on Oct 2, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package p;

import org.apache.struts.action.ActionForm;

/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class MultipleButtonForm extends ActionForm
{
public String name,pass,show,validate;
/**
* @return Returns the name.
*/
public String getName() {
return name;
}
/**

26
* @param name The name to set.
*/
public void setName(String name) {
this.name = name;
}
/**
* @return Returns the pass.
*/
public String getPass() {
return pass;
}
/**
* @param pass The pass to set.
*/
public void setPass(String pass) {
this.pass = pass;
}
/**
* @return Returns the show.
*/
public String getShow() {
return show;
}
/**
* @param show The show to set.
*/
public void setShow(String show) {
this.show = show;
}
/**
* @return Returns the validate.
*/
public String getValidate() {
return validate;
}
/**
* @param validate The validate to set.
*/
public void setValidate(String validate) {
this.validate = validate;
}
}

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

27
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-
config_1_1.dtd">
<struts-config>
<data-sources/>
<form-beans>
<form-bean name="multiple" type="p.MultipleButtonForm"/>
</form-beans>
<global-exceptions/>
<global-forwards/>
<action-mappings>
<action name="multiple" path="/login" scope="request"
type="p.MultipleButtonAction">
<forward name="key1" path="/Show.jsp"/>
<forward name="key2" path="/Validate.jsp"/>
<forward name="key3" path="/Fail.jsp"/>
</action>
</action-mappings>
<controller/>
</struts-config>

ApplicationNo: 8

I18N Application

1 Localization.jsp
2 ProcessLocalizationAction.java
3 ApplicationResources.properties
4 ApplicationResources_de.properties
5 ApplicationResources_en_CA.properties
6. struts-config.xml

Localization.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<html:html xhtml="true" locale="true">


<title>Localization Example</title>
<body>

<h1>Localization Example</h1>
<hr noshade="noshade"/>

<h2><bean:message key="message.welcome"/></h2>

28
<h4>Change Language</h4>
<ul>
<li><html:link page="/processLocalization.do">Default</html:link></li>
<li><html:link page="/processLocalization.do?language=en">English</html:link></li>
<li><html:link page="/processLocalization.do?language=en&amp;country=CA">English
(Canadian)</html:link></li>
<li><html:link page="/processLocalization.do?language=en&amp;country=US">English
(US)</html:link></li>
<li><html:link page="/processLocalization.do?language=en&amp;country=GB">English
(British)</html:link></li>
<li><html:link page="/processLocalization.do?language=fr">French</html:link></li>
<li><html:link page="/processLocalization.do?language=de">German</html:link></li>
<li><html:link page="/processLocalization.do?language=es">Spanish</html:link></li>
<li><html:link page="/processLocalization.do?language=it">Italian</html:link></li>
<li><html:link page="/processLocalization.do?language=pt">Portuguese</html:link></li>
</ul>

<hr />

</body>
</html:html>

ProcessLocalizationAction.java

package p;
import java.util.Locale;

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

import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ProcessLocalizationAction extends Action {

public ProcessLocalizationAction() {
super();
}

public ActionForward execute(


ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

// Extract attributes we will need

29
HttpSession session = request.getSession();

// Get locale from request, if any

Locale locale = request.getLocale();

// If supplied, set Locale based on request parameters;


// country and language

String language = request.getParameter("language");


String country = request.getParameter("country");

if ((language != null && language.length() > 0)


&& (country != null && country.length() > 0)) {
locale = new java.util.Locale(language, country);
} else if (language != null && language.length() > 0) {
locale = new java.util.Locale(language, "");
}

//Save locale

session.setAttribute(Globals.LOCALE_KEY, locale);

// Forward to result page


return mapping.findForward("success");
}

ApplicationResources.properties

message.detail={0}
message.example.simple=This is a simple message.
message.example.replaceable=This is <strong>{0}</strong> message with
<strong>{1}</strong> parameters.
message.welcome=Welcome to the examples page.
message.test.

ApplicationResources_de.properties

message.welcome=Willkommen zur Beispielseite.

# -- formatting --

30
format.currency=$\#.\#\#0,00;$(\#.\#\#0,00)

ApplicationResources_en_CA.properties

message.welcome=Welcome to the examples page, eh\!

struts-config.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC


"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>
<data-sources>
</data-sources>
<form-beans>
</form-beans>
<global-forwards>
</global-forwards>
<action-mappings>
<action path="/processLocalization"
type="p.ProcessLocalizationAction"
scope="request"
input="/Localization.jsp"
validate="false">
<forward name="success" path="/Localization.jsp"/>
</action>
</action-mappings>
<controller>
</controller>
</struts-config>

ApplicationNo: 9

TilesFrameWork

31
1. Header.jsp
2. Menu.jsp
3. Body.jsp
4. Footer.jsp
5. ClassicLayout.jsp
6. Main.jsp
7. Data.jsp
8. tiles-example.jsp

Header.jsp
<html>
<body>
<center>ActiveNET Informatics</center>
</body>
</html>

Menu.jsp

<html>
<body bgcolor="green">
<table width="21%" height="97" border="1" align="center">
<tr>
<td><div align="center"><a href="./Data.jsp">ClientRegistration</a></div></td>
</tr>
<tr>
<td><div align="center"><a href="#">ProjectRegistration</a></div></td>
</tr>
<tr>
<td><div align="center"><a href="#">ModuleRegistration</a></div></td>
</tr>
<tr>
<td><div align="center"><a href="#">TeamRegistration</a></div></td>
</tr>
<tr>
<td><div align="center"><a href="#">Reports</a></div></td>
</tr>
</table>
</body>
</html>

Body.jsp

<html>
<body bgcolor="blue">
<center> Q) How JDBC API is common to all the Databases and to all the drivers? <br>

A) Fine! The answer is JDBC API uses Factory Method and Abstract Factory Design pattern<br>

implementations to make API common to all the Databases and Drivers. In fact most of the<br>

classes available in JDBC API are interfaces, where Driver vendors must<br>

<br>
asdf;alksdf;askdfa;skfjasd;fas</center>

32
</body>
</html>

Footer.jsp

<html>
<body bgcolor="red">
<center>ActiveNET Informatics </center>
</body>
</html>

ClassicLayout.jsp

<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>


<html>
<body bgcolor="#ffffff">
<table width="100%" height="299" border="1">
<tr>
<td colspan="2" bgcolor="red"><tiles:insert attribute="header"/></td>
</tr>
<tr>
<td width="21%" bgcolor="green"><tiles:insert attribute="menu"/></td>
<td width="79%" bgcolor="blue"><tiles:insert attribute="body"/></td>
</tr>
<tr>
<td colspan="2" bgcolor="gray" height="50"><tiles:insert attribute="fooder"/></td>
</tr>
</table>
</body>
</html>

Main.jsp

<%@ taglib uri="WEB-INF/struts-tiles.tld" prefix="tiles" %>


<tiles:insert page="/Layout.jsp" name="Main">
<tiles:put name="header" value="/Header.jsp"/>
<tiles:put name="menu" value="/Menu.jsp"/>
<tiles:put name="body" value="/Body.jsp"/>
<tiles:put name="fooder" value="/Footer.jsp"/>
</tiles:insert>

Data.jsp

<hrml>
<body><center>
This is Data
</center>
</body>
</hrml>

33
tiles-example.jsp

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-
config_1_1.dtd">
<tiles-definitions>
<definition name="Main" page="Layout.jsp">
<put name="header" value="Header.jsp"/>
<put name="menu" value="Menu.jsp" />
<put name="body" value="Body.jsp" />
<put name="fooder" value="Footer.jsp" />

</definition></tiles-definitions>

34

You might also like