1. 程式人生 > >Struts2 通過和ServletAPI耦合的方式獲取WEB資源

Struts2 通過和ServletAPI耦合的方式獲取WEB資源

第一種:ServletActionContext

package cn.com.action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

public class ServletActionContextTest {
/*author:命運的信徒
 * date:2018/12/10
 * arm:耦合方式獲取web資源之ServletActionContext
 * 
 */
	public String execute(){	
	HttpServletRequest request=ServletActionContext.getRequest();
	System.out.println(request);
    HttpSession session=request.getSession();
    System.out.println(session);
    ServletContext context=ServletActionContext.getServletContext();
    System.out.println(context);
		return "success";
	}
}

第二種:ServletXxxAware介面方式

package cn.com.action;

import java.util.Map;

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.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

public class AwareTest implements  ServletContextAware,ServletResponseAware,ServletRequestAware{
/*author:命運的信徒
 * date:2018/12/10
 * arm:耦合的方式獲取we資源之aware介面的方式
 * 
 */
	
private HttpServletRequest request;
@Override
public void setServletRequest(HttpServletRequest request) {
	this.request=request;
	
}
private HttpServletResponse response;
@Override
public void setServletResponse(HttpServletResponse response) {
	// TODO Auto-generated method stub
	this.response=response;
}
private ServletContext context;

@Override
public void setServletContext(ServletContext context) {
	// TODO Auto-generated method stub
	this.context=context;
}
	
public String execute(){
	//打印出來
	System.out.println(request);
	System.out.println(response);
	System.out.println(context);
	return "success";
}
}

至於struts.xml以及頁面方面就省略了,和之前的解耦方式是一致的!

解耦方式https://mp.csdn.net/postedit/84938282

                https://mp.csdn.net/postedit/84935253