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";
    }
    

    }

  • 相关阅读:
    k8s命令
    git绿色、红色图标不显示的问题
    Git下载
    文档(PDF Word Excel PPT)转HTML前端预览方案
    腾讯云生成临时访问链接
    cron表达式的双重人格:星期和数字到底如何对应?
    Windows下nginx报错解决:CreateFile() "xxx/logs/nginx.pid" failed
    Windows命令行在任意位置启动和退出nginx
    解决博客园TinyMCE模式下内置插入代码块功能不支持Go语言的问题(两个并不完美的解决方案)
    linux系统调用system()函数详解
  • 原文地址:https://www.cnblogs.com/nicebaby/p/6086555.html
Copyright © 2011-2022 走看看