當前位置:首頁 » 網頁前端 » web項目熱部署
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web項目熱部署

發布時間: 2022-05-05 06:58:00

『壹』 Python的web項目如何進行動態重載和熱部署

真正意義上的代碼熱部署應該是類似erlang那樣的,將代碼更新到節點後不停服務,不斷連接的自動應用新代碼。auto reload什麼的還是會造成業務瞬間中斷。我感覺是可以從wsgi容器級別上實現,比如更新代碼後檢測到文件變更,然後通知容器創建新的wsgi application的實例,之後所有新的請求都發送到新的wdgi application實例上。等舊wsgi application實例的最後一個請求返回後就將其回收掉。不過貌似沒有看到類似的實現

『貳』 關於web項目要重新部署並重啟tomcat生效的問題

你這個「項目裡面已經有客戶上傳的資源「這句話有點疑問,基本上資源都是放在磁碟上或資料庫裡面,重新部署一個新的版本應該保證數據能轉換過來而不是刪除它們讓用戶重新錄入,那麼我在想你這話話指的是當前用戶在使用時 session 會話中有些數據還在內存裡面,重啟會丟失,如果是這樣的話,基本上只有便宜的伺服器會碰到這個問題,因為商用的伺服器有一個功能叫」持久性會話「,在伺服器重啟時會把所有session的數據寫入到資料庫(有些伺服器會用一個嵌入式的資料庫比如derby或hsql來保存這個東西)或磁碟,重啟成功後會把它們恢復到內存里。對於很多不適合重啟的應用程序它們會想到使用 JSP而不是使用 Servlet。不過還是有很多網站本身是會停機的,只要事先發布公告並挑個使用者數量最少的深夜來做就行了。
從技術上講,session 對於用戶來說,他僅僅有一個 session ID 而已,其它所有東西都在伺服器上,重啟後用戶刷新瀏覽器,那個 session id 對應的數據依然能拿到手。那麼只要伺服器上的東西放在session中的都寫入到資料庫(因為這樣可以加密,防止他人偷看或復制),重啟後恢復到內存中,所有東西都正常了。我們不應該假設所有在內存裡面的東西都能恢復。

因此我們想到了很多 API 對於想放入 session 的東西都要求實現 java.io.Serializable 介面的原因也就在這里,另外對於需要支持集群功能的伺服器也是這樣的,因為 session 數據需要在多台伺服器之間復制。

『叄』 怎麼在linux下用tomcat部署java web項目

1。安裝tomcat
2。將web項目打成war包
3。將war包放到tomcat指定目錄
當然 每一步可能涉及好多細節,需要你read the fuck manual
當然我的回答可能你不採納,但是我認為其他 人的回答完全是 垃圾

『肆』 eclipse下web項目jsp不能熱部署,我jrebel是啟動了的。java文件也不能熱部署

使用JRebel Eclipse插件之後,在項目中使用JRebel基本是零配置的–在項目中選擇JRebel->Add JRebel Nature就可以了。JRebel的核心配置文件是rebel.xml,這在最新版的Eclipse插件里已經可以自動生成,無需配置。如果需要手工配置,可以選擇Advanced Properties,Generate XML,然後會生成rebel.xml到src/main/resouces目錄下。這里有兩個配置項,其中classpath對應編譯好的文件的位置,web對應源碼的位置,一般不需要更改。

[html] view plain
<classpath>
<dir name="${rebel.workspace.path}/webapp/target/classes">
</dir>
</classpath>

<web>
<link target="/">
<dir name="${rebel.workspace.path}/webapp/src/main/webapp">
</dir>
</link>
</web>

『伍』 如何把Http Preview變成熱部署

熱部署是指在你修改項目BUG的時候對JSP或JAVA類進行了修改在不重啟WEB伺服器前提下能讓修改生效。但是對配置文件的修改除外!

1、直接把項目web文件夾放在webapps里。

2、在tomcat\conf\server.xml中的<host></host>內部添加<context/>標簽:

<Context debug="0" docBase="D:\demo1\web" path="/demo1" privileged="true" reloadable="true"/>

docBase:項目路徑,可以使用絕對路徑或相對路徑,相對路徑是相對於webapps
path:訪問項目的路徑,如:http://127.0.0.1:8080/demo1
reloadable:是否自動載入新增或改變的class文件.
debug屬性與這個Engine關聯的Logger記錄的調試信息的詳細程度。數字越大,輸出越詳細。如果沒有指定,預設為0。 也就是程序異常時寫入日誌文件里的詳細程度。

3、第三種方式和第二種差不多,但是不是在Server.xml文件中添加Context標簽,而是在
%tomcat_home%\conf\Catalina\localhost中添加一個XML文件,
如:demo1.xml,內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\demo1\web" reloadable="true" />
,只是缺少了path屬性,如果你硬寫個path="demo2"的話,是沒有用的,tomcat不明確的告訴你:「我不認得」,
這種方式伺服器會使用xml文件的名字作為path屬性的名字,SO訪問地址為:http://localhost:8080/demo1

『陸』 idea jrebel怎麼熱部署

1.建立好Web項目
2. 將src\main目錄下的webapp復制到project目錄下(和src同級),改名為WebRoot.
2.進行設置File - Project Structure
(1) 設置Project compiler output 路徑
(2) 設置moles的代碼編譯輸出目錄. 點擊moles 設置右側 use mole compile output path
都是設置為project\WebRoot\WEB-INF\classes
點擊Apply,
注意: Exclude Output Paths 這個勾選的話,WEB-INF目錄下的classes目錄在IDEA裡面就會被隱藏起來.同時在旁邊Sources選項卡中,可以通過Exclude Folders設置要在IDEA中隱藏的目錄,比如WebRoot目錄
(3) 指定Web.xml和WebRoot的路徑. 點擊web,分別指定
Web Mole deployment descriptor 路徑為 project\WebRoot\WEB-INF\web.xml
和 Web Resource Directory的路徑 為 project\WebRoot
點擊Apply.

(4) 設置Artifacts 選中exploded 設置Output directory的路徑

『柒』 websphere 熱部署是什麼意思

在後台代碼進行更改後,需要再部署到websphere伺服器上,普通部署需要先關閉伺服器、部署、在啟動;熱部署就直接部署上去,方便很多

『捌』 java web熱部署的實現 ClassLoader

要做到熱部署的話,好像每個伺服器都有專門的設置,比如JBoss默認就是熱部署,Tomcat通過修改在server.xml中的配置可以做到熱部署

『玖』 java web伺服器熱部署問題

jboss
參考網路http://ke..com/view/309533.htm
作為開發平台來講,jboss穩定,快速,免費(遵循LGPL),支持集群,良好的兼容性、擴展性,少量磁碟空間佔用,目前比較成熟的ssh框架(JDK+JBoss+Struts2+Spring2+Hibernate3)即可在jboss平台上,依託myeclipse平台實現快速開發。
力薦。

『拾』 熱部署的釋義

所謂熱部署,就是在應用正在運行的時候升級軟體,卻不需要重新啟動應用。
對於Java應用程序來說,熱部署就是在運行時更新Java類文件。在基於Java的應用伺服器實現熱部署的過程中,類裝入器扮演著重要的角色。大多數基於Java的應用伺服器,包括EJB伺服器和Servlet容器,都支持熱部署。類裝入器不能重新裝入一個已經裝入的類,但只要使用一個新的類裝入器實例,就可以將類再次裝入一個正在運行的應用程序。
Tomcat的熱部署
Tomcat的熱部署(以後就不用重啟了)
沒有熱部署和有熱部署的開發效率是天差地別的。這個問題還受很多第三方軟體包(Struts,Spring,Hibernate)的限制。本來可以熱部署,加入了第三方的包就不可以了。所以,先說明詳細的軟體環境,和程序配置是非常必要的。
虛擬機:java version 1.5.0_06
Servlet Engine:Apache Tomcat/5.0.27
Eclipse:3.0.1
Myeclipse:3.8.3
應用程序情況:純正的servlet+jsp+javabean,資料庫連接使用JDBC-ODBC橋連接Access資料庫。沒有使用任何第三方軟體包,沒有使用Struts,Spring,Hibernate。WebRootWEB-INFlib下是空的。
配置方法:
ie登陸http://Tomcat所在的伺服器IP:8080/ -> 點超連接「Tomcat Administration」-> 輸入用戶名密碼登陸 ->在左側的功能樹中 -> Tomcat Server -> Service(Catalina) -> Host(localhost) -> Context(/要修改的web項目) ->右側新出現的頁面中 ->Reloadable設置為true -> Save按鈕 -> Commit Changes。
然後Tomcat日誌顯示:
debugging -- changes saved to conf/server.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:Program FilesTomcat 5.0confCatalinalocalhost est.xml
- Removing web application at context path /admin
- unregistering logger Catalina:type=Logger,path=/admin,host=localhost
- Processing Context configuration file URL file:D:Program FilesTomcat 5.0confCatalinalocalhostadmin.xml
- Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
- Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
- Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
- Removing web application at context path /webdav
- Processing Context configuration file URL file:D:Program FilesTomcat 5.0confCatalinalocalhostwebdav.xml
- Removing web application at context path /test
- Processing Context configuration file URL file:D:Program FilesTomcat 5.0confCatalinalocalhost est.xml
……
這樣,設置就生效了。
開發時,修改.java文件後,調用這個類時日誌提示:
- Reloading this Context has started
這是正在重新載入修改後的.class文件。
如果沒有進行這個設置,修改.java文件後,不拋出異常。系統使用沒有修改的.java文件繼續運行。
不同版本的Tomcat的配置方法是不同的。這里使用的是5.0.27
j2ee開發插件(這里使用Myeclipse),也可能導致熱部署失效。因為插件必須要把編譯好的.class文件從工作空間復制到Tomcatwebapps下的項目里。才能使Tomcat得到需要熱部署的文件。
注意:如果項目中加入了Struts,Hibernate,Spring之類的第三方軟體,可能導致熱部署失效。