精华内容
下载资源
问答
  • Flutter布局组件

    2021-02-24 15:18:34
    Flutter的布局容器主要分为两类:只能包含一个子Widget的布局容器和可以包含多个子Widget的容器,下面分别说明其用法。Center组件中的子组件会居中显示。Center组件会尽可能的大,如果你不给它设置任何约束。下面...
  • Tomcat组件介绍

    2018-03-02 16:38:23
    转载地址:...lt;Server> 顶层类元素:一个配置文件中只能有一个<Server>元素,可包含多个Service。 <Service> 顶层类元素:本身不是容器,可包...

    转载地址:http://blog.csdn.net/vba_2001/article/details/7184759

    XML配置文件结构
    <Server>                     顶层类元素:一个配置文件中只能有一个<Server>元素,可包含多个Service。
        <Service>                顶层类元素:本身不是容器,可包含一个Engine,多个Connector。
            <Connector/>         连接器类元素:代表通信接口。
               <Engine>   容器类元素:为特定的Service组件处理所有客户请求,可包含多个Host。
                  <Host>    容器类元素:为特定的虚拟主机处理所有客户请求,可包含多个Context。
                     <Context>   容器类元素:为特定的Web应用处理所有客户请求。
                     </Context>
                   </Host>
                  </Engine>
         </Service>
    </Server>

    本文简单介绍一下Tomcat中的各种组件。

    1、Server

    代表整个Tomcat实例,在JVM中是单例的,它还负责管理包含的Service组件的生命周期;下图是对Server组件的一个简单描述:


    • 可以在server.xml文件是对Server组件进行配置;
    • 可配置的属性有:name, shutdown port, shutdown command, class name等;
    • shutdown port默认为8005;
    • shutdown command默认为SHUTDOWN;出于安全,只能从同一台服务器发出SHUTDOWN命令;
    • 提供JNDI的实现,可以放任意对象(如DataSource,环境变量等);

    2、Service

    Service组件代表的是一组请求处理组件;一个Server实例可以包含多个Service实例,每个Service实例与一组Connector实例和单个Engine实例相关联;


    单Service实例一般够用了;如果需要针对不同的IP或Port使用不同的Service组件来处理,则可以使用多Service实例;

    3、Connector

    Connector组件把Engine从不同的通信协议中隔离出来,如HTTP,HTTPS,AJP等;

    可以配置Tomcat的工作模式:Standalone & Conjuction;


    在Standalone模式中,Tomcat可以配置HTTP/HTTPS的Connector,它既要处理静态内容,也要委托Engine处理动态内容;


    在Conjunction模式中,客户端是Apache或是IIS之类的Web Server;当Web Server决定将请求转交给Tomcat处理时,它通过AJP协议与Tomcat交互;AJP协议是基于二进制流的,比HTTP更高效一些;

    关于Connector的几个重要点:

    • 监听的IP和Port;
    • 处理请求的最大线程数;如果所有线程都忙,则会丢弃新的请求;
    • 所有的Connector接收到请求后,转换成统一的模式,再交给唯一的Engine处理;Engine负责处理请求并产生响应;
    • Connector将Engine产生的响应按合适的协议发送到客户端;

    4、Engine

    其实就是Servlet Engine;一个Service组件只能包含一个Engine组件;但一个Engine可以包含多个Host组件;

    它接收代表请求和响应的对象,然后将工作委托给相应的Host组件进行处理;如果没有找到对应的Host组件,则委托给default Host来处理;

    5、Host

    两个重要点:

    • domain name:每个Host必须要有一个唯一的domain name;浏览器发过来的请求头里包含有该domain name;domain name在Engine里必须是唯一的;
    • app base folder:发布到该Host里的应用的目录名;可以是相对CATALINA_BASE的相对路径也可以是文件系统的绝对路径;

    当Host获得一个针对特定Host请求时,将会在该Host环境下把请求匹配到对应的Context上;然后把请求交给这个Context来处理;

    6、Context

    一个 Context对应一个Web Application;它由多个Servlet组成;在创建Context时,将根据conf/web.xml和webapps/${context path}/WEB-INF/web.xml加载Servlet并创建映射表;


    • Document Base:存放war或解压后的context的地方;
    • Context Path:唯一标志一个Context;当没有匹配任何一个Context时,默认的Context将会处理该请求;默认的Context的Context Path为空;
    • Automatic Reload:一旦监测到Context有修改,则会自动重启Context;只用于开发模式;

    7、Wrapper

    Wrapper是Context的子元素,代表了一个Servlet(或一个JSP被编译后的Servlet);它负责加载Servlet、实例化Servlet、以及触发生命周期方法的调用,如init(), service(), destory()方法;另外,Wrapper也负责调用与Servlet相关的Filter;

    Tomcat处理一个HTTP请求的过程
    假设来自客户的请求为: http://localhost:8080/wsota/wsota_index.jsp 
    1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得 
    2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应 
    3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host 
    4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机) 
    5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context 
    6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理) 
    7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet 
    8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类 
    9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法 
    10)Context把执行完了之后的HttpServletResponse对象返回给Host 
    11)Host把HttpServletResponse对象返回给Engine 
    12)Engine把HttpServletResponse对象返回给Connector 
    13)Connector把HttpServletResponse对象返回给客户browser

    展开全文
  • Swing容器介绍

    2014-06-29 11:08:03
    在Swing不但用轻量级的组件替代了AWT的重量级的组件,而且Swing的替代组件中都包含有一些其他的特性。例如,Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本。Swing的大多数组件都是AWT...
    在Swing中不但用轻量级的组件替代了AWT中的重量级的组件,而且Swing的替代组件中都包含有一些其他的特性。例如,Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本。Swing中的大多数组件都是AWT组件名前面加了一个"J"。 

    7.2.1 组件的分类 
     Jcomponent是一个抽象类,用于定义所有子类组件的一般方法,其类层次结构如下所示: 

       java.lang.Object 
            
           +--java.awt.Component 
                 
                +--java.awt.Container 
                    
                    +--javax.swing.JComponent 

      并不是所有的Swing组件都继承于JComponent类,JComponent类继承于Container类,所以凡是此类的组件都可作为容器使用。 
      组件从功能上分可分为: 

     1) 顶层容器:JFrame,JApplet,JDialog,JWindow共4个 
     2) 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar  
     3) 特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane. 
     4) 基本控件:实现人际交互的组件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。 
     5) 不可编辑信息的显示:向用户显示不可编辑信息的组件,例如JLabel, JProgressBar, ToolTip。 
     6) 可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea 
    JComponent类的特殊功能又分为: 1) 边框设置:使用setBorder()方法可以设置组件外围的边框,使用一个EmptyBorder对象能在组件周围留出空白。 2) 双缓冲区:使用双缓冲技术能改进频繁变化的组件的显示效果。与AWT组件不同,JComponent组件默认双缓冲区,不必自己重写代码。如果想关闭双缓冲区,可以在组件上施加setDoubleBuffered(false)方法。 3) 提示信息:使用setTooltipText()方法,为组件设置对用户有帮助的提示信息。4) 键盘导航:使用registerKeyboardAction( ) 方法,能使用户用键盘代替鼠标来驱动组件。JComponent类的子类AbstractButton还提供了便利的方法--用setMnemonic( )方法指明一个字符,通过这个字符和一个当前L&F的特殊修饰共同激活按钮动作。 5) 可插入L&F:每个Jcomponent对象有一个相应的ComponentUI对象,为它完成所有的绘画、事件处理、决定尺寸大小等工作。 ComponentUI对象依赖当前使用的L&F,用UIManager.setLookAndFeel( )方法可以设置需要的 6) 支持布局:通过设置组件最大、最小、推荐尺寸的方法和设置X、Y对齐参数值的方法能指定布局管理器的约束条件,为布局提供支持。 

    7.2.2 使用Swing的基本规则 
      与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(content pane)上。内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件。基本规则如下: 
      (1)把Swing组件放入一个顶层Swing容器的内容面板上 
      (2)避免使用非Swing的重量级组件。 对JFrame添加组件有两种方式: 
      1) 用getContentPane( )方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)J 
      2) 建立一个Jpanel或 JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板: 
        Jpanel contentPane=new Jpanel( ); 
      ……//把其它组件添加到Jpanel中; 
        frame.setContentPane(contentPane); J 
        //把contentPane对象设置成为frame的内容面板
     
    7.2.3 各种容器面板和组件 

     根面板由一个玻璃面板(glassPane)、一个内容面板(contentPane)和一个可选择的菜单条(JMenuBar)组成,而内容面板和可选择的菜单条放在同一分层。玻璃面板是完全透明的,缺省值为不可见,为接收鼠标事件和在所有组件上绘图提供方便。 

     根面板提供的方法: 
      Container getContentPane(); //获得内容面板 
      setContentPane(Container); //设置内容面 
      JMenuBar getMenuBar( ); //活动菜单条 
      setMenuBar(JMenuBar); //设置菜单条 
      JLayeredPane getLayeredPane(); //获得分层面板 
     setLayeredPane(JLayeredPane); //设置分层面板 
     Component getGlassPane(); //获得玻璃面板 
      setGlassPane(Component); //设置玻璃面板 

    7.2.3.2 分层面板(JLayeredPane) 

     Swing提供两种分层面板:JlayeredPane和JDesktopPane。 JDesktopPane是JLayeredPane的子类,专门为容纳内部框架(JInternalFrame)而设置。 
     向一个分层面板种添加组件,需要说明将其加入哪一层,指明组件在该层中的位置:add(Component c, Integer Layer, int position)。 

    m7.2.3.3 面板(JPanel) 
      面板(JPanel)是一个轻量容器组件,用法与Panel相同,用于容纳界面元素,以便在布局管理器的设置下可容纳更多的组件,实现容器的嵌套。Jpanel, JscrollPane, JsplitPane, JinteralFrame都属于常用的中间容器,是轻量组件。Jpanel的缺省布局管理器是FlowLayout。 

    java.lang.Object 

       +--java.awt.Component 

             +--java.awt.Container 

                 +--javax.swing.JComponent 
                      | 
                      +--javax.swing.JPanel 

    7.2.3.4 滚动窗口(JScrollPane) 


      JscrollPane是带滚动条的面板,主要是通过移动JViewport(视口)来实现的。JViewport是一种特殊的对象,用于查看基层组件,滚动条实际就是沿着组件移动视口,同时描绘出它在下面"看到"的内容。 

    7.2.3.5 分隔板(JSplitPane) 

     java.lang.Object 
         | 
         +--java.awt.Component 
             | 
            +--java.awt.Container 
                 | 
                +--javax.swing.JComponent 

                      +--javax.swing.JSplitPane 


     JSplitPane提供可拆分窗口,支持水平拆分和垂直拆分并带有滑动条。常用方法有: 
      addImpl(Component comp,Object constraints,int index)//增加指定的组件 
      setTopComponent(Component comp) //设置顶部的组件 
      setDividerSize(int newSize) //设置拆分的大小 
      setUI(SplitPaneUI ui) //设置外观和感觉 

    7.2.3.6 选项板(JTabbedPane)] 

      JTabbedPane提供一组可供用户选择的带有标签或图标的开关键。常用方法: 
      add(String title,Component component) //增加一个带特定标签的组件 
    o \{ y0S5^6|*n  addChangeListener(ChangeListener l) //选项板注册一个变化监听器 

    7.2.3.7 工具栏(JToolBar) 


                    工具栏在左上角 

         
                   工具栏在右侧 
     JtoolBar是用于显示常用工具控件的容器。用户可以拖拽出一个独立的可显示工具控件的窗口。 
      常用方法有: 

           getComponentIndex(Component c) //返回一个组件的序号 
           getComponentAtIndex(int i) //得到一个指定序号的组件 
    7.2.3.8 内部框架(JInternalFrame) 
     内部框架JInternalFrame就如同一个窗口在另一个窗口内部,其特点如下: 
     1) 必须把内部框架添加到一个容器中(通常为JDesktopPane),否则不显示; 
      2) 不必调用show()或setVisible()方法,内部框架随所在的容器一起显示; 
     3) 必须用setSize()或pack()或setBounds方法设置框架尺寸,否则尺寸为零,框架不能显示; 
     4) 可以用setLocation()或setBounds( ) 方法设置内部框架在容器中的位置,缺省值为0,0,即容器的左上角; 
     5) 象顶层JFrame一样,对内部框架添加组件也要加在它的内容面板上; 
     6) 在内部框架中建立对话框,不能使用JDialog作为顶层窗口,必须用JOptionPane或JInternalFrame; 
     7) 内部框架不能监听窗口事件,可以通过监听与窗口事件类似的内部框架(JInternalFrameEvent)处理内部框架窗口的操作。 

     JFrame frame=new JFrame("InternalFrameDemo"); //实例化窗口 
      JDesktopPane desktop=new JDesktopPane(); //实例化容器JDesktopPane 
      MyInternalFrame myframe=new MyInternalFrame(); //实例化内部窗口 
      desktop.add(myframe); //把内部窗口添加到容器中 
     myframe.setSelected(true); //内部面板是可选择的 
     frame.setContentPane(desktop); //把desktop设为frame的内容面板 

    7.2.3.9 按钮(JButton) 

      按钮是一个常用组件,按钮可以带标签或图象。      

      java.lang.Object 

         +--java.awt.Component 
            | 
            +--java.awt.Container 
                 | 
               +--javax.swing.JComponent 

                       +--javax.swing.AbstractButton 

                            +--javax.swing.JButton 

      常用的构造方法有: 
      JButton(Icon icon) //按钮上显示图标 
      JButton(String text) //按钮上显示字符 
     JButton(String text, Icon icon) //按钮上既显示图标又显示字符 

    例7.2 
      public class ButtonDemo extends Jpanel implements ActionListener{ 
       JButton b1,b2,b3; 
        public ButtonDemo() { 
          super(); 
           ImageIcon leftButtonIcon=new ImageIcon("images/right.gif); 
                       //显示在左按钮上的图标 
          ImageIcon middleButtonIcon=new ImageIcon("images/middle.gif); 
                        //显示在中间按钮上的图标 
           ImageIcon middleButtonIcon=new ImageIcon("images/left.gif); 
                        //显示在右按钮上的图标 
           b1=new JButton("Disable middle button",leftButtonIcon); 
                       //按钮b1上同时显示文字和图标 
          b1.setVerticalTextPosition(AbstractButton.CENTER); 
                  //按钮b1上的文字在垂直方向上是居中对齐JAVA中文站社区 
           b1.setHorizontalTextPosition(AbstractButton.LEFT); 
               //按钮b1上的文字在水平居方向上是居左对齐 
           b1.setMnemonic('d');  //设置按钮b1的替代的键盘 
           b1.setActionCommand("diaable"); 
    复选框提供简单的"on/off"开关,旁边显示文本标签。 
    7.2.3.11 单选框(JRadioButto 
    单选框JRadioButton与AWT中的复选框组功能类似。 

    7.2.3.12 选择框(JComboBox) 

    JComboBox每次只能选择其中的一项,但是可编辑每项的内容,而且每项的内容可以是任意类,而不再局限于String。如图 

    7.2.3.13 文件选择器(JFileChooser) 
    JFileChooser内建有"打开","存储"两种对话框,还可以自己定义其他种类的对话框。 

    7.2.3.14 标签(JLabel) 
    提供可带图形的标签  

    7.2.3.15 列表(List) 
    适用于数量较多的选项以列表形式显示,里面的项目可以由任意类型对象构成。支持单选和多选。如图 

    7.2.3.16 菜单(JMenu) 

    JMenu与AWT的菜单Menu的不同之处是它可以通过setJMenuBar(menubar)将菜单放置到容器中的任意地方 

    7.2.3.17 进程条(JProgressBar) 

    进程条是提供一个直观的图形化的进度描述,从"空"到"满"的过程。 

    7.2.3.18 滑动条(JSlider) 
    滑动条使得用户能够通过一个滑块的来回移动来输入数据。如
    展开全文
  • 在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。 作为请求处理的主要组件,它接收Connector传入请求的对象以及输出相应结果。它主要功能是将传入请求委托给...

    1.Container 组件

    Container用于封装和管理Servlet,以及具体处理Request请求;包含4大请求处理组件:引擎(engine)、虚拟主机、上下文(context)组件。
    Container是容器的父接口,用于封装和管理Servlet,以及具体处理Request请求,该容器的设计用的是典型的责任链的设计模式,它由四个自容器组件构成,分别是Engine、Host、Context、Wrapper。这四个组件是负责关系,存在包含关系。只包含一个引擎。

    2.Engine组件

    引擎表示可运行的Catalina的servlet引擎实例,并且包含了servlet容器的核心功能。在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。
    在这里插入图片描述
    作为请求处理的主要组件,它接收Connector传入请求的对象以及输出相应结果。它主要功能是将传入请求委托给适当的虚拟主机处理。如果根据名称没有找到可处理的虚拟主机,那么将根据默认的Host来判断该由哪个虚拟主机处理。
    引擎通是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。
    Engine元素表示与特定的Catalina服务相关联的整个请求处理机器。它接收并处理来自一个或多个连接器的所有请求,并将完成的响应返回给连接器,以便最终传输回客户端。

    <Engine name=”Catalina” defaultHost=”localhost”>
    

    defaultHost: 默认主机名,用于标识将处理指向此服务器上主机名称但未在此配置文件中配置的请求的主机。这个名字必须匹配其中一个嵌套的主机元素的名字属性。
    name: 此引擎的逻辑名称,用于日志和错误消息。在同一服务器中使用多个服务元素时,每个引擎必须分配一个唯一的名称。

    ————Blueicex 2020/2/28 12:35 blueice1980@126.com

    展开全文
  • 需要引入React的Component组件,这是前提要素,里面包含着构造函数和对页面的渲染,在构造函数一定不能忘记加上super(),表示继承父组件,在render的熏染,return返回的内容只能有一个大的容器,将其他部分...

    1.使用类(class)创建组件

    2.使用函数(function)创建组件;

    3.ES5的原生的Js来实现的React组件

    使用类(class)创建组件:

    创建Test的类组件时,需要引入React的Component组件,这是前提要素,里面包含着构造函数和对页面的渲染,在构造函数中一定不能忘记加上super(),表示继承父组件,在render的熏染中,return返回的内容只能有一个大的容器,将其他部分全部包裹进去

    class Test extends React.Component{
        constructor(){
            super();
        }
        render() {
            return(
    ​            <div style={{color:"white",background:"black"}}>这是使用class创建的导航条</div>
    ​        )
    ​    }
    
    }

    使用函数(function)创建组件:

    该函数是一个有效的React组件,它接收一个单一的“props”对象并返回了一个React元素。我们之所以称这种类型的组件为函数定义组件,是因为从字面上来看,它就是一个JavaScript函数。

    const Test2 =function () {
        return(
           <div style={{color:"white",background:"pink"}}>这是使用function创建的导航条</div>
        )
    };

    二者之间的区别:第一种是类,它继承了react的Component,可以实现很多的属性和方法,用function创建组件仅仅有个渲染的功能,是一个特别简单的组件,简单的只能渲染,其他的都做不了,或者是挂个监听器。严格意义上讲并不是一段组件,是渲染内容的一段函数。

    es5原生方式React.createClass定义的组件

    React.createClass是react刚开始推荐的创建组件的方式,这是ES5的原生的JavaScript来实现的React组件,其形式如下:

    <div id="example"></div>
    <script type="text/babel">
    var HelloMessage = React.createClass({
        render: function() {
            return <h1>Hello {this.props.name}</h1>;
        }
    });
    ReactDOM.render(
        <HelloMessage name="John" />,
        document.getElementById('example')
    )

    以上是ES5的原生的JavaScript来实现的React组件

    展开全文
  • 只能包含一个child:,支持配置 padding,margin,color,宽高,decoration(一般配置边框和阴影)等配置,在 Flutter ,不是所有的控件都 宽高、padding、margin、color 等属性,所以才会 Padding、Center 等 ...
  • Morn里面,容器和其他普通组件不同,无需皮肤,所以也不能从组件树种拖动创建(Tab,RadioGroup例外),只能转换而来 Morn的容器组件主要Box,...1.选择要被包含容器中的对象,比如我选择了一个label和bu...
  • 7.1. ScrollView (滚动视图) ...可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的滚动视图指的就是提供一个专门 的容器,这个容器里面可以装下多于屏幕宽度的组件,而后采用拖拽的方式显示所有在Sc...
  • 12) 在容器中运行命令。4.3. Proxy Proxy是为了解决外部网络能够访问跨机器集群中容器提供的应用服务而设计的,从上图3-3可知Proxy服务也运行在每个Minion上。Proxy提供TCP/UDP sockets的proxy,每创建一种Service...
  • 其依赖的 react-components 组件组件以 rc 开头,不过这个项目没有进行集中管理。 <p>Material-UI、 React-UI 采用集中式管理等等。 但是集中管理一些弊端。 - 引用默认是载入全部,虽然可以...
  • Server元素:是整个server.xml文件的根元素...Service元素:对外提供服务,可以包含多个Connector,但是只能包含一个Engine,Connector的作用是接收外部的请求,Engine的作用是处理请求。 Connector元素:接收连接请求...
  • 滚动视图的使用形式与各个布局管理器的操作形式类似,唯一不同的是,所有的布局管理器之,可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的视图指的就是提供一个专门的容器,这个容器里面可以装下多于...
  • 并排式界面的实现的核心组件就是SwipeView。SwipeView由一组页面填充...PageIndicator是包含多个页面的容器,并显示当前活动的页面。PageIndicator由呈现页面的代理项组成。PageIndicator的UI显示就是这样的 示例.
  • Java的知识点的回顾:

    2018-04-13 21:55:00
    每个区域最多只能包含一个组件;2.Flowlayout 这个按照上面横排布局,流布局用于安排向流组件,这非常类似于段落的文本行;3.Gridlayout 它以矩形网格形式对容器组件进行布置。容器被分成大小相等的矩形,...
  • Tomcat架构(二)

    2015-02-15 17:29:11
    5、容器组件 这一小节中我们将讨论请求处理组件:引擎(engine...在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。 作为请求处理的主要组件,它接收代表...
  • 但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 24、...
  • Tomcat架构(二)

    2015-02-25 13:02:00
    5、容器组件 这一小节中我们将讨论请求处理组件:引擎...在一个服务中只能有一个引擎。同时,作为一个真正的容器,Engine元素之下可以包含一个或多个虚拟主机。 作为请求处理的主要组件,它接收代表传入请求的对...
  • Tomcat详解(转)

    2011-03-24 09:36:00
    Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中。... 顶层类元素:一个配置文件中只能有一个元素,可包含多个
  • tomcat处理一个请求的过程

    千次阅读 2017-07-16 22:32:50
    首先,tomcat是一个基于组件的服务器,它的构成组件都是...其配置文件结构如下:顶层类元素:一个配置文件中只能有一个元素,可包含多个Service。 顶层类元素:本身不是容器,可包含一个Engine,多个Connector。 连接
  • 2.0Swing组件容器 在Swing不但用轻量级的组件替代了AWT的重量级的组件,而且Swing的替代组件中都包含有一些其他的特性。例如,Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本。Swing的...
  • swing 3

    2009-05-07 11:06:00
    7.2 Swing组件容器 在Swing不但用轻量级的组件替代了AWT的重量级的组件,而且Swing的替代组件中都包含有一些其他的特性。例如,Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本。Swing...
  • JAVA教程 第七讲 Swing用户界面设计(3)

    千次阅读 2007-08-29 14:01:00
    7.2 Swing组件容器 在Swing不但用轻量级的组件替代了AWT的重量级的组件,而且Swing的替代组件中都包含有一些其他的特性。例如,Swing的按钮和标签可显示图标和文本,而AWT的按钮和标签只能显示文本。Swing...
  • 流动视图ScrollView

    2015-10-29 11:50:31
    滚动视图的使用形式与各个布局管理器的操作形式类似,唯一不同的是,所有的布局管理器之,可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的视图指的就是提供一个专门的容器,这个容器里面可以装下多于...
  • 滚动视图的使用形式与各个布局管理器的操作形式类似,唯一不同的是,所有的布局管理器之,可以包含多个组件,而滚动视图里只能有一个组件,所以所谓的视图指的就是提供一个专门的容器,这个容器里面可以装下多于...
  • 一个React Native应用中只能存在一个responder 正因为如此,gesture responder system中才存在_reject和_terminate方法。React Native事件响应的基本步骤如下: 1. 用户通过触摸或者滑动来“激活”某个...
  • Tomcat如何处理一个HTTP请求的过程?

    千次阅读 2014-05-21 21:42:53
    Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,Tomcat的各个组件是在\conf\... 顶层类元素:一个配置文件中只能有一个元素,可包含多个Service。  顶层类元素:本身不是容器,可包含一个Engine,多个Con

空空如也

空空如也

1 2 3 4
收藏数 65
精华内容 26
关键字:

容器中只能包含有组件