zoukankan      html  css  js  c++  java
  • struts2 之 ServletAPI

    1. 在struts2中有两种方式使用SercletAPI,一种解耦方式,一种耦合方式。

    2. 解耦方式就是使用ActionContext 来实现,是完全解耦 servletAPI。 ActionContext可以在任何地方使用(action,service,dao).

    实例如下:

    public String login(){
            System.out.println("用户名:"+username+"	密码:"+password);
            if("siggy".equals(username)&&"1111".equals(password)){
                //通过ActionContext获取session
                Map<String,Object> session = ActionContext.getContext().getSession();
                session.put("currentUser", "siggy");
                //获取全局域
                ActionContext.getContext().getApplication();
                //获取请求域中的数据
                ActionContext.getContext().get("request");
                return Action.SUCCESS;
            }
            return "login";
        }

    3. 通过耦合的方式来使用ServletAPI.耦合方式既SercletAPI本身的对象。

      (a) .通过ActionContext来实现耦合。

        实例如下:

    //登录处理方法
        public String login(){
            System.out.println("用户名:"+username+"	密码:"+password);
            if("siggy".equals(username)&&"1111".equals(password)){
                //通过ActionContext获取HttpServletRequest对象
                HttpServletRequest req = (HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);
                req.getSession().setAttribute("currentUser", "siggy");
                return Action.SUCCESS;
            }
            return "login";
        }

      (b) 通过ServletActionContext 来获取servletAPI:

        实例如下:

    public String login(){
            System.out.println("用户名:"+username+"	密码:"+password);
            if("siggy".equals(username)&&"1111".equals(password)){
                //通过ServletActionContext获取HttpServletRequest对象
                HttpServletRequest req = ServletActionContext.getRequest();
                req.getSession().setAttribute("currentUser", "siggy");
                return Action.SUCCESS;
            }
            return "login";
        }

      (c)通过实现SerletRuestAware接口来获取HttpServletRequest对象

        实例如下:

    public class User3Action implements ServletRequestAware{
        private String username;
        private String password;
        
        private HttpServletRequest req;
        //登录处理方法
        public String login(){
            System.out.println("用户名:"+username+"	密码:"+password);
            if("siggy".equals(username)&&"1111".equals(password)){
                req.getSession().setAttribute("currentUser", "siggy");
                return Action.SUCCESS;
            }
            return "login";
        }
        public void setServletRequest(HttpServletRequest request) {
            req = request;
        }
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
    }
  • 相关阅读:
    ubuntu 使用ifupdown 进行高级网络设置
    2015 9月27日 工作计划与执行
    2015 9月25日 工作计划与执行
    2015 9月24日 工作计划与执行
    2015 9月23日 工作计划与执行
    ubuntu 安装python3
    leetCode(12):Remove Duplicates from Sorted List 分类: leetCode 2015-06-18 15:48 136人阅读 评论(0) 收藏
    leetCode(11):Reverse linked list II 分类: leetCode 2015-06-18 15:16 154人阅读 评论(0) 收藏
    leetCode(10):Partition List 分类: leetCode 2015-06-18 09:08 105人阅读 评论(0) 收藏
    leetCode(9):Remove Nth Node From End of List 分类: leetCode 2015-06-18 08:15 109人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/forever2h/p/6709953.html
Copyright © 2011-2022 走看看