Skip to main content

Struts 2 Hello World Example

I had seen many new deveopers struggling against struts2 hello world example. So I decided to write a small example.
Below are the required libraries to run this example which are easily availabel

struts2-core-2.1.8.1
xwork-core-2.1.6
commons-logging-1.0.4
commons-logging-api-1.1
freemarker-2.3.8
ognl-2.7.3
commons-fileupload-1.2

The structure of the applictaion which I am following is (Eclipse IDE)
Struts2Demo
|---src
| |----org
| | |----vinod
| | | |----action
| | | | |----HelloWorld।java
|---struts.xml

|---WebContent
| |---jsp
| |---HelloWorld।jsp
|---index.jsp
|---WEB-INF
| |---lib
| |---web.xml


It is true that different IDE's use different structure, but at last when war is build they follow same structure.
Lets start...

HelloWorld.java
import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {
 String greetings = null;

 public String execute() throws Exception {
  setGreetings("Hello World");
  return SUCCESS;
 }

 /**
  * @return the greetings
  */
 public String getGreetings() {
  return greetings;
 }

 /**
  * @param greetings
  *            the greetings to set
  */
 public void setGreetings(String greetings) {
  this.greetings = greetings;
 }
}
HelloWorld.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>

<title>Struts 2 Example</title>
</head>
<body>
 <s:property value="greetings">
</s:property></body>
</html>
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 Example</title>
</head>
<body>
 <s:action executeresult="true" name="HelloWorldAction"></s:action>
</body>
</html>
struts.xml
<struts>
 <package extends="struts-default" name="hello">
  <action class="org.vinod.action.HelloWorld" name="HelloWorldAction">
   <result>/jsp/HelloWorld.jsp</result>
  </action>
 </package>
</struts>
web.xml
<web-app version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemalocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</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>
Enjoy the struts2 (most popular java framework today) I had also written some more examples and some solutions of struts which can be easily found at
Struts 2 ajax drop down example
Struts 2 change <actionerror /> <actionmessage />
Struts 2 Session Check Interceptor
About Struts 2

Popular posts from this blog

Simple LDAP Authentication

This is a simple example through which we will connect to the LDAP Server and authenticate user.
I have used ApacheDS Server as a LDAP Server. Install ApacheDS server and run it.

Following is a servlet used. make login.html and use as it Login.java


package ajaxdemo.action; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.naming.*; import javax.naming.directory.*; import java.util.Hashtable; public class Login extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public Login() { super(); } protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final String SUCCESS = "Success.html"; final String FAILURE = "Failure.html"; String strUrl = "login.html"; String username = request.getPar…

Getting height and width of image in Java

Yesterday I was working on something that requires manipulation of image for getting its properties.
After searching over the internet I found a very intersting class on Java i.e ImageIO and BufferedImage class.

These classes are good enough to manipulate images. there are many other claases also. But what I need i got it from these. I found many developers searching over internet for getting properties of image and there is no good small example for that.

Thats why I thought why not creating a simple code to manipulate the image and help the developers.

Here is the small code that helps to get the height and width of the image. Enjoy it!!
import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class GetImage { public static void main(String[] args) { try { File f = new File("E:/Vinod/Docs/Pics/krishna_01.jpg"); BufferedImage image = ImageIO.read(f); int height = image.getHeight(); int width …

AWS S3 processing with JetS3t library

In this post we will see how we can use the Amazon AWS S3 to store objects. We will be using the JetS3t library to process our objects. JetS3t library also known as Jet Set, is widely used for processing the AWS S3 i.e. Amazon Web Services, Simple Storage Service.

Before working on AWS S3, you need to have a valid account on AWS with S3 key and S3 password. You can register here free of cost.
Amazon Web Services in Action (MANNING)
Here we will using 4 API of jets3t i.e. Upload a documentDownload a documentListing of documentsDelete a document We will upload images of user on S3 and then process them as specified above.
Upload: to upload image to the S3 we will be using putObject() method of the S3Service class.Download: To download image we will be using getObject() method of S3Service class.List: To list images we will be using listObjects() method of S3Service class.Delete: To delete image we will be using deleteObjects() method of S3Service class. We can also delete multiple images …