zoukankan      html  css  js  c++  java
  • action解耦方式

    ServletAction方式,必须要有Servlet容器作支持

    package com.hanqi.action;

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

    import org.apache.struts2.ServletActionContext;

    public class TestServletAction {

    public String testServletAction()
    {
    	//访问原生的web资源
    	
    	
    	//1得到servletContext,相当于application
    	ServletContext sc= ServletActionContext.getServletContext();
    	
    	System.out.println("app1="+sc.getAttribute("app1"));
    	
    	sc.setAttribute("app2", "原生的方式加入的application");
    	
    	//2访问Session
    	HttpServletRequest hsr=ServletActionContext.getRequest();
    	HttpSession hs=hsr.getSession();
    	System.out.println("ses1="+hs.getAttribute("ses1"));
    	hs.setAttribute("ses2", "原生方式放入的session");
    	
    	
    	//3访问request
    	System.out.println("req1="+hsr.getAttribute("req1"));
    	
    	hsr.setAttribute("req2", "原生方式放入的request");
    	
    	
    	//4 访问parameter
    	
    	System.out.println("user1="+hsr.getParameter("user"));
    	System.out.println("user2="+hsr.getParameter("user"));
    	return "success";
    }
    

    }

    实现接口方式

    package com.hanqi.action;

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

    import org.apache.struts2.interceptor.ServletRequestAware;
    import org.apache.struts2.util.ServletContextAware;

    public class TestServletActionAware
    implements ServletRequestAware, ServletContextAware {

    private ServletContext sc;
    private HttpServletRequest hsr;
    private HttpSession hs;
    @Override
    public void setServletContext(ServletContext arg0) {
    
    	sc=arg0;
    
    }
    
    @Override
    public void setServletRequest(HttpServletRequest arg0) {
    
    	hsr=arg0;
    	
    	hs=arg0.getSession();
    }
    
    public String testServletAware()
    {
    	System.out.println("app1="+sc.getAttribute("app1"));
    	
    	sc.setAttribute("app2", "新的application");
    	System.out.println("ses1="+hs.getAttribute("ses1"));
    	
    	hs.setAttribute("ses2","新的session");
    	System.out.println("user="+hsr.getParameter("user"));
    	
    	hsr.setAttribute("req2", "新的request");
    	return "success";
    }
    

    }

  • 相关阅读:
    微信网页授权
    ci控制器与方法为何不能同名
    sql优化方案
    收藏了一些Notepad++快捷键
    获取IP地址
    php curl获取文件大小
    php图片压缩两个类
    PHP生成PDF完美支持中文,解决TCPDF乱码
    tcpdf函数
    Hibernate 配置
  • 原文地址:https://www.cnblogs.com/nicebaby/p/6086555.html
Copyright © 2011-2022 走看看