⑴ 多個java項目,部署到不同的App伺服器,但公用資料庫,怎樣開發規范
每個項目一個表空間,這不會出問題。主要是3個項目最後打包的東西所用到的第三方提供的 jar 類庫的共享問題。如果大家用相同的 jar 就盡量用同一個版本,如果沒辦法做到用同一個版本就盡量把它們放到自己的 ear 裡面或 WEB-INF/lib 下面,不能直接把同一個 api 的不同版本同時放到伺服器的 lib 目錄下。
ear 本身是一個 zip 格式,它可以包括 ejb 的 jar, war 之類的,另外還可以把第三方的 spring.jar,hibernate.jar 之類的也放在裡面,然後你的 ejb 源文件夾的 META-INF/MANIFEST.MF 裡面的 Class-Path: spring.jar hibernate.jar 這樣用相對位置來引用第三方 jar 就可以了。
⑵ java開發一個人維護七個項目多嗎
多。一般與公司技術,還有職員人數水平,java項目難度有關,如果不是很復雜的項目一般在一到兩個,甚至更多,少的可能很多年都在維護一個java項目。
⑶ myeclipse下的多個Java項目如何控制哪個運行,如何設定當前項目
可以用一個比較麻煩的辦法就是部署哪個運行哪個,方法如下:
找到菜單window→ShowView→Servers,打開Servers視圖標簽,部署的Tomcat服務
在新打開的對話框中,有一個Project項,選擇要部署的項目
點擊「Finish」完成部署
這樣項目就部署到Tomcat裡面去了
⑷ java web多個應用項目如何整合在一起
在不大規模改動代碼的情況下,我建議用開源的Yale CAS單點登陸。
我已基本實現了tomcat下Yale CAS配置「
相關文檔:
一、資源版本:
Tomcat5.0.28
cas-server-3.0.7
cas-client-2.0.11
二、Tomcat部署環境:
casserver——cas伺服器部署環境
casclient——cas客戶機部署環境(發布jsp-examples)
casclient1——cas客戶機部署環境(發布servlets-examples)
三、SSL文件准備:
server.keystore——伺服器端庫文件
client.keystore——客戶端庫文件
server.cer——伺服器端證書(自製)
client.cer——客戶端證書(自製)
cacerts——證書鏈
1、生成伺服器端庫文件
keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
2、導出伺服器端證書
keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore
3、生成客戶端庫文件
keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
4、導出客戶端證書
keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore
5、導入伺服器端證書到cacerts
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
6、導入客戶端證書到cacerts
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
將server.keystore、client.keystore、server.cer、client.cer、cacerts文件復制到cas伺服器、cas客戶機、cas客戶機1的TOMCAT_HOME主目錄及JAVA_HOEM\jre\lib\security目錄下。
四、Tomcat下cas安裝部署
1、casserver配置
採用jakarta-tomcat-5.0.28.zip解壓後默認配置,重點注意Server port="8005"
及Connector port="8080" redirectPort="8443"(cas客戶端需改埠號)。
A、 編輯.\casserver\conf目錄下server.xml文件並保存。
找到如下片段,紅色字體為新增內容。
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/server.keystore" keystorePass="changeit"/>
B、拷貝cas.war至.\casserver\webapps目錄。
至此,cas伺服器部署完畢。啟動伺服器,訪問https://localhost:8443如能顯示Tomcat首頁則表示cas部署成功。
2、casclient配置
jakarta-tomcat-5.0.28.zip解壓後修改根目錄名為casclient。
A、編輯.\casclient\conf目錄下server.xml文件並保存。
找到如下片段,紅色字體為修改內容。
<Server port="8006" shutdown="SHUTDOWN" debug="0">
<Connector port="8081"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8080" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
B、編輯.\casclient\webapps\jsp-examples\WEB-INF目錄下web.xml文件並保存。
加入如下片段,重點注意紅色字體部分。
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>e.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8081</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
C、將casclient.jar拷貝至.\casclient\webapps\jsp-examples\WEB-INF\lib目錄下。
至此,cas客戶端部署完畢。啟動客戶伺服器,訪問http://localhost:8081/jsp-examples正常情況會彈出安全警報,點擊確認後轉向cas登錄頁面。此時casserver採用默認驗證,用戶名、口令輸入相同的字元串即可,驗證通過後轉向jsp-examples應用的默認頁面。
3、casclient1配置
jakarta-tomcat-5.0.28.zip解壓後修改根目錄名為casclient1。
D、編輯.\casclient1\conf目錄下server.xml文件並保存。
找到如下片段,紅色字體為修改內容。
<Server port="8007" shutdown="SHUTDOWN" debug="0">
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8080" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
E、編輯.\casclient1\webapps\servlets-examples\WEB-INF目錄下web.xml文件並保存。
加入如下片段,重點注意紅色字體部分。
<filter>
<filter-name>CASFilter</filter-name>
<filter-class>e.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://localhost:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>e.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8082</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern> /servlet/*</url-pattern>
</filter-mapping>
將casclient.jar拷貝至.\casclient1\webapps\servlets-examples\WEB-INF\lib目錄下。至此,cas客戶端1部署完畢。啟動cas客戶1伺服器,訪問http://localhost:8082/servlets-examples/servlet/HelloWorldExample正常情況會彈出安全警報,點擊確認後轉向servlets-examples應用的HelloWorld頁面(此時由於cas客戶伺服器已經登錄,因此訪問servlets-examples時無需再進行登錄)。
cas伺服器、客戶端部署完成後即可實現統一認證服務。案例中把登錄認證部分的邏輯從jsp-examples、servlets-examples應用(此應用系統並無登錄邏輯,在實際應用中需修改相應的登錄驗證邏輯)中剝離,交由cas認證伺服器完成。
以上配置在windows XP professional上測試通過。
⑸ 公司的Java web 項目拆分好多個,一個主項目,包含好幾個項目
你的意思是「一個項目下分多個模塊」吧,如果是不存在關聯性的項目肯定可以獨立部署的。
一個項目下的多個模塊由於存在關聯性,比如相互調用,流程順序等,需要整體發布。
模塊一般是根據功能劃分出來的子集,便於並行開發、單元測試及代碼管理,也就是說,劃分模塊為了好管理。
⑹ java 多個項目可以共享緩存嗎
所謂緩存,無非就是將數據放到內存中,不同的java類都可以調用這個數據,放到session中就是一種方法。 hibernate等利用ehcache、oscache等框架,也可以實現緩存功能。
⑺ java web多個項目如何共享配置文件
多個項目之間無法共享配置文件
可以嘗試將配置信息放在資料庫中,或者放在其中一個項目中,然後用介面調用
⑻ java中如何把三個項目合成一個項目
像Vector那樣可序化的對象都可以
就是實現了Serializable 介面的類產生的實例
import java.util.*;
import java.io.*;
public class TestObject {
public static void main(String[] args)
throws Exception{
FileOutputStream fos=new FileOutputStream( "a.obj ");
ObjectOutputStream oos=new ObjectOutputStream(fos);
Vector v=new Vector();
v.add( "Vector ");
oos.writeObject(v);
oos.close();
FileInputStream fis=new FileInputStream( "a.obj ");
ObjectInputStream ois=new ObjectInputStream(fis);
Vector v1=(Vector)(ois.readObject());
System.out.println (v1.get(0));
ois.close();
}
}
⑼ java能不能在多個項目之間共享同一些類
用的是JAVA API裡面的類嗎?直接用import就可以了。。。
還是用的是你自己寫的類,如果你自己寫的類。。。你可以打包成JAR。。。然後在其它項目中用的時候,導入這個JAR,同樣用import,就不用拷來拷去了。。
不知道是不是你想問的。。。希望能幫到你。。。
歡迎繼續追問。。。。