浅谈weblogic与tomcat的区别

weblogic是用于开发、集成、部署和管理大型分布式web应用、网络应用和数据库应用的java应用服务器,将java的动态功能和java enterprise标准的安全性引入大型网络应用的开发集成部署和管理之中。

weblogic中有domain ,域是作为一组单元进行管理weblogic server的资源。domain由server和cluster组成,server由Administration Server和Managed Server组成,Administration Server负责domain的管理,Managed Server部署实际的应用。
tomcat服务器是一个免费开源的web应用服务器。
最大的区别是:weblogic是将j2ee的应用服务器(web container+EJB container),包括ejb、jsp、servlet、jms等,属于全能型的。
tomcat只能算是web container,是官方指定的jsp&servlet容器,只实现了jsp/servlet的相关规范,不支持EJB。

注:如果考虑EJB的话,weblogic是比较好的选择。

WebLogic 是一套基于JAVA功能强大的电子商务套件,提供了许多功能强大的中间件 以方便编程人员编写的JSP、SERVLET 等电子商务应用,可以为企业提供一个完整的商务应用 解决方案。 

对于开发人员 WebLogic 可以在 www.bea.com 免费下载一套完整的 WebLogic,并得到一个限制了 IP 的license,用于学习和开发基于这个套件的代码。而要是需要正式的投入使用的话,那么就必须支付一定的费用获取没限制的license。由于这个套件基于这种发布方式,对于一般网站开发人员可以很轻易地得到 WebLogic 用于学习开发,当然投入使用是另一回事。

我获得的 WebLogic5.10是两个大大的zip文件,一个是WebLogic程序包,一个是资料文档。因为是基于JAVA,虽然在下载时有区分操作系统,但是我得到的那套经过实践发现在WINNT和LINUX都可以运行,下面主要是以LINUX的为例,WINNT的安装方法也差不多。

安装前准备:
  在安装前,用户必须获得一套对应于用户的操作系统的JDK(在 www.sun.com 免费下载),安装好后把WebLogic5.10的压缩包解开,建议放在根目录上,这样会省去很多修改设置的麻烦,在linux下可以解在其他目录,然后在根目录再做一个硬连接也可以。
我的安装的文件目录是
/usr/local/jdk1.2/
/usr/local/weblogic/
ln -s / /usr/local/weblogic/
配置weblogic:
启动weblogic需要执行两个脚本文件:
linux:setEnv.sh和startWebLogic.sh
WINNT对应的是:setEnv.cmd和startWebLogic.cmd
1、weblogic.properties
打开/usr/local/weblogic/的 weblogic.properties 文件,找到这一行
weblogic.password.system=
这是设置管理员密码用的,这个设置项不能为空,所以必须设置一个可靠的管理员密码。
例如:weblogic.password.system=sdfjkdshfds
设置运行JSP:

# WEBLOGIC JSP PROPERTIES
# ------------------------------------------------
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
#weblogic.httpd.register.*.jsp=/
#weblogic.servlet.JSPServlet
#weblogic.httpd.initArgs.*.jsp=/
#pageCheckSeconds=1,/
#compileCommand=c:/jdk1.2.1/bin/javac.exe, /
#workingDir=/weblogic/myserver/classfiles, /
#verbose=true

把那些注释删去,即改为

# WEBLOGIC JSP PROPERTIES
# ------------------------------------------------
# Sets up automatic page compilation for JSP. Adjust init args for
# directory locations and uncomment to use.
weblogic.httpd.register.*.jsp=/
weblogic.servlet.JSPServlet
weblogic.httpd.initArgs.*.jsp=/
pageCheckSeconds=1,/
compileCommand=c:/jdk1.2.1/bin/javac.exe, /
workingDir=/weblogic/myserver/classfiles, /
verbose=true
要注意的是还要配置好这一行:
compileCommand=/usr/local/jdk1.2/bin/javac, /
这是JDK的JAVA编译器的路径。
 
2、setEnv.sh
打开/weblogic/setEnv.sh,找到这一行
JAVA_HOME=/usr/java
改为
JAVA_HOME=/usr/local/jdk1.2/

3、 startWebLogic.sh
  找到一个全是大写的 "LINUX" 字符串,改为 "Linux",很奇怪是为何要这样是吗?这是因为启动时,脚本文件调用了uname 指令来得到系统的名字,再与"LINUX" 字符串比较确认是否是linux系统,但是uname 指令来返回的系统的名字是Linux,所以我们要改一下,这应该是这个启动脚本的一个小小的BUG,WINT就不用那么麻烦了。
运行weblogic:
经过简单的配置就试运行了。
在目录/weblogic/下执行
. ./setEnv.sh (大家请留意,我这里有两个 ".",因为我们需要在当前的shell下执行这个脚本 )
./startWebLogic.sh
当看到成功启动 WebLogic 的信息时,说明启动成功了。
 
 
服务器简单的测试:
WebLogic 默认的WEB端口为7001,我们可以在打开一个浏览器输入地址
http://localhost:7001/
测试是否能连接得上。
Servlet的测试
如果能连得上得话,那么就可以进行下一步的Servlet的测试,在浏览器输入地址
http://localhost:7001/helloWorld
这个就是WebLogic Servlet的演示(至于怎样安装 Servlet请看下文)
JSP的测试
在目录 /weblogic/myserver/public_html/下建立一个名为test.jsp的文件
test.jsp
<%
Out.print("test JSP");
%>
在浏览器输入地址
http://localhost:7001/test.jsp
测试能否看到正确的输出"test JSP"的信息。 

要学习好一套系统首先要了解它的结构,本文详细的介绍 WebLogic 的一些结构和特点:
  WebLogic的大部分配置是在 weblogic.properties 里完成的,只要仔细的研究这个文件就可以清楚得知关于 WebLogic 的一些结构和特点,下面就对 weblogic.properties 文件里的一些配置项作一些说明:
weblogic.httpd.documentRoot=public_html/
这就是WebLogic 的WEB 服务器的根目录,即是目录/weblogic/myserver/public_html/

weblogic.password.system=sdfjkdshfds
这个前文已经提到,是设置管理员密码。

weblogic.system.listenPort=7001
这是设置 WebLogic 的 WEB 服务器端口。
weblogic.httpd.servlet.classpath=/weblogic/myserver/servletclasses
设置Servlet存放的路径
 
 
关于Servlet
  出于安全的目的,在 WebLogic 下运行的 WebLogic 必须在 weblogic.properties 里登记后才能运行,例如上文的提到Servlet http://localhost:7001/helloWorld,
它在weblogic.properties 里的登记项是
weblogic.httpd.register.helloWorld=examples.servlets.HelloWorldServlet
实际上,这个 Servlet 的实际路径是
/weblogic/myserver/servletclasses/examples/servlets/HelloWorldServlet.class
  对照一下weblogic.properties里的登记项和HelloWorldServlet.class文件的路径,应该不难找出其登记Servlet的规律吧。

在weblogic.properties里有一下几个Servlet的登记项:
weblogic.httpd.register.AdminEvents=admin.AdminEvents
weblogic.httpd.register.AdminClients=admin.AdminClients weblogic.httpd.register.AdminConnections=admin.AdminConnections weblogic.httpd.register.AdminJDBC=admin.AdminJDBC
weblogic.httpd.register.AdminLicense=admin.AdminLicense
weblogic.httpd.register.AdminMain=admin.AdminMain
weblogic.httpd.register.AdminProps=admin.AdminProps
weblogic.httpd.register.AdminRealm=admin.AdminRealm
weblogic.httpd.register.AdminThreads=admin.AdminThreads weblogic.httpd.register.AdminVersion=admin.AdminVersion

  这就是管理员管理 WebLogic 用的Servlet,通过URL访问 http://localhost:7001/AdminMain,在弹出的身份验证对话框了输入 system 和在 weblogic.password.system= 设置的密码,就可以进入 WebLogic 的Web管理界面进行管理

你可能感兴趣的:(浅谈weblogic与tomcat的区别)