zoukankan      html  css  js  c++  java
  • struts2 获取request、session的方法

    一,获取方式:

    从Servlet容器中获取的方法
    与Servlet容器无关的获取方法

    IoC方式
    非Ioc方式

    二,获取方法

    2.1 与servlet无关:

        2.1.1 非IoC模式

    Java代码
    1. ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据   
    2. Map request ;   
    3. Map session ;   
    4. Map application ;   
    5.   
    6. //以下初始化方法要放在方法中   
    7. context = ActionContext.getContext();   
    8.   
    9. request = (Map)context.get("request");//获取request   
    10. session = context.getSession();//获取session   
    11. application = context.getApplication();//获取application   
    12.   
    13. request.put("req", "request属性");   
    14. session.put("ses", "session属性");   
    15. application.put("app", "application属性");  
    Xml代码
    1. <!--jsp中取值-->  
    2. request属性接受:<s:property value="#request.req"/>${requestScope.req}   
    3. session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}   
    4. application属性接受:<s:property value="#application.app"/>${applicationScope.app}  

        2.1.2 IoC模式

    Java代码
    1. //实现接口   
    2. public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware   
    3.   
    4. Map request ;   
    5. Map session ;   
    6. Map application ;   
    7.   
    8. public void setRequest(Map request) {   
    9.         this.request = request;   
    10. }   
    11. public void setSession(Map session) {   
    12.     this.session = session;   
    13. }   
    14. public void setApplication(Map application) {   
    15.     this.application = application;   
    16. }      

    2.2 与servlet有关

        2.2.1 非IoC模式

    Java代码
    1. HttpServletRequest request;   
    2. HttpSession session ;   
    3. ServletContext application;   
    4.   
    5. request = ServletActionContext.getRequest();//获取request   
    6. session = request.getSession();   
    7. application = ServletActionContext.getServletContext();//获取application   
    8.   
    9. request.setAttribute("req", "request属性111");   
    10. session.setAttribute("ses", "session属性111");   
    11. application.setAttribute("app", "application属性111");  

        2.2.1 IoC模式

    Java代码
    1. //实现接口   
    2. public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware   
    3.   
    4.   
    5. HttpServletRequest request;   
    6. ServletContext application;   
    7.   
    8.   
    9. public void setServletRequest(HttpServletRequest request) {   
    10.     this.request = request;   
    11. }   
    12. public void setServletContext(ServletContext application) {   
    13.     this.application = application;   
    14. }  
  • 相关阅读:
    python基础:内置函数zip,map,filter
    python基础:网络编程
    python基础:异常捕捉
    jQuery demo
    day14 jQuery
    day13 JS Dom
    页面垂直方向出现两个滚动条问题?
    修复npm ERR! cb()never called!的错误;This is an error with npm itself. Please report this error at:
    vue——解决“You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file. ” eslint报错,取消文件的rules
    原型链
  • 原文地址:https://www.cnblogs.com/opaljc/p/2397742.html
Copyright © 2011-2022 走看看