当前位置: 首页 > 图文教程 > 网络编程 > JSP > WebLogic初步研究

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

JSP 中的 WebLogic初步研究


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 91 ::
收藏到网摘: n/a

--安装篇 - -
 
简介:

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管理界面进行管理。