`
GodJohnny
  • 浏览: 94110 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SpringMVC被初始化两次的问题

阅读更多
   项目部署到生产服上后,发现一个定时器任务的Bean在指定时间连续执行了两次。加日志调试发现这个Bean被初始化了两次,再进一步添加日志调试发现Web的启动类,也就是AbstractAnnotationConfigDispatcherServletInitializer的子类也被执行了两次。而在开发环境的IDE中测试时,则没有这种现象。于是怀疑是Tomcat的问题,但开发环境与生产环境的版本一致,只有开发环境中对Tomcat对根路径做了修改。
   参照:http://www.lxway.com/206659492.htm 提供的方法:
引用
方法1:不配置根路径访问
方法2:将路径已出webapp目录,在docBase中指定路径(可以是相对于webapp的路径,或者绝对路径)【推荐】
方法3:替换ROOT目录【推荐】
方法4:在conf/Catalina/localhost生成ROOT.xml,并加入如下内容:
 <?xml version='1.0' encoding='utf-8'?> 
 <Context docBase="xxx" path="" reloadable="true" /> 


按方法3,做了调整后,解决问题。
分享到:
评论

相关推荐

    springMvc定时器执行两次

    4. **Spring的初始化回调**:有时Spring的初始化回调机制会导致Job被触发两次,需要确保回调方法中对Job的调用是正确的。 5. **错误的Cron表达式**:检查`cronExpression`,确保它不会在同一时间点触发两次任务。 ...

    SSM-SpringMVC

    为了更好的使用 SpringMVC,我们将 SpringMVC 的使用过程总共分两个阶段来分析,分别是启动服务器初始化过程和单次请求过程。启动服务器初始化过程包括执行 ServletContainersInitConfig 类、初始化 web 容器、执行 ...

    SpringMVC+MyBatis整合框架

    1. **配置SpringMVC**:在`web.xml`中配置DispatcherServlet,设置其初始化参数以加载Spring的上下文配置文件。 2. **配置MyBatis**:在Spring的上下文配置文件中,配置SqlSessionFactoryBean,指定MyBatis的配置...

    SpringMVC 常用注解类视频详解

    11. `@InitBinder`:初始化数据绑定,可以对WebDataBinder进行配置,如设置日期格式、忽略某些字段等。 12. `@RequestParam/@PathVariable/@ModelAttribute`的集合注解如`@RequestParams`, `@PathVariables`, `@...

    SpringMVC+mybatis 增删改查,分页maven版

    在IT行业中,SpringMVC和MyBatis是两个非常重要的框架,它们经常被结合使用来构建企业级的Web应用程序。本项目聚焦于SpringMVC与MyBatis的整合,实现数据的增删改查(CRUD)功能,并且集成了分页功能,全部基于Maven...

    springMvc+myBatis

    3. **数据库脚本**:可能有创建表的SQL脚本,用于初始化Oracle数据库。 4. **Web部署**:可能包含web.xml文件,定义了DispatcherServlet的配置,以及其他Web相关的设置。 5. **测试**:可能有JUnit测试用例,用于...

    SSM-Spring02

    为了更好的使用 SpringMVC,我们将 SpringMVC 的使用过程总共分两个阶段来分析,分别是启动服务器初始化过程和单次请求过程。 启动服务器初始化过程 在启动服务器初始化过程中,会执行 ...

    WebUploader+SpringMVC实现文件上传功能

    同时,需要引入jQuery、Bootstrap和WebUploader自身的JavaScript库,以及`uploader_demo.js`,这个文件通常包含了WebUploader的初始化配置和事件处理函数。 前端页面中,一个典型的WebUploader实例化区域可以是这样...

    SSM-Spring01

    SpringMVC 的工作流程可以分为两个阶段:启动服务器初始化过程和单次请求过程。 1. 启动服务器初始化过程: * 执行 ServletContainersInitConfig 类,初始化 web 容器 * 执行 createServletApplicationContext ...

    浅谈SpringMVC中Interceptor和Filter区别

    5. 在action的生命周期里,Interceptor可以被多次调用,而Filter只能在容器初始化时调用一次。 6. Filter在过滤时只能对request和response进行操作,而Interceptor可以对request、response、handler、modelAndView、...

    详谈Servlet和Filter的区别以及两者在Struts2和Springmvc中的应用

    Filter的生命周期包括启动服务器时加载过滤器的实例,并调用init()方法来初始化实例;每一次请求时都只调用方法doFilter()进行处理;停止服务器时调用destroy()方法,销毁实例。Filter的职责包括在一个请求到达...

    MyBatisPlus

    SpringMVC的配置过程可以分为两个阶段,分别是启动服务器初始化过程和单次请求过程。在启动服务器初始化过程中,需要创建SpringMVC配置类(SpringMvcConfig),使用配置类替换web.xml(ServletContainersInitConfig...

    SpringMVC实现账号只能在一处登陆

    1. 创建一个内存数据类,用于存放静态的数据,并初始化: ```java public class MemoryData { private static Map, String&gt; sessionIDMap = new HashMap,String&gt;(); public static Map, String&gt; getSessionIDMap()...

    解决spring mvc 多数据源切换,不支持事务控制的问题

    -- 初始化连接大小 --&gt; &lt;!-- 连接池最大使用连接数量 --&gt; &lt;!-- 连接池最小空闲 --&gt; &lt;!-- 获取连接最大等待时间 --&gt; &lt;!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接 --&gt; ``` 在上面...

    京东面试问题

    - **Struts2** 使用的是 `filter`,它的初始化时间通常比 servlet 要早,因为 filter 在应用启动时就会被初始化。Struts2 的 Filter 拦截所有的 HTTP 请求,并决定是否将其交给 Struts2 处理。 **2. 性能** - **...

    javawebSpringMVC

    "three.sql"可能是数据库的初始化脚本,包含创建表、插入初始数据等操作。在项目启动时,通常会运行这些脚本来设置开发环境。这一步对于设置MyBatis的数据源和实体类映射至关重要。 **5. "redianxinwen"** ...

    spring学习之路(黑马课程笔记)

    工厂方式实例化是通过调用自定义的工厂方法对Bean进行实例化,包括静态工厂方法实例化和实例工厂方法实例化两种形式。 Bean的延迟加载 在Spring框架中,Bean的延迟加载是指在业务层等各种功能bean中使用延迟加载的...

    Java相关课程系列笔记之十五Spring学习笔记

    容器负责管理Bean的生命周期,创建、初始化、配置以及销毁Bean。 二、Spring容器的基本应用 2.1 将一个Bean组件交给Spring容器 通常,我们通过在Java类上使用@Component、@Service、@Repository、@Controller等...

    spring3.1 与 quartz 1.8.6 整合 所有jar

    最后,确保在Spring初始化时启动调度器: ```xml ``` 在`StartScheduler`类的`start`方法中,你可以调用`schedulerFactoryBean`的`getScheduler().start()`方法来启动调度。 **使用技巧** - 使用`@...

    自定义Spring核心功能项目源码

    我们可以通过实现`InitializingBean`接口的`afterPropertiesSet()`方法或使用`@PostConstruct`注解来定义初始化逻辑,通过`DisposableBean`接口的`destroy()`方法或`@PreDestroy`注解来定义销毁逻辑。 综上所述,这...

Global site tag (gtag.js) - Google Analytics