Java web应用中如何判断Web容器类型
来源:互联网 发布:科力达传输软件 编辑:程序博客网 时间:2024/06/05 20:19
问题背景:最近在开发一个人行的项目,由于不同的商行所使用的WEB容器不一样,导致同样的代码在不同的容器中运行的效果不一样。因此想在代码中添加容器判断,从而让应用自动选择不同的实现。
问题描述:开发阶段使用的是jetty6,商行使用的应用服务器有tomcat7、websphere application server8.5.5,JDK版本是1.6
解决方法:
1)在项目中引入portal-kernel.jar,pom.xml中添加如下代码:
<!-- https://mvnrepository.com/artifact/com.liferay.portal/portal-kernel --><dependency> <groupId>com.liferay.portal</groupId> <artifactId>portal-kernel</artifactId> <version>5.2.3</version> <scope>provided</scope></dependency>2)代码如下:
import com.liferay.portal.kernel.util.ServerDetector;/** * 该类用于获取web容器的类型,如:tomcat、jetty、was、jboss等 * * @author wm */public class WebContainerInfo {public static String getServerName() {String serverName = null;if (ServerDetector.isWebLogic()) {serverName = "WebLogic";} else if (ServerDetector.isTomcat()) {serverName = "Tomcat";} else if (ServerDetector.isWebSphere()) {serverName = "WebSphere";} else if (ServerDetector.isSupportsComet()) {serverName = "SupportsComet";} else if (ServerDetector.isResin()) {serverName = "Resin";} else if (ServerDetector.isOC4J()) {serverName = "OC4J";} else if (ServerDetector.isJOnAS()) {serverName = "JOnAS";} else if (ServerDetector.isJetty()) {serverName = "Jetty";} else if (ServerDetector.isJBoss()) {serverName = "JBoss";} else if (ServerDetector.isGeronimo()) {serverName = "Geronimo";} else if (ServerDetector.isGlassfish()) {serverName = "Glassfish";} else if (ServerDetector.isGlassfish2()) {serverName = "Glassfish2";} else if (ServerDetector.isGlassfish3()) {serverName = "Glassfish3";}return serverName;}}
阅读全文
0 0
- Java web应用中如何判断Web容器类型
- Java获得Web容器类型
- 如何把java项目发布到Web容器(Tomcat)中
- 如何把java项目发布到Web容器(Tomcat)中
- Java中web应用
- 在Docker容器中部署Web应用
- 如何在Java Web应用中获取Spring的ApplicationContext
- Java Web应用中如何实现任务有效调度
- WEB应用中普通Java程序如何读取资源文件
- java web项目中集成Jetty作为web容器
- java web项目中集成Jetty作为web容器
- 【Java】中Web服务器、Web容器、Application服务器区别
- 【译】用maven使java web应用运行在内嵌的Jetty或Tomcat容器中
- JAVA web容器
- Web容器 、Web服务和应用服务器
- WEB应用和WEB容器的区别
- J2EE中容器:WEB容器、EJB容器
- J2EE中容器:WEB容器、EJB容器
- Windows下的webpack项目上传到github,并忽略node_modules文件夹
- Day4
- 机器视觉工程师应该知道的23个工业镜头专业术语
- (读书笔记)《玩着玩着就能成为PPT高手》——9招让你的PPT引爆眼球
- jquery.page.js分页插件使用
- Java web应用中如何判断Web容器类型
- JAVA高级编程之基于数据统计的性能优化
- Area pick原理+线段上格点数目+向量叉乘
- android使用notifyDataSetChanged()方法,adapter的数据更新了,但是ListView的内容没有更新
- 如何将高程数据(等高线)转换成xi'an80或者beijing54坐标系
- kali->arp欺骗(获取图片)
- 【HTML 基础】03 超链接
- 深度学习入门必须理解这25个概念
- 线程创建,状态,以及上下文切换简介