精华内容
下载资源
问答
  • 域对象

    千次阅读 2018-09-12 00:06:59
    可以在不同Servlet之间传递数据的对象,就是域对象 只要是域对象都有如下方法 setAttribute(name,value);存储数据方法 getAttribute(name);根据name获取对应数据值 removeAttribute(name);删除数据 ...

    域对象

    可以在不同Servlet之间传递数据的对象,就是域对象
    
    只要是域对象都有如下方法
        setAttribute(name,value);存储数据的方法
        getAttribute(name);根据name获取对应数据值
        removeAttribute(name);删除数据

    request域对象

    
    request里面的数据只有当前的一个请求域内,也就是请求转发前后的servlet可以共享。
    
    Request,一次请求来到服务器,服务器创建,服务器这次请求响应结束后销毁requestrequest对象是一次请求内有效。
    
    注意: request域对象数据只能在页面跳转-请求转发才能共享获取,
    如果想要页面不跳转就能获取共享数据,就只能使用ServletContext域对象.
    //定义数据
    List<String> list = new ArrayList<String>();
    
    list.add("张三");
    list.add("李四");
    list.add("王五");
    
    //使用域对象request存储数据
    request.setAttribute("emplist", list);
    
    response.getOutputStream().write("进入了ForwardOneServlet".getBytes());
    
    //请求转发到ForwardTwoServlet
    request.getRequestDispatcher("ForwardTwoServlet").forward(request, response);//可以访问
    
    //请求转发是服务器执行的路径跳转,路径写法有2种
    //1.资源路径,相对路径,就代表访问当前工程目录下的
    //2./资源路径,第一个“/”,代表当前工程目录下,因为路径是由服务器执行的,所以第一个“/”就是当前工程目录下
    
    //注意:只有请求转发是由服务器执行的
    //request.getRequestDispatcher("https://www.baidu.com").forward(request,response);//不能访问的
    //请求转发浏览器栏不变
    
    *  路径写法
    *    全路径,绝对路径  url=/工程名字/资源路径
    *    相对路径        url=资源路径
    
    *    浏览器执行的路径第一个“/”代表webapps根目录
    *    服务器执行的路径第一个“/”代表当前工程目录下
    *    只有请求转发时服务器执行的,所以不能写工程名字。
    request.getRequestDispatcher("/requestGetData").forward(request, response);
    request.getRequestDispatcher("requestGetData").forward(request, response);
    response.getOutputStream().write("进入了ForwardTwoServlet".getBytes());
    
    //从域对象里面获取数据
    Object object = request.getAttribute("emplist");
    
    if(object!=null){
        List<String> list = (List<String>) object;
        for (int i = 0; i < list.size(); i++) {
            response.getOutputStream().write(list.get(i).getBytes());
        }
    }

    ServletContext域对象

    作用域范围全局
    
    当前工程只有一个ServletContext对象,存储的数据在当前工程内部共享。
    
    当服务器启动的时候被创建,当前服务器正常关闭或重启的时候才销毁。
    servletContext里面存储的数据在当前项目下的所有servelt都可以共享
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        List<String> list = new ArrayList<String>();
        list.add("aa");
        list.add("bb");
        list.add("cc");
    
        //将数据存储到ServletContext中
        getServletContext().setAttribute("emplist", list);
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    
        //获取数据
        Object object = getServletContext().getAttribute("emplist");
        if(object!=null){
            List<String> list = (List<String>) object;
            for (String string : list) {
                response.getWriter().write(string);
            }
        }
    }

    获取全局配置参数

    <!--web.xml-->
    <context-param>
        <param-name>dbuser</param-name>
        <param-value>root</param-value>
    </context-param>
    
    <context-param>
        <param-name>dbuserpwd</param-name>
        <param-value>123</param-value>
    </context-param>
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    
        //使用ServletContext获取web.xml中全局配置参数
        //getServletContext().getInitParameter(name);
        //getServletContext().getInitParameterNames();
    
        Enumeration<String> enumeration = getServletContext().getInitParameterNames();
    
        while (enumeration.hasMoreElements()) {
    
            String paramName = enumeration.nextElement();
    
            String paramValue = getServletContext().getInitParameter(paramName);
    
            System.out.println(paramName+":"+paramValue);
        }
    }

    统计成功登录的人数

    登录---数据库
    
    开发步骤
    1.设计数据表
    2.导入相关jar包
    mysql的jar
    c3p0的jar
    dbutil的jar
    
    3.配置数据库连接池
    
    4.设计程序类
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>login.html</title>
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    
        <meta http-equiv="description" content="this is my page">
    
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    
      </head>
    
      <body>
        <form action="/TEST/login" method="post">
        <p>用户名:<input type="text" name="userName" /></p>
        <p>密&nbsp;码:<input type="password" name="pwd" /></p>
        <p><input type="submit" value="登录" /></p>
        </form> 
      </body>
    </html>
    public class LoginServlet extends HttpServlet {
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
    
        }
    
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            //处理post提交中文乱码问题
            request.setCharacterEncoding("utf-8");
            //获取数据
            String userName = request.getParameter("userName");
            String pwd = request.getParameter("pwd");
    
            //数据封装起来
            User user = new User(0, userName, pwd);
    
            //实例业务处理类
            UserService userService = new UserService();
    
            //验证登录
            if(userService.login(user)){
    
                //统计登录成功人数,使用servletContext统计,name为count
                //先获取已有count人数,在此基础上+1
                Object object = getServletContext().getAttribute("count");
                if(object==null){
                    //统计人数为1
                    getServletContext().setAttribute("count", 1);
    
                }else{
                    int count = (int) object;
                    count++;
                    getServletContext().setAttribute("count",count);
                }
    
    
                request.setAttribute("result", true);
            }else{
                request.setAttribute("result", false);
            }
            //页面跳转
            request.getRequestDispatcher("/result").forward(request, response);
        }
    }
    /**
     * 业务处理类
     */
    public class UserService {
    
        /**
         * 实例数据访问类
         */
        UserDao userDao = new UserDao();
    
        /**
         * 验证登录
         * @param user
         * @return
         */
        public boolean login(User user) {
            //查找数据库是否存在对应用户
            if(userDao.isExists(user)){
                return true;
            }
            return false;
        }
    }
    /**
     * 数据访问类
     * @author songyu
     *
     */
    public class UserDao {
    
        /**
         * dbutil工具类
         */
        private QueryRunner runner = new QueryRunner(new ComboPooledDataSource());
    
        /**
         * 判断用户是否存在
         * @param user
         * @return
         */
        public boolean isExists(User user) {
            try {
                String sql = "select * from user where username=? and pwd=?";
                User user2 = runner.query(
                        sql,
                        new BeanHandler<User>(User.class) ,
                        user.getUserName(),user.getPwd());
                return user2!=null;
            } catch (SQLException e) {
    
                e.printStackTrace();
    
                throw new RuntimeException(e);
            }
        }
    }
    /**
     * dopost2
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    
            //设置输出中文乱码问题
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
    
            //获取登录的结果
            Object object = request.getAttribute("result");
            if(object!=null){
                boolean flag = (boolean) object;
                if(flag){
    
                    //显示成功登录人数
                    Object object2 = getServletContext().getAttribute("count");
    
                    int count = 0;//用于存储统计的人数
                    if(object2!=null){
                        count = (int) object2;
                    }
    
                    out.write("<font color='green'>目前登录成功的人数:"+count+"</font>");
    
    
                }else{
                    out.write("<font color='red'>登录失败</font>");
                }
          }
    }
    展开全文
  • 模型域对象

    2019-03-29 08:46:18
    域模型是面向对象的,在面向对象术语中,域模型也称为设计模型。域模型由以下内容组成: 具有状态和行为的域对象 域对象之间的关系 关联、依赖、聚集、一般化 域对象 域对象可以代表业务领域中的人、地点、...

    域模型

    域模型是面向对象的,在面向对象术语中,域模型也称为设计模型。域模型由以下内容组成:

    • 具有状态和行为的域对象
    • 域对象之间的关系
      关联、依赖、聚集、一般化
       

    域对象

     

    域对象可以代表业务领域中的人、地点、事物或概念。域对象分为以下几种:

    实体域对象:业务领域的名词

    •  实体对象可以代表人、地点、事物或概念。例如客户、订单、商品等作为实体域对象。
    •  在Java EE应用中,这些名词可以作为实体EJB
    • 对于普通的Java应用,这些名词可以作为包含状态和行为的JavaBean。采用JavaBean形式的实体域对象也称为POJOPlain Old Java Object)。
    • 为了使实体域对象与关系数据库表中记录对应,可以为每个实体域对象分配惟一的OIDObject Identifier,即对象标识符),OID是关系数据库表中的主键(通常为代理主键)在实体域对象中的等价物。

    过程域对象:业务领域的动词

    • 过程域对象代表应用中的业务逻辑或流程。它们通常依赖于实体域对象。
    • 可以把业务领域中的动词,例如客户发出订单、登入应用等作为过程域对象。
    • 在Java EE应用中,它们通常作为会话EJB或者消息驱动EJB。
    • 在非Java EE应用中,它们可作为常规的JavaBean,具有管理和控制应用的行为。
    • 过程域对象也可以拥有状态,例如在J2EE应用中,会话EJB可分为有状态和无状态两种类型。

    事件域对象:业务领域中的事件

    事件域对象代表应用中的一些事件(如异常、警告或超时)。这些事件通常由系统中的某种行为触发。

    例如在多用户环境中,当一个客户端程序更新了某种实时数据,服务器端程序会创建一个事件域对象,其他正在浏览相同数据的客户端程序能够接受到这一事件域对象,随即同步刷新客户界面。、

     

    域对象的持久化概念

    狭义的理解,“持久化”仅仅指把域对象永久保存到数据库中

    广义的理解,“持久化”包括和数据库相关的各种操作:

    • 保存:把域对象永久保存到数据库中。
    • 更新:更新数据库中域对象的状态。
    • 删除:从数据库中删除一个域对象。
    • 加载:根据特定的OID,把一个域对象从数据库加载到内存中。
    • 查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载到内存中。

     

    展开全文
  • python中类的域对象

    2014-07-17 23:17:15
    python中类的域和对象的域是两回事。 在类中的定义,对每一个该类的对象都是公用的,一个对象修改,则所有的对象都修改了。 而在对象中的定义则只是该对象一个参数。 在类定义中,__val(双下划线可以让...


    python中类的域和对象的域是两回事。

    在类中的定义,对每一个该类的对象都是公用的,一个对象修改,则所有的对象都修改了。

    而在对象中的定义则只是该对象一个参数。

    在类定义中,__val(双下划线可以让python自动认定为是私有变量),默认的变量都是公有的。

    展开全文
  • java中的域对象

    2020-07-29 09:05:21
    java中的域对象 1.什么是域对象对象主要用在web应用中,负责存储数据,通俗的将就是这个对象本身可以获得一定范围内的所有数据, 可以理解为万能的一个属性,只要调用它就可以获得这个范围(域)内的想要的数据 2...

    java中的域对象

    1.什么是域对象

    域对象主要用在web应用中,负责存储数据,通俗的讲就是这个对象本身可以存储一定范围内的所有数据,通过它就能获取和存储数据,
    可以理解为万能的一个属性,只要调用它就可以获得这个范围(域)内的想要的数据,也可以修改删除数据,当然也可以给这个域添加数据

    2.域对象分类

    根据 作用域的不同主要分为:

    • PageContext域
    • HttpServletRequest域
    • session域
    • ServletContext域

    从上到下作用域依次增大,可以理解为类似修饰符private 、protected 、默认、public 的等级

    3.域对象通用方法

    getAttribute(String name) 获取对应的数据
    getAttributeNames()获取所有的key
    removeAttribute(String name) 移除对应的数据
    SetAttribute(String name, Object object) 设置数据

    4.具体域对象

    ServletContext域
    Session域对象
    HttpServletRequest请求域对象
    PageContext域对象

    展开全文
  • request域对象和session域对象

    千次阅读 2017-04-19 23:59:07
    当你只想servlet穿过来的域对象只存留一次会话中的时候,用request域对象 request.setAttribute("successModify", "修改资料成功"); 当你像一直使用的时候,用session域对象 request.getSession()....
  • ServletContext域对象

    2017-06-26 18:29:41
    1.1 ServletContext对象之作为对象存取数据 1.1.1 对象概述 1.1.1.1 什么是对象 对象:指的是将数据存入到...1.1.2.1 ServletContext作为域对象的API l 存入数据的方法:   l 获取数据的方法
  • Servlet域对象

    千次阅读 2019-09-25 11:06:38
    我先来分别解释一下这几个域对象的作用范围和特点。 request。是所有servlet对象中最小的一个,只能适应一次请求。超出这个请求的作用范围,比如说重定向之后,就获取不到里面存放的值了。 其次是cookie...
  • Spring 对象作用

    千次阅读 2017-05-21 20:28:12
    默认情况下, Spring 将创建的对象放在它容器中缓存,当我们需要某个对象时,Spring 将缓存的对象返回给我们,并不会创建新对象,如果你想让 Spring 每次返回一个新对象该怎么办呢?看看下面例子吧。package ...
  • Java对象作用

    千次阅读 2017-06-11 21:40:41
    大多数程序设计语言都提供了“作用”(Scope)概念。对于在作用里定义名字,作用同时决定了它“可见性”以及“存在时间”。在C,C++和Java 里,作用是由花括号位置决定。参考下面这个例子: { ...
  • servlet三大作用域对象:request(HttpServletRequest)session(HttpSession):application(ServletContext):tomcat启动时创建,tomcat关闭时销毁,整个web生命周期只有一个括号内为其对应类jsp九大...
  • java对象的作用问题

    2017-08-03 14:56:53
    引用s在作用终点就消失了,然而,s所指向String对象仍继续占据内存空间。事实证明,有new创建的对象,只要你需要。就会一直保留下去。那么这就会带来一个有趣问题,如果Java让对象一直存在,那么靠什么才能...
  • 1.可以通过<...定义的scope属性指定Bean对象的作用或者使用注解@Scope指定Bean对象的作用。  2.默认Bean对象的作用为singleton。   转载于:https://www.cnblogs.com/myhdc/p/8522583.html...
  • 域对象对象不都是存储数据吗?为什么还要分域对象对象?这个是指作用还是什么?那么多对象为什么Javaweb中只有四个域对象?求解...
  • 所以request作用仅在请求中有效. 常用场景: 常用于, 同一个服务器之间同一请求,而使用不同参数传递 request创建与销毁 当请求来时候 tomcat服务器会创建 request ,respones对象 当响应产生 ,request...
  • javaweb中各种域对象

    千次阅读 2017-06-26 12:51:29
    javaweb中各种域对象
  • ServletContext对象之作为对象存取数据 对象概述: 对象:指的是将数据...ServletContext作为域对象的API 存入数据的方法: setAttribute(String name,Object object);向对象中存入数据的方法。没有返回值
  • 在典型情况下,应用程式的大多数子系统都依赖这些通用的域对象–这意味着域对象的映射越接近数据库大纲,应用程式研发者理解和使用他们就越容易,因为他们表现了数据库中的现实"实体"和"关系"。 ​ 如果域对象没有...
  • pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些...
  • Jsp四个域对象

    千次阅读 2018-03-16 17:38:50
    域对象的作用: 用于保存数据,获取数据,在不同资源之间共享数据。 域对象的方法: setAttribute(name,object) ; 保存数据方法 getAttribute(name) 获取数据 romveAttribute(name) 清除数据 四个域对象的作用...
  • java对象的作用

    千次阅读 2014-05-14 16:09:50
    java对象不具备和
  • PageContext是一个对象,有域对象的通用方法: setAttribute(String name,Object obj); getAttribute(String name); removeAttribute(String name); 特殊方法: setAttribute(String name,Object obj,int scope); ...
  • Java,类中的域对象的域

    千次阅读 2013-07-21 10:51:33
    对象是类实例化。 举个例子,你知道世界上有狗,但不是具体到那条狗,狗有区别其他动物“特征”,这条狗就是类,它是抽象概念。那这个类怎么区别其他类呢,这个问题相当于问狗特征。类有它属性和方法。...
  • Web三个域对象的区别

    2017-04-03 00:44:36
    ServletContext四个域对象的区别: 主要体现在范围上,通过setAttribute()方法,四个对象均可存储数据,传输数据,但是范围不一样PageContext的作用范围最小,只能在当前页面传输数据,即使是转发,重定
  • Jsp中四个域对象

    千次阅读 2017-07-27 19:53:32
    1、Jsp中四个域对象 四个域对象: pageContext page request request session session application context   1)域对象作用: 保存数据 和 获取数据 ,用于数据共享。   2)域对象方法: ...
  • 四个域的对象

    千次阅读 2011-11-07 19:20:22
    四个域的对象  Pagecontext(page)  Request(request)  Session(session)  Servletcontext(application)  1、什么是?  是作用范围。  2、这4种域的生命周期?  page 只在当前页面中...
  • 域对象详解

    千次阅读 2018-09-25 10:01:28
    对象作用: 在一定范围内可以共享数据  request : 一次请求 多个资源 共享 数据  session : 默认一次会话 多个请求 多个资源共享数据 ...域对象的api setAttribute(String key , Object V...
  • pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其它8大隐式对象的引用,它自身还是一个对象,可以用来保存数据。并且,这个对象还封装了web开发中经常涉及到的一些...
  • web三个域对象的区别

    千次阅读 2016-01-08 15:17:15
    web三个域对象的区别

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,120
精华内容 21,248
关键字:

对象的域