當前位置:首頁 » 雲伺服器 » mvc伺服器怎麼設置

mvc伺服器怎麼設置

發布時間: 2022-12-09 22:08:55

1. springmvc使用weblogic發布,怎麼配置

一般來說我們都是在應用程序裡面配置jdbc數據源,因為這樣可以脫離web伺服器的設置,比較容易移植,但是也有情況使我們必須使用web容器配置數據源,例如如果要用的多個資料庫時,在中間件中配置數據源就比較方便。
先講下如何在weblogic中配置數據源,以weblogic9.3.2為例。啟動weblogic,進入console頁面, 在左側Domain Structure面板選擇Services,然後選擇jdbc—-Data Sources,在這里將會顯示現有的所有數據源,點擊頁面左上角的Lock&Edit,然後點New來新建一個數據源,Name跟JNDI Name由用戶命名,一般用相同的,如test,Database Type則是選擇你要連接的資料庫類型,驅動會自己幫你選擇,一般不用做修改。接下來的,用戶都應該很熟悉,無非是ip地址,sid,用戶名密碼等。完成後將在DataSource列表裡看到剛新建的數據源,jndi name就是我們待會再Spring中要用到的。在數據源configuration–connection pool中可以配置連接池的初始大小,以及最大大小,以及每次增長長度。
在Spring中ApplicationContext.xml中配置如下,一個jndiTemplate,裡面可以設置一些屬性,這里就不再介紹, dataSource中主要寫對jndi的name就ok了,這樣這個dataSource就可用了。

2. springMVC的配置問題 求大神來幫幫忙,謝謝啦!

Spring配置

人們經常會在一台以上的主機上配置一種Web應用程序。例如,在生產中,一個網站可能只有一個實例。除了此實例外,開發人員可以在用於開發的機器上配置其他的(開發)實例。也可以在公司(機構)內部的本地開發伺服器上維護其他應用程序裝置,這將讓您受益匪淺。該實例的目的是使Web設計者可以獲得有質量保證的材料,並為需要為應用程序提供文件資料的人提供准入。

大家都知道,即使是最簡單的場景,也需要安裝、配置和維護三個實例。而對於位於不同地理位置的團隊來說,要從事這樣的項目便更加困難。對於任何不是特別簡單的Web應用程序項目,都需要多名開發人員來安裝項目裝置和本地設置以及運行單元測試的裝置等。

很多組織都將自己開發的產品作為Web應用程序。我們可以在很多產品中發現這種情況,例如電子商務系統、內容管理系統(CMS),以及博客發布平台等。這類產品可在多個伺服器中進行部署。對於成功的多用途Web應用程序來說,他們的開發人員必須要保證他們的應用程序便於安裝,並且能夠與其他Web應用程序完美集成。經過上述討論之後,我們應該明了,作為本文主題的應用程序配置是通用Web應用程序項目開發人員所需要解決的重要問題之一。

諸如CVS或Subversion之類的版本控制系統是開發組織使用的一種標准工具。這種工具代表了一些組織的中心源代碼版本庫,它們被用於保持源代碼的有序。用戶可以跟蹤應用程序源代碼的變化,顯示不同版本的區別,並可以確定項目分支。而且,它們使得在應用程序部署中進行部分更新成為可能。

很明顯,版本控制系統軟體是跟蹤源代碼所必需的,它對於解決應用程序配置問題有非常大的幫助。在本文中,我們將不會把重點放在版本控制系統上,因為這方面已經有很多相關的材料了。在此,我們將關注版本控制問題中的一個小話題:如何使Web應用程序的配置更加便捷(尤其是使用Spring
MVC框架編寫的Web應用程序)。

問題是:我們在此討論的是一種什麼樣的配置?任何Web應用程序都需要一些資源,這些資源通常都是其所運行的伺服器所特有的,例如資料庫URL、發送電子郵件的SMTP伺服器,以及包含專用軟體文件的文件夾等。這樣的設置應該集中,從而使應用程序配置更加簡單。

但是,這只是這個問題最簡單的一種版本。有時候,在應用程序開發中需要更加復雜的配置。這意味著,必須將各次部署中的不同Bean連接起來,而這會使問題更加復雜。

這些應用程序配置問題的解決方案有諸多優勢,包括:簡化應用程序的安裝和配置過程,使源代碼版本控制更加簡便,減少源代碼版本庫中的沖突現象。下面,我們將通過示例詳細討論這個話題。
問題。

我們首先來演示一下上文所提到的最簡單的版本。在這一場景中,我們希望在應用程序部署中改變的是簡單的配置參數,例如鏈接、密碼等。如果您曾經使用Spring
MVC框架開發過Web應用程序,那麼您應該知道這里將用到的兩個配置文件:

/WEB-INF/applicationContext.xml,它讓您可以配置Bean,或者顯示應用程序上下文。通過這個文件,您可以定義自己的業務邏輯Bean、資源以及其他可以與Web埠相關聯的所有Bean。

/WEB-INF/[servlet-name]-servlet.xml,它被用於配置Web層、視圖解析器、控制器、校驗器以及其他所有MVC框架中必需的Bean。[servlet-name]指的是在web.xml部署描述符中定義的Spring
dispatcher servlet的名稱。

那麼問題在哪兒呢?問題就出在applicationContext.xml中將包括一些特定於主機的Bean。本文將定義。其中,最明顯的一個示例就是包含了JDBC連接信息的bean,但是任何一種稍微復雜些的應用程序都有十幾個類似的Bean。看一下下面的示例:

<bean

class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property >
<value>org.postgresql.Driver</value>
</property>
<property >
</property>
<property >
<value>postgres</value>
</property>
<property >
<value></value>
</property>

</bean>
這個解決方案的問題在於對applicationContext.xml文件的維護。對於初學者來說,設想一下,項目放在源代碼版本控制系統中,例如CVS。下面,假設您希望在網站中添加新的功能,那麼就需要在應用程序上下文定義中添加額外的Bean定義。問題是如何在生產伺服器上體現這些改變。

通常情況下,應用程序的本地實例不會與活動站點使用同樣的資料庫,因此applicationContext.xml文件將包括讓您能夠訪問本地資料庫的設置。當您想提交在源代碼版本庫中的改變時,就需要注意這些特定於主機屬性的同步性。版本庫中的文件最終可能使用本地設置中的配置。如果想在生產伺服器上更新配置,就必須手動同步這些屬性的值。這是非常枯燥的任務,而且還非常容易出錯。

對於應用程序的每個實例來說,這個問題更加重要。假如有三位開發人員正在使用代碼段基址,而且他們使用的是本地的資料庫。當您提交更改的時候,他們每個人在本地伺服器上更新源代碼的時候都必須非常謹慎。他們會手動同步這些更改,然後提交他們的工作。這樣一來,版本控制系統對於這些配置文件來說已經毫無用處。如果曾經使用過Spring
MVC,那麼您應該知道applicationContext.xml是應用程序中的關鍵組件,因為是它將所有的東西粘合在一起。所以,我們需要一種機制來幫助使應用程序中各項保持有序,這點非常重要。

正如前面所提到的,這是您可能遇到的較簡單的配置問題。更難的問題出現在當需要在不同伺服器中進行不同的Bean連接的時候。這類問題常會出現在日常軟體開發任務中。例如,假如您的產品有一個客戶身份驗證模塊,可以對來自關系資料庫或LDAP伺服器中的用戶進行身份驗證。自然,這一身份驗證模塊可以使用抽象了特定版本庫的Bean進行配置。如果您想改變不同應用程序部署中驗證用戶的方式,就需要在applicationContext.xml文件中進行不同的Bean連接。這種配置問題常見於在部署中有可配置特性的所有應用程序。

在下文中,我們將討論這兩種配置問題。首先我們會關注同步的Bean屬性問題及其解決方案,接下來,我們會討論更加復雜的同步Bean連接問題。

解決方案

同步Bean屬性

這個問題的一種可行的解決方案是將所有特定於主機的參數都放到普通的java屬性文件中,使用Spring的PropertyPlaceHolderConfigurer類,將這些參數寫入Bean屬性中。

使用這一解決方案,我們可以生成如下的屬性文件(/WEB-INF/jdbc.properties):

jdbc.driver=org.postgresql.Driver

jdbc.url=jdbc:postgresql://localhost/test
jdbc.user=postgres

jdbc.password=

我們的Bean配置如下:

<bean

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property >
<value>/WEB-INF/jdbc.properties</value>
</property>
</bean>

<bean

class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property >
<value>${jdbc.driver}</value>
</property>
<property >
<value>${jdbc.url}</value>
</property>
<property >
<value>${jdbc.user}</value>
</property>
<property >
<value>${jdbc.password}</value>
</property>

</bean>
如上所述,我們定義了一個PropertyPlaceholderConfigurer類的實例,並將其位置屬性設置為我們的屬性文件。該類被實現為Bean工廠的後處理器,並將使用定義在文件中的屬性來代替所有的佔位符(${...}value)。

利用這種技術,我們可以從applicationContext.xml中移除所有特定於主機的配置屬性。通過這種方式,我們可以自由地為該文件添加新的Bean,而不必擔心特定於主機屬性的同步性。這樣可以簡化生產部署和維護。

同步性連接

上面的技術解決了第一個問題,可是如果您計劃修改不同應用程序部署之間的Bean連接,這一技術便不很適合。針對這一問題的一個解決方案便是額外創建一個名為applicationContext-[hostname].xml
的XML定義文件。其中[hostname]是部署應用程序的主機的名稱。例如,在本地的機器上,這個文件通常名為applicationContext-localhost.xml,而在部署時,它可能更名為applicationContext-somehost.com.xml。

可以猜測,這一文件必須包括特定於某一主機的所有配置Bean。在本文中,我們將假設dataSource
bean定義將位於這類文件中,而不是通用的applicationContext.xml定義。當然,這種機制與前者並非沖突,但是為了更加簡單明了,我們將只關注這種方法。

既然我們已經有了特定的配置,下面我們就來討論一下如何將其整合到整個Spring
MVC配置概念中。要達到這一目的,可以有許多方法,我們將詳細地一一說明。但首先,我們應該注意到,由於有些Bean可能位於獨立的配置文件中,因此在applicationContext.xml中,所有對它們的局部引用都必須更換成全局名稱。

例如,如下引用:

<property

<ref local="someBean"/>
</property>應更改為:

<property >
<ref bean="someBean"/>

</property>在這之後,我們有很多可以添加額外的資源以用於配置的方式。其中最明顯的就是使用<import>標簽將這一額外資源包含在applicationContext.xml配置文件中。使用時,要將該標簽放在applicationContext.xml文件開頭。例如:

<import
resource="applicationContext-somehost.com.xml"/>
現在,在獨立的XML定義文件和普通的應用程序上下文定義文件中的所有通用Bean定義都有了特定於主機的連接。由於大多數的Bean都不是特定於主機的,因此我們可以像處理Web應用程序中的其他資源一樣自由地處理applicationContext.xml文件,並可以通過合適的版本控制系統與其進行同步。

但是,上述方法也有一定的弊端。如果您想保留不同XML文件的不同配置,就仍然必須擔心applicationContext.xml的同步性,因為資源的名稱必須根據不同伺服器進行更改。雖然與原有的解決方案相比有了很大提高,只需更改文件名,但是這還是需要開發人員的手動協助。

由於與applicationContext.xml相比,主機配置不需如此頻繁地進行更改,因此下一步便是將主機配置移動到web.xml文件中(如果可能的話)。幸運的是,我們有一個可用的解決方案。看一下下面關於web.xml配置的片斷:

<listener>

<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>

</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
/WEB-INF/applicationContext-somehost.com.xml
</param-value>

</context-param>正如您所看到的,除了web.xml文件中常有的ContextLoaderListener之外,我們還添加了contextConfigLocation上下文參數配置。這一參數用於指示框架查找這些配置文件的位置。如果這一參數被省略,則Spring就只能到applicationContext.xml中查找。這里我們也定義了特定於主機的配置文件來使用。

利用這種方法,我們將所有特定於主機的配置從applicationContext.xml文件中移除,這樣便減輕了其在不同應用程序部署中的同步性。

如果這種方法成為您的新習慣,您還可以使其更加靈活。通過遵守下列指令,也可以將特定於主機的配置從web.xml文件中移除。

為此,需要創建特定於我們的應用程序上下文的類:

package
net.nighttale.spring.util;

import java.net.InetAddress;

import
org.springframework.web.context.support.XmlWebApplicationContext;

public
class
extends XmlWebApplicationContext {

protected String[] getDefaultConfigLocations() {
String hostname = "localhost";
try {
hostname =
InetAddress.getLocalHost().getHostName();
} catch (Exception e) {

}

String perHostConfiguration =
DEFAULT_CONFIG_LOCATION_PREFIX
+ "applicationContext-"

+ hostname
+ DEFAULT_CONFIG_LOCATION_SUFFIX
logger.debug(
"Adding per host configuration file: "
+ perHostConfiguration
);

if
(getNamespace() != null) {
return new String[] {
DEFAULT_CONFIG_LOCATION_PREFIX
+ getNamespace()
+
DEFAULT_CONFIG_LOCATION_SUFFIX
, perHostConfiguration};
}
else {
return new String[] {
DEFAULT_CONFIG_LOCATION
, perHostConfiguration};
}
}
}

這個類拓展了Spring中常被作為默認值使用的XmlWebApplicationContext。XmlWebApplicationContext類將Web應用程序的配置從XML定義文件中復制過來。默認情況下,它可以配置來自applicationContext.xml和[servlet-name]-servlet.xml文件中的應用程序。這個類執行的惟一一項額外任務便是獲取它所在的主機名稱,並將applicationContext-[hostname].xml文件添加到配置文件列表中。

為了使用這個類,我們需要對其進行編譯,將其包含在類途徑中,並指示Spring框架使用它。前兩步非常簡單,我們就不在此贅述。我們可以指示Sping通過contextClass上下文參數來使用它。除了web.xml文件中的原有配置,我們還可以添加下列內容:

<context-param>

<param-name>contextClass</param-name>
<param-value>
net.nighttale.spring.util.
</param-value>

</context-param>
如果我們使用這一配置片斷,將會有三個文件被用於初始化這個框架:[servlet-name]-servlet.xml、applicationContext-[hostname].xml以及applicationContext.xml。

正如您所看到的,applicationContext.xml和web.xml文件已經完全擺脫了任何特定的配置細節,而且您也不必擔心會在更新應用程序時破壞配置。

但是,這種方法有一個不足之處。因為,不論是否會使用,都需要在應用程序部署中有第三個配置文件。在這種情況下,便不需要特定於主機的配置。例如:

<?xml
version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD
BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

<beans></beans>
最後,需要知道應用程序上下文類需要查找的特定主機名。檢查主機名稱的最簡單的方法是在機器上運行下列代碼:

System.out.println(InetAddress.getLocalHost().getHostName())
可以將其作為Java代碼執行,也可在喜歡使用的腳本語言(如BeanShell或Groovy)中作為一個具有Java風格語法的腳本執行。在獲取了主機的名稱之後,應該創建一個默認的/WEB-INF/applicationContext-[hostname].xml空文件夾(如我們上面所定義的),然後便可以開始了。

3. .net MVC框架裡面怎麼創建一個在伺服器端持續運行的程序

1,如果是sql server資料庫,創建資料庫工作任務,配置相應時間運行存儲過程語句。2,採用時間控制項,設置間隔運行時間啟動運行程序

4. 如何將mvc4.0部署iis7

最近在研究MVC4,使用vs2010,開發的站點在發布和部署到iis7上的過程中遇到了很多問題,現在將解決的過程記錄下來,以便日後參考,整個過程主要以截圖形式呈現
vs2010的安裝和mvc4的安裝不在本次記錄之列,主要記錄網站發布和iis的部署
使用的版本如下圖所示:
iis為7.0:

vs2010,.net framework 為4.0.30310 ,安裝mvc4需要升級vs2010到vs2010 sp1 版本,見圖示:


mvc4:


為了測試需要,在項目ZPG.SpecialSite中創建控制器HomeController,並創建視圖Index.cshtml,如下圖:

編輯視圖頁面,添加測試用文字,如圖所示:

接下來對剛剛創建的mvc4.0站點進行發布,步驟如下:
1.右擊需要發布的項目,在彈出的菜單中選擇「發布...」選項

2.在「發布web」對話框中進行設置,配置文件名稱默認為「配置文件1」可以修改為需要的名字,以便識別,也可以不改。發布方法選擇「文件系統」,目標位置處選一個文件夾用於存放將要發布的整個站點所有文件,這里我選擇為「D:/我的文檔/桌面/ZPGWeb」,然後點擊「發布」按鈕。如圖:

3.點擊發布後在指定的文件夾生成站點文件,發布成功!

接下來將發布成功的站點部署到iis7.0。
步驟如下:
1. 安裝 Microsoft .net FrameWork 4.0安裝包(網站開發時候使用的就是.net framework4.0框架);
2. 安裝ASP.NET MVC 4.0 ;
3. 設置IIS的「ISAPI和CGI限制」中的「ASP.NET v4.0.0.30319」為允許,如下圖所示:

4.在iis7.0中發布網站,如圖,設置網站主目錄為「D:/我的文檔/桌面/ZPGWeb」:

5.設置該網站(站點「SpecialSite」)應用程序池的.net framework 版本為4.0.30196 :
添加應用程序池:

將該添加的應用程序池設置給站點SpecialSite

6.至此完成了mvc4.0站點在iis7.0的部署。
接下來在瀏覽器輸入http://localhost查看剛才部署的mvc4.0項目,如下圖:

如果出現上圖內容,表明iis7.0成功運行由mvc4.0創建的項目!!
後續注意點:
1.如果讀者使用的iis是在安裝完.net framework 之後才安裝的,需要進行iis注冊,開始--運行--cmd,打開命令行提示符,輸入命令如下
C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_regiis.exe -i
回車運行,如果讀者的伺服器是64系統,那麼需要使用命令C:/Windows/Microsoft.NET/Framework64/v4.0.30319/aspnet_regiis.exe -i 來運行注冊iis。
2.由於mvc4.0在創建項目後,默認在項目下的App_Start文件夾中的文件「RouteConfig.cs」里自動配置了「默認路由」為HomeController控制器下的Index方法(ActionResult),所以不需要在站點默認文檔里配置默認文檔名字,該站點會自動根據mvc的路由機制找到默認需要顯示的視圖文件。如下圖:因為找了很久沒有這些簡單入門的介紹,所以花點時間寫寫,或許能對一些跟我類似的入門級朋友有幫助!!`(*∩_∩*)′

熱點內容
中國彩票的網是什麼密碼 發布:2025-03-21 07:25:06 瀏覽:441
蘋果稅與安卓哪個收費更狠 發布:2025-03-21 07:17:52 瀏覽:294
通過一個ip訪問兩台伺服器嗎 發布:2025-03-21 07:06:12 瀏覽:521
怎麼讓伺服器查不到我的ip地址 發布:2025-03-21 07:05:27 瀏覽:184
編譯器有什麼用 發布:2025-03-21 07:00:24 瀏覽:78
android百度雲盤 發布:2025-03-21 06:59:47 瀏覽:260
青雲存儲 發布:2025-03-21 06:50:03 瀏覽:403
王者榮耀有腳本嗎 發布:2025-03-21 06:50:00 瀏覽:806
c語言代碼運行 發布:2025-03-21 06:49:17 瀏覽:560
python打開文件夾下所有文件 發布:2025-03-21 06:44:34 瀏覽:951