接了一个外包项目开发,有微信前端和后台管理二套界面,为了方便,把2个系统放在了一个工程里面,但是前端开发技术方有了分歧,最后决定后台用velocity,微信用jsp,那么就需要修改一下spring-mvc的配置。
1、重写InternalResourceView方法,主要为了高级别的解析器解析不到的时候,抛给低级别的解析器。
package com.studio.core.access; import java.io.File; import java.util.Locale; import org.springframework.web.servlet.view.InternalResourceView; /** * 自定义视图解析(通过配置实现多视图整合,如jsp,velocity ) * @author liuhy * */ public class JspResourceView extends InternalResourceView { @Override public boolean checkResource(Locale locale) { System.out.println(this.getServletContext().getRealPath("/") +"++"+ getUrl()); File file = new File(this.getServletContext().getRealPath("/") + getUrl()); return file.exists();// 判断该页面是否存在 } }
2、order级别设置解析器的优先级,先按jsp解析,解析不到文件,在vm解析。
<bean id="velocityViewResolver" class="com.supply.network.melody.common.web.velocity.resolver.FixedVelocityLayoutViewResolver"> <property name="order" value="10" /> <property name="suffix" value=".vm" /> <property name="prefix" value="screen/" /> <property name="layoutUrl" value="layout/default_layout.vm" /> <property name="exposeSpringMacroHelpers" value="true" /> <property name="dateToolAttribute" value="dateTool" /> <property name="numberToolAttribute" value="numberTool" /> <property name="toolboxConfigLocation" value="WEB-INF/classes/conf/vm-toolbox.xml" /> <property name="contentType" value="${web.contentType}"></property> <property name="exposeRequestAttributes" value="true"></property> </bean> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="com.studio.core.access.JspResourceView"/> <property name="contentType" value="${web.contentType}"></property> <property name="order" value="1" /> <property name="prefix" value="/WEB-INF/views/front/" /> <property name="suffix" value=".jsp" /> </bean>
相关推荐
本篇文章将深入探讨如何在Spring中配置Freemarker视图解析器,以及如何配置多个视图解析器以实现更灵活的应用场景。 首先,让我们了解如何配置单个Freemarker视图解析器。在Spring的配置文件(如`...
本文将深入探讨如何在Spring中配置Quartz以实现多个定时任务。 首先,我们需要理解Quartz的基本概念。Quartz是一个开源的工作调度框架,它允许应用程序定义作业(Jobs)和触发器(Triggers),以在指定的时间执行...
1. **配置多数据源**:Spring Boot提供了DataSourceAutoConfiguration,它允许我们配置多个数据源。每个数据源可以有自己的配置,如JDBC连接池、数据库驱动、URL、用户名和密码等。我们可以使用@...
在分布式环境中,如果有多台服务器同时运行同一个Spring应用,可能会出现定时任务重复执行的问题。为解决此问题,可以采用以下策略: - 使用数据库存储`Trigger`信息,确保只有一个实例获取并执行任务。 - 使用...
集成了多个SpringBoot项目的SpringCloud项目,并且连接MySQL数据库成功的小Demo。需要进行系统开发可直接在这个基础上添加Controller和Service内容。下载前请先看项目的执行步骤及架构链接是否合适您使用:...
Spring框架包含多个模块,如Core Container、Data Access/Integration、Web、AOP、Instruments和Test等,这些模块提供了全面的解决方案。 在"Spring_3300_Registration_11"这个项目中,我们可以推测这是一个关于...
Spring Cloud Feign统一设置验证token实现方法解析 Spring Cloud Feign是一个基于Netflix的Feign组件,提供了一个简洁的方式来构建RESTful风格的微服务接口。Feign组件提供了一个统一的接口调用方式,使得微服务...
`concurrent` 属性设置为 `false` 表示同一 Job 不会并发执行。 #### 1.2 CronTrigger 配置 ```xml <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> * * * * ?"/> ``...
Quartz + spring简单配置多个任务调度 spring配置文件 简单配置
Spring的四个基础jar包,分别对应Spring核心容器的四个模块。 spring-core-4.3.6.RELEASE.jar spring-beans-4.3.6.RELEASE.jar spring-context-4.3.6.RELEASE.jar spring-expression-4.3.6.RELEASE.jar
在IT行业中,Spring框架是Java开发中的一个核心组件,它为构建企业级应用程序提供了全面的编程和配置模型。其中,Spring Mail模块是Spring框架的一部分,它简化了通过JavaMail API发送电子邮件的过程。本文将深入...
在许多实际项目中,我们可能需要连接并操作多个数据库,比如主从数据库、读写分离、不同环境的数据隔离等,这时就需要用到Spring的多数据源支持。 Spring多数据源允许我们在一个应用中同时管理多个数据库连接,通过...
Spring Boot 配置多个 RabbitMQ Spring Boot 是一个流行的 Java 框架,用于快速构建生产级别的应用程序。RabbitMQ 是一个消息队列中间件,用于实现异步消息处理和队列管理。配置多个 RabbitMQ 实例是为了提高系统的...
3. **定义作业(Job)和步骤(Step)**:一个作业由一个或多个步骤组成,每个步骤负责执行特定的数据处理任务。我们可以使用Spring的注解驱动模式,如`@JobConfiguration`和`@StepScope`,来定义作业和步骤。 4. **...
10. **更多模块**:Spring 3.0.5包含了多个模块的更新,例如`org.springframework.context-3.0.5.RELEASE.jar`包含了核心上下文模块,`org.springframework.web.servlet-3.0.5.RELEASE.jar`则是Web MVC模块,其他如`...
4. Spring Boot:为了简化Spring应用的起步,你可能还会了解到Spring Boot,它预配置了很多默认设置,让创建独立的、生产级别的应用变得简单。 通过实践这个例子,你不仅会理解Spring的基本用法,还能掌握如何在...
1. **配置Redis**:由于微服务架构中多个服务可能需要共享用户信息,因此使用Redis作为集中式的session存储是常见的选择。这样,用户在任一服务登录后,其认证状态可以在所有服务中同步。 2. **配置Spring Security...
Spring Quartz 是一个功能强大的任务调度框架,广泛应用于 Java 企业级应用程序中。其中一个重要的功能便是动态配置时间,触发相应的任务。在本文中,我们将讨论如何使用 Spring Quartz 实现动态配置时间,并提供了...
在Java开发中,Spring框架是广泛应用...同时,别忘了在Spring的配置文件中设置Redis的相关属性,如主机地址、端口、密码等,以便正确地初始化连接。通过这样的配置,你就可以在Spring框架下充分利用Redis的强大功能了。
这个压缩包文件"SpringCloud 15个完整例子"提供了一系列从基础到进阶的示例项目,帮助用户深入理解并实践SpringCloud的各项功能。以下是这些示例中可能涉及的关键知识点: 1. **Spring Cloud Eureka**:作为服务...