Tomcat 啟動兩次的問題(ServletContextListener的contextInitialized被執行兩次的問題)
問題:
在啟動 tomcat5 時,控制檯視窗會打印出兩行“hello word”字串?
問題原因:
因為hello應用本來就放在Tomat的預設webapp目錄下(tomcat在啟動時肯定會載入1次),然後又在server.xml中做了配置,為了達到訪問根就可以訪問hello應用(這樣tomcat就又載入1次);結果,Tomcat就會載入兩次。
解決辦法:
辦法1、不要將 hello 應用放在Tomat的預設webapp目錄下,把它移出去,然後在server.xml中修改docBase的值為hello應用在新位置的絕對路徑就可以了;
辦法2、刪除掉server.xml中 Context 的手動配置,這樣就不會載入兩次,因為hello應用在webapp下,所以在訪問時,就只能是: 這樣來訪問了。
相關推薦
Tomcat 啟動兩次的問題(ServletContextListener的contextInitialized被執行兩次的問題)
問題: 在啟動 tomcat5 時,控制檯視窗會打印出兩行“hello word”字串? 問題原因: 因為hello應用本來就放在Tomat的預設webapp目錄下(tomcat在啟動時肯定會載入1次),然後又在server.xml中做了配置,為了達到訪問根就可以訪問hello應用
tomcat下的一個類被載入兩次
tomcat部署的專案,有個類執行了兩次,剛好是定時任務,這是非常嚴重的! 解決辦法: 在部署專案的時候配置檔案server.xml的host內容配置如下: tomcat 對一個 web 應用會有一個類載入器,在Host的appBase=“webapps“裡面配置了專案的路
thinkphp中方法被執行兩次
最近兩天程式碼中出現了一個問題,就是我的控制器的方法中執行了向資料庫插入,每次點開該頁面,add()方法就會被執行兩次,就是因為這個add方法讓我發現此方法被執行了兩次,因為每次點開該頁面,資料庫就會增加兩條記錄。
IOS viewDidLoad方法被執行兩次(viewDidLoad和loadView方法詳解)
為了搞清楚viewDidLoad、loadView等方法的用途和呼叫順序,寫了一個小demo,不料viewDidLoad方法被執行了兩次,模擬器也一直是黑屏。查看了這兩個方法的官方解釋後找到了錯誤原因和解決方法。 首先來看UIViewController.h檔
Java Web開發中,自定義過濾器被執行兩次的原因分析及解決辦法
本文出處:http://blog.csdn.net/chaijunkun/article/details/7646338,轉載請註明。由於本人不定期會整理相關博文,會對相應內容作出完善。因此強烈建議在原始出處檢視此文。 在Java Web開發過程中,我們可以使用過濾器和Sp
Quartz每次排程時被執行兩次
[關鍵字:重複執行、重複呼叫、每次執行兩次、執行2次]前言: 先說一下,專案背景。由於組內某成員在用Maven搭建專案時不規範,導致專案的名稱與實際訪問專案名稱不一致。在部署專案時,必需要配一下虛擬路徑,對映到那個專案所在目錄下去,才能正常訪問。舉個例子:專案名稱叫student-web,部署到Tomcat
Android多程序app中Application回撥onCreate()方法被執行多次分析及解決
最近工作中碰到一個問題,在優化app,使用DDMS檢視Application log過程中看到,app啟動了三個程序,一個主程序,兩個附帶的程序。如下圖可看到一個app啟動的三個程序。 自定義Application回撥方法onCreate()被執行了3次。開始不知是何原因。 相
static{}(即static塊),會在類被載入的時候執行且僅會被執行一次,一般用來初始化靜態變數和呼叫靜態方法
這裡是一個工具類,因為連線配置資訊只需要執行一次就行所以採用static塊 static塊會最先執行 package com.my.jedis; import java.io.IOException; import java.io.InputStream; import
spring專案啟動完成後,自動執行一次指定方法
背景 因為需要保證所有排程相關的依賴注入spring容器才建立所以定時排程任務,所以需要實現在Spring容器將所有的Bean都初始化完成之後才自動執行一次執行方法(建立一個排程任務) 實現 實現ApplicationListener介面,並實現 on
Linux部署下tomcat啟動是埠號被佔用問題解決方法(1)
問題描述 :在使用tomcat時,我使用的8082埠一直報錯,說該埠已經被佔用,相近的部署的工程8080,8081,8083都可以正常啟動。但是該服務在30分鐘前還是能夠使用的,在工程中添加了程式碼就不能使用該埠了,後來嘗試了其他埠,仍然提示被佔用,總結來說就
ssh專案啟動完成後,自動執行一次需要程式
1.建立一個類存放自動執行的發放,如圖: 2.建立完成後,實現介面,實現方法,如圖: if語句裡面就是要執行的方法 3.在spring配置檔案applicationContext.xml裡面新增 <bean class="com.jandar.netcrime.ca
tomcat啟動後讓servlet一直執行
.1.web.xml 中設定servlet為<load-on-startup>1</load-on-startup> <?xmlversion="1.0"encoding="UTF-8"?> <web-appversion=
Tomcat啟動真正完成後,執行方法
本文主要介紹Tomcat啟動真正完成後(即在eclipse的控制檯上出現類似於Server started in 2300ms這樣的訊息後)執行一個操作。 如下的3種方法都是在Tomcat啟動過程中執行的,這樣會影響Tomcat的啟動時間,從而造成Tomcat不能啟動成功
RadioGroup呼叫check(id)方法時,onCheckedChanged方法被執行多次解決辦法
RadioGroup bottomMenuBar = (RadioGroup) findViewById(R.id.bottomMenuBar); bottomMenuBar.setOnCheckedChangeListener(this); bottomMenuBar.c
利用命令列解決Tomcat啟動時8080埠被佔用的問題
當我們部署專案到Tomcat的時候,通常會遇到專案部署失敗而重啟MyEclipse,然而當我們再次部署專案到Tomcat上的時候,我們會發現8080埠已經被佔用了,這個時候我們應該怎麼處理呢? 我們可以利用命令列,將佔用8080埠的程序關閉。 一、win+R,開啟cmd 二、在命令列裡輸入
解決tomcat啟動時8080埠被佔用問題
問題 相信很多人會遇到這種問題:在執行tomcat的時候, 宕機了,然後重啟Eclipse後再次啟動Tomcat的時發現起不來了,並且報以下錯誤: Several ports (8005, 8080
I/O定時器_3秒執行一次_1秒執行一次
#include <windows.h> #include <stdio.h> //使用CTL_CODE必須加入winioctl.h #include <winioctl.h> #include "..\IO定時器\Ioctls.h" i
tomcat中的quartz定時任務每次都被執行了兩次
這兩天發現部署到tomcat中的quartz定時任務每回都被執行了兩次,但是在myeclipse執行時又不會,後來搜了網上,才發現該問題只發生於部署在tomcat伺服器上,由tomcat的自啟動導致。 導致該問題的原因是你的tomcat的conf目錄中的server.xm
Tomcat啟動時項目重復加載,導致資源初始化兩次的問題
n) water term clas pps webapps eclips jsb nts 最近在項目開發測試的時候,發現Tomcat啟動時項目重復加載,導致資源初始化兩次的問題 導致該問題的原因: 如下圖:在Eclipse中將Server Locations設置為“Us
Tomcat啟動時項目重復加載,導致資源初始化兩次!
ati 解決 class onf dep alt doc ack div 一、現象: 每次啟動Tomcat 的時候,工程會被加載兩次 二、原因: 在tomcat/conf/server.xml配置虛擬目錄引起,如下配置: 我們在Host標簽裏配置了appBase="w