关于容器

因为j2ee实在是太繁杂了,这里我只关注容器、servelt、jsp相关的内容。

当用户通过Url访问我们的网络资源的时候。有很多工作需要进行,比如判断调用哪一个servelt,调用对应servelt的service方法等等,
这些操作就都是容器来实现的。

容器是j2ee的一种组件,包括了web 容器和ejb容器,web容器主要提供了如下的功能:

  • 对通讯的支持。 有了容器我们就不需要创建Socekt来跟web server进行交互了,能够更加关注于业务代码。
  • 生命周期管理,管理servlet的生命周期,加载,创建,初始化,方法调用。
  • 多线程的支持,给每个request创建一个线程。
  • JSP的支持,能够把jsp翻译成servelt。


下面来看一下,容器是怎样处理一个请求的。

  • 用户通过url访问一个servelt。
  • 容器发现这个请求,于是创建两个对象HttpServeltRequest,..Response.
  • 根据request中包含的url信息判断调用的servelt。然后为这个请求创建一个servelt线程,把request和response对象做为参数传入。
  • 调用servelt的service方法,在根据request中的Method信息调用对应的doGet或者是doPost方法。
  • 在doGet或者是doPost方法中往response中写入html
  • 然后容器会把HTML信息返回给web server。然后servelt线程终止,回收request,response对象。


容器要想管理servelt首先必须得知道用户请求的是哪一个servelt。这个主要是通过在部署描述符也就是web.xml文件中定义的。
一个servelt在DD中的样子就是:

  • servelt-name        部署描述名称
  • servelt-class        对应的class文件
  • load-on-startup    启动优先级,随服务器启动,越小优先级越高。正数才有效。
  • url-pattern        url访问的名字。
  • 用户在客户端使用url-pattern中定义的名称,然后通过servelt-name关联找到对应的servelt。
  • 使用DD而不是直接用文件的名称,能够增加灵活性,不需要在服务器中文件结构发生变化的时候通知客户端更改访问的url。还能够屏蔽服务器中的文件结构,更加的安全。


对于容器管理servelt的声明周期和解释JSP文件的表现放在servelt和JSP的中进行说明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值