Pages

Wednesday, 11 September 2013

Struts 2 Hello World Program



Let us see the Hello World program of struts 2, files required..
  • success.jsp
  • error.jsp
  • index.jsp
  • LogingEx.java [ in java4s package ]
  • web.xml  [ in web-inf ]
  • struts.xml  [ in web-inf/classes folder ]


index.jsp
1
2
3
4
5
6
7
8
9
10
11
12
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<body>

<s:form action="verify">

<s:textfield name="uname" label="Enter Username" /><br>
<s:submit value="Click" align="center" />

</s:form>
</body>
</html>
success.jsp
1
2
<%@ taglib prefix="s" uri="/struts-tags" %>
You have been successfully executed struts 2 hello world program..
error.jsp
1
2
<%@ taglib prefix="s" uri="/struts-tags" %>
Login failed, wrong user name, user name must be java4s
LogingEx.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package java4s;
import com.opensymphony.xwork2.ActionSupport;
public class LogingEx extends ActionSupport{
    private static final long serialVersionUID = 1L;

    private String uname;

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String execute()
    {
        if(uname.equals("java4s"))
        {
            return SUCCESS;

        }else
            return ERROR;
    }

}
web.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>

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

<struts>
   <include file="struts-default.xml"/>
   <package name="a" extends="struts-default">
      <action name="verify" class="java4s.LogingEx">
         <result name="success">/success.jsp</result>
         <result name="error">/error.jsp</result>
      </action>
   </package>
</struts>
Execution Flow
  • Right click on the project root > Run As > Run on Server
  • index.jsp will be executed automatically, because we have given index.jsp in <welcome-file></welcome-file> of web.xml file
  • Enter username as java4s and press ‘click‘ button
  • In index.jsp we have given form action as verify [ line number 5 ], so container come to web.xml and check for URL pattern and jumps to struts.xml
  • Now it will search for action name ‘verify‘, if found then corresponding java file given in class attribute will be executed [line number 10 ]
  • Now execute() method will be executed in LogingEx.java, if condition is satisfied it will returns SUCCESS
  • Again come to struts.xml line number 11, corresponding view will be executed
  • That’s it.

No comments:

Post a Comment