⑴ 多个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,就不用拷来拷去了。。
不知道是不是你想问的。。。希望能帮到你。。。
欢迎继续追问。。。。