您好,欢迎来到爱玩科技网。
搜索
您的当前位置:首页struts2的servlet的API的三种方式

struts2的servlet的API的三种方式

来源:爱玩科技网

Servlet的API的访问.
Servlet的API的访问:(三种方式)

1.完全解耦合的方式:(ActionContext)

ActionContext的方法:
    * Map<String,Object> getParameters();   ---接收参数.

    * put(String key,Object value);         ---向request域中存数据.
    * Map<String,Object> getSession();      ---获得session的Map.
    * Map<String,Object> getApplication();  ---获得application的Map.
    // 1.接收表单的数据:
    ActionContext actionContext = ActionContext.getContext();
    Map<String,Object> map = actionContext.getParameters();
    String[] names = (String[]) map.get("name");
    System.out.println(names[0]);
    String[] sexs = (String[]) map.get("sex");
    System.out.println(sexs[0]);

    // 2.向域中存数据:
    // 2.1向request域中存值:
    actionContext.put("reqName", "美美");
    // 2.2向session域中存值:
    actionContext.getSession().put("sessName", "标哥");
    // 2.3向application域中存值:
    actionContext.getApplication().put("appName", "大标哥");

2.使用接口注入的方式:

    实现接口的方式:
    * ServletRequestAware:
    * ServletContextAware:
    * ServletResponseAware:
public class RequestAction2 extends ActionSupport implements ServletRequestAware,ServletContextAware{

    private HttpServletRequest request;
    private ServletContext context;

    @Override
    public String execute() throws Exception {
        // 接收参数:
        String name = request.getParameter("name");
        String sex = request.getParameter("sex");
        System.out.println(name);
        System.out.println(sex);
        // 向域中保存数据:
        request.setAttribute("reqName", "凤姐");
        request.getSession().setAttribute("sessName", "杜宏");
        context.setAttribute("appName", "芙蓉");
        return SUCCESS;
    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request = request;
    }

    @Override
    public void setServletContext(ServletContext context) {
        this.context  = context;
    }
}

3.使用类中静态方法的方式:(耦合)

ServletActionContext:
* getRequest();
* getServletContext();
* getResponse();
@Override
    public String execute() throws Exception {
        // 接收参数:
        HttpServletRequest req = ServletActionContext.getRequest();
        String name  = req.getParameter("name");
        String sex  = req.getParameter("sex");
        System.out.println(name);
        System.out.println(sex);
        // 向域中保存数据:
        req.setAttribute("reqName", "天一");
        req.getSession().setAttribute("sessName", "冠希");
        ServletActionContext.getServletContext().setAttribute("appName", "冰冰");
        return super.execute();
    }

比较三种方式:
最好:第一种完全解耦合方式.
最熟练:第三种方式.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- aiwanbo.com 版权所有 赣ICP备2024042808号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务