(Portal 开发读书笔记)Portlet中的Spring Web Application Context

简介:

 用一句话来说就是:

在Spring Portlet MVC 框架中,

每个Portlet都有一个相关的WebApplicationContext, 整个Portlet Application也有一个大的WebApplicationContext

 

对于Portlet级别的WebApplicationContext,

(1)它的配置文件名称必须是<portlet_name>-portlet.xml

(2)这个portlet_name 必须和portlet.xml中相应portlet的名称对应。

(3)这个配置文件必须放在 WEB-INF 目录下(默认),否则必须在portlet.xml中显式给出,通过配置 contextConfigLocation的值,这个值可以是多值,用逗号分隔

比如我要指定一个非默认位置,那么可以在portlet.xml中

 
 
  1. <portlet> 
  2. <portlet-name>helloWorld</portlet-name> 
  3. <portlet-class> 
  4. org.springframework.web.portlet.DispatcherPortlet 
  5. </portlet-class> 
  6. <init-param> 
  7. <name>contextConfigLocation</name> 
  8. <value>/WEB-INF/context/portlet/myContext.xml</value> 
  9. </init-param> 
  10. ... 
  11. </portlet> 

(4)这个配置文件仅仅对应的portlet可见,其中定义的bean也仅在对应的portlet可以访问,其他portlet不可以访问。

 

---

对于Portlet Application级别的WebApplicationContext

(1) 里面定义的bean可以被同一个应用下所有的Portlet所共享

(2) 这个配置文件中如果定义了bean的名称(id)如果和某个Portlet级别的配置文件中定义的bean的名称冲突,那么Portlet级别的会覆盖Portlet Application级别的bean.

(3) 每个Portlet级别的应用上下文会隐式的继承Portlet Application 级别的应用上下文

(4)这个文件必须默认放在WEB-INF目录下,并且默认位置是/WEB-INF/context/applicationContext.xml,可以在web.xml中指定其他位置:

 

 
 
  1. <context-param> 
  2. <param-name>contextConfigLocation</param-name> 
  3. <param-value>/WEB-INF/context/applicationContext.xml</param-value> 
  4. </context-param> 

(5)这个文件的读取者是ContextLoaderListener,所以必须在Portlet Application的web.xml中配置如下:

 
 
  1. <listener> 
  2. <listener-class> 
  3. org.springframework.web.context.ContextLoaderListener 
  4. </listener-class> 
  5. </listener> 

 

-- 总结如下

portlet.xml  平行的相当于 web.xml ,只不过前者配置了每个portlet,后者配置了整个portlet application





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/845121,如需转载请自行联系原作者

目录
相关文章
|
20天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
1月前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
29 7
|
6天前
|
JSON Java fastjson
Spring Boot 底层级探索系列 04 - Web 开发(2)
Spring Boot 底层级探索系列 04 - Web 开发(2)
15 0
|
6天前
|
安全 编译器 PHP
PHP 8.1版本发布:引领Web开发新潮流
PHP编程语言一直是Web开发的主力军,而最新发布的PHP 8.1版本则为开发者们带来了更多创新和便利。本文将介绍PHP 8.1版本的主要特性,包括更快的性能、新的语言功能和增强的安全性,以及如何利用这些功能来提升Web应用程序的质量和效率。
|
9天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
9天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
18天前
|
安全 前端开发 Java
Java Web开发知识点学习总结
Java Web开发涉及Java基础、Servlet、JSP、数据库操作(SQL+JDBC)、MVC设计模式、Spring框架、Hibernate ORM、Web服务(SOAP&RESTful)、安全认证(HTTP Basic/Digest/OAuth)及性能优化(缓存、异步、负载均衡)。
17 3
|
21天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
25天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
1月前
|
API
2024常用Web支付开发讲解教程
本教程为web支付开发,讲解了最常用的两钟支付:支付宝支付和微信支付,服务器配置和API对接,学完本课程可以学会微信支付、和支付宝支付开发。
18 2
2024常用Web支付开发讲解教程

热门文章

最新文章