论坛首页 Java企业应用论坛

Portal 学习- 分析Jetspeed2 (2)

浏览 2506 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-02-15   最后修改:2008-11-24
接下来就是一边想,一边看源码了。我看的代码是Jetspeed2.1.3。

直接看web.xml
  <servlet>
    <servlet-name>jetspeed</servlet-name>
    <servlet-class>org.apache.jetspeed.engine.JetspeedServlet</servlet-class>
    <init-param>
      <param-name>properties</param-name>
      <param-value>/WEB-INF/conf/jetspeed.properties</param-value>
    </init-param>
    <init-param>
      <param-name>applicationRoot</param-name>
      <param-value>webContext</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
还有其他的几个Servlet,暂时先不看了,这个Servlet应该就是最主要的Servlet了,看代码吧。JetspeedServelt.java标准Servlet对象,
而且这个Servlet对象实现了HttpSessionListener接口。
所以就是init,doGet,doPost,destroy,sessionCreated,sessionDestroyed函数了。

init函数:
创建了JetspeedEngie对象,同时engine.start()启动这个Engine对象。
通过这个对象把Servlet对于Porlet的处理功能进行了 委托。符合OO的概念:)
这里有个要强调的JetSpeed2使用Spring作为IoC,AoP的框架,所以在Init函数中初始化了SpringComponentManager对象,Jetspeed2中的关键对象都是通过IoC的方式进行创建的。这个我们在看代码的时候要注意。

初始化时的流程图



doGet/doPost函数:
没有什么特别的,把Servlet的Request,Response和ServletConfig对象封装成ReqeustContext对象,然后交给engine对象处理。
engine.service(context).
处理完后清除相应的资源。Servlet处理完成。

destory函数:

  engine.shutdown() 停止服务

sessionCreated/sessionDestroyed函数:
在HttpSession的基础上对Portal的Session进行管理。












论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics