HttpServletRequest in Struts 2 Action Class


There are two ways to get the servlet request object inside struts 2 action class’s execute method.

  • ServletActionContext : Directly accessing the getRequest method from the ServletActionContext class will return the request object.
  • ServletRequestAware : If you implement the action class with ServletRequestAware interface, then struts controller will send the request object through setServletRequest method. You are requested to declare a variable for request object and write getter and setter methods.

1. ServletActionContext

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;

public class Struts2HelloWorldAction{
	public String execute() {
		HttpServletRequest request = ServletActionContext.getRequest();
		return "SUCCESS";

2. ServletRequestAware

import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;

public class Struts2HelloWorldAction implements ServletRequestAware{

	HttpServletRequest request;

	public String execute() {
		String paramValue = getServletRequest().getParameter("param");
		return "SUCCESS";


	public void setServletRequest(HttpServletRequest request) {
		this.request = request;

	public HttpServletRequest getServletRequest() {
		return this.request;

However, it is recommended to use ServletRequestAware instead of ServletActionContext method.



About Krishna Srinivasan

He is Founder and Chief Editor of JavaBeat. He has more than 8+ years of experience on developing Web applications. He writes about Spring, DOJO, JSF, Hibernate and many other emerging technologies in this blog.

Speak Your Mind


Please support the site
By clicking any of these buttons you help our site to get better