Portal 学习- 分析Jetspeed2 (2)

阅读更多
接下来就是一边想,一边看源码了。我看的代码是Jetspeed2.1.3。

直接看web.xml
 
    jetspeed
    org.apache.jetspeed.engine.JetspeedServlet
   
      properties
      /WEB-INF/conf/jetspeed.properties
   

   
      applicationRoot
      webContext
   

    1
 

还有其他的几个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的方式进行创建的。这个我们在看代码的时候要注意。

初始化时的流程图

Portal 学习- 分析Jetspeed2 (2)_第1张图片

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

destory函数:

  engine.shutdown() 停止服务

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












你可能感兴趣的:(Servlet,IOC,OO,Spring,AOP)