In this tutorial you will learn how to create a Struts hello world application in eclipse. First create a new project, go to File->New and select DynamicWebProject.
Enter the project name and click the Finish button.
Add the following jar files to the WEB-INF\lib directory.
Right click the src folder and select New->Package.
Enter the package name as com.vaannila.form and click Finish.
Now right click the newly created package and select New->Class.
Enter the class name as HelloWorldForm and the superclass name asorg.apache.struts.action.ActionForm and click Finish.
In the HelloWorldForm class add the following code.
01.
package
com.vaannila.form;
02.
03.
import
org.apache.struts.action.ActionForm;
04.
05.
public
class
HelloWorldForm
extends
ActionForm {
06.
07.
private
static
final
long
serialVersionUID = -473562596852452021L;
08.
09.
private
String message;
10.
11.
public
String getMessage() {
12.
return
message;
13.
}
14.
15.
public
void
setMessage(String message) {
16.
this
.message = message;
17.
}
18.
}
In the same way create a new package com.vaannila.action and create a HelloWorldAction class extending org.apache.struts.action.Action. Add the following code to the action class and save it.
01.
package
com.vaannila.action;
02.
03.
import
javax.servlet.http.HttpServletRequest;
04.
import
javax.servlet.http.HttpServletResponse;
05.
06.
import
org.apache.struts.action.Action;
07.
import
org.apache.struts.action.ActionForm;
08.
import
org.apache.struts.action.ActionForward;
09.
import
org.apache.struts.action.ActionMapping;
10.
11.
import
com.vaannila.form.HelloWorldForm;
12.
13.
public
class
HelloWorldAction
extends
Action {
14.
15.
@Override
16.
public
ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws
Exception {
17.
HelloWorldForm hwForm = (HelloWorldForm) form;
18.
hwForm.setMessage(
"Hello World"
);
19.
return
mapping.findForward(
"success"
);
20.
}
21.
}
Here we typecast the ActionForm to HelloWorldForm and set the message value.
Add the following entries in the struts-config.xml file.
01.
xml
version
=
"1.0"
encoding
=
"ISO-8859-1"
?>
02.
03.
04.
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
06.
07.
<
struts-config
>
08.
09.
<
form-beans
>
10.
<
form-bean
name
=
"helloWorldForm"
type
=
"com.vaannila.form.HelloWorldForm"
/>
11.
</
form-beans
>
12.
13.
<
global-forwards
>
14.
<
forward
name
=
"helloWorld"
path
=
"/helloWorld.do"
/>
15.
</
global-forwards
>
16.
17.
<
action-mappings
>
18.
<
action
path
=
"/helloWorld"
type
=
"com.vaannila.action.HelloWorldAction"
name
=
"helloWorldForm"
>
19.
<
forward
name
=
"success"
path
=
"/helloWorld.jsp"
/>
20.
</
action
>
21.
</
action-mappings
>
22.
23.
</
struts-config
>
Now configure the deployment descriptor. Add the following configuration information in the web.xmlfile.
01.
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02.
<
web-app
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns
=
"http://java.sun.com/xml/ns/javaee"
xmlns:web
=
"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation
=
"http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id
=
"WebApp_ID"
version
=
"2.5"
>
03.
<
display-name
>StrutsExample1</
display-name
>
04.
05.
<
servlet
>
06.
<
servlet-name
>action</
servlet-name
>
07.
<
servlet-class
>org.apache.struts.action.ActionServlet</
servlet-class
>
08.
<
init-param
>
09.
<
param-name
>config</
param-name
>
10.
<
param-value
>/WEB-INF/struts-config.xml</
param-value
>
11.
</
init-param
>
12.
<
load-on-startup
>2</
load-on-startup
>
13.
</
servlet
>
14.
15.
<
servlet-mapping
>
16.
<
servlet-name
>action</
servlet-name
>
17.
<
url-pattern
>*.do</
url-pattern
>
18.
</
servlet-mapping
>
19.
20.
<
welcome-file-list
>
21.
<
welcome-file
>index.jsp</
welcome-file
>
22.
</
welcome-file-list
>
23.
</
web-app
>
When we run the application the index.jsp page will be executed first. In the index.jsp page we redirect the request to the helloWorld.do URI, which inturn invokes the HelloWorldAction.
1.
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
2.
<
logic:redirect
forward
=
"helloWorld"
/>
In the action class we return the ActionForward "success" which is mapped to the helloWorld.jsppage. In the helloWorld.jsp page we display the "Hello World" message.
01.
<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
02.
<
html
>
03.
<
head
>
04.
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=ISO-8859-1"
>
05.
<
title
>Hello World</
title
>
06.
</
head
>
07.
<
body
>
08.
<
bean:write
name
=
"helloWorldForm"
property
=
"message"
/>
09.
</
body
>
10.
</
html
>
After creating all the files the directory structure of the application looks like this.
On executing the application the "Hello World" message gets displayed to the user.
No comments:
Post a Comment