(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,如需转载请自行联系原作者

目录
相关文章
|
3天前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
41 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
|
11天前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。
|
1月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
73 7
|
8天前
|
存储 监控 数据可视化
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
|
2月前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
59 6
|
3月前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
2196 0
|
2月前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
115 0
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
2月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
115 7
|
3月前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
79 11
|
3月前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。