本系列博客汇总在这里:Struts2 汇总
Struts 动作类获得 ServletAPI
一、使用 ServletActionContext 获得 servletAPI
package com.wyx.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.PageContext;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* action动作类
*/
public class HelloAction extends ActionSupport
{
public String hello()
{
//获得page域对象
PageContext page = ServletActionContext.getPageContext();
//获得request
HttpServletRequest request = ServletActionContext.getRequest();
//获得response
HttpServletResponse response = ServletActionContext.getResponse();
//获得session
HttpSession session = request.getSession();
//获得application
ServletContext sc = ServletActionContext.getServletContext();
System.out.println(page);
System.out.println(request);
System.out.println(response);
System.out.println(session);
System.out.println(sc);
return super.SUCCESS;
}
}
package com.wyx.action;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;
import com.opensymphony.xwork2.ActionSupport;
/**
* action动作类
*/
public class HelloAction1 extends ActionSupport implements ServletRequestAware, ServletResponseAware, ServletContextAware
{
HttpServletRequest request;
HttpServletResponse response;
ServletContext sc;
public String hello()
{
System.out.println(request);
String result = request.getParameter("name");
System.out.println(result);
System.out.println(request.getSession());
System.out.println(response);
System.out.println(sc);
return super.SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request)
{
this.request = request;
}
@Override
public void setServletResponse(HttpServletResponse response)
{
this.response = response;
}
@Override
public void setServletContext(ServletContext context)
{
this.sc = context;
}
}
如有错误,欢迎指正!