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;
        }
    }
  • 相关阅读:
    kendo ui 查找treelist里的子控件并设置是否显示的方法
    KendoUi下的DatePicker在谷歌浏览器上不能正常显示时间的解决方法
    asp.net 第三方UI控件 Telerik KendoUI 之 TreeVIew 的用法记录
    mysql批量更新数据,即:循环select记录然后更新某一字段
    Sql语句备份Sqlserver数据库
    3des用法示例,已测试
    制作Windows服务项目详细攻略
    利用好压在C#程序里实现RAR格式的压缩和解压功能
    winform里textBox无法获得焦点的解决方案
    Shell脚本批量重命名案例
  • 原文地址:https://www.cnblogs.com/forever2h/p/6709953.html
Copyright © 2011-2022 走看看