首页/技术开发/内容

基于 Weblogic 7.0 的应用开发(二)

技术开发2023-12-20 阅读()
-----其他资源,如图片等。

注:一个 Web Application 至少要包含一个页面,包括jsp 或 html 或 servlet
对于注有required的项是一个Web Application 不可缺少的,必须存在的,如WEB-INF目录,web.xml。

3.打包
将所有程序中使用到的JavaBeans和Servelets编译成.class文件,连同编译生成的目录一起拷贝到WEB-INF\classes\下。
在Dos下,进入Application 根目录,使用jar打包命令,即将当前目下所有文件以及目录打包成webapp_name.war文件。
如:jar cvf webapp_name.war *(其它jar命令的参数,这里不做过多介绍)
注:不要在目录外边执行,这样将导致将外面的目录也打包进去,发布会失败。

4.部署
部署war主要有三种方法,
1)使用Console
 使用方法:在浏览器中打开http://[host]:[port]/console,在左边的树中找到Web Applications节点,
 点击 Configure a new Web Application,通过界面将打包好的webapp_name.war UPLOAD到Weblogic能找到的地方。
点击[select],然后选择一个Available Server 添加到Target Servers中,输入系统的名称(用于访问),Configure And Deploy。
等待,直到Status中变成Completed。就OK!
2)直接拷贝
使用方法:将启动脚本中的STARTMODE 置为 false,使其处于Development Mode。然后,直接将.war文件拷贝到[当前Domain]/applications/下,系统会自动部署到当前的server上。此时如果系统没有报错,即为部署成功!
3)使用weblogic.deploy类
具体方法可以使用 java weblogic.deploy -help 参考系统提示。

推荐使用,Console或直接拷贝,非常容易上手,3)方法,由于参数复杂,我个人认为适用于非Win32系统。

5.调用
直接在浏览器中输入http://[host]:[port]/webappname即可。


6.补充说明:
上述过程身略了描述文件的编制过程,对于初学者来说,完全了解web.xml和weblogic.xml是有一定困难的。这里将使用Weblogic 7.0的一个新特性,Weblogic Builder。
这里提供了一个简单的步骤:
首先,编写一个最为简单的web.xml文件。

<!--web.xml-->
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
</web-app>

注意:这是最为省略的了,不能再对它进行修改,而且这也是不可缺少的文件,否则Weblogic Builder将无法打开你想要修改的压缩包。
然后,按照上述步骤生成一个.war文件。
最后,使用Weblogic Builder打开这个.war文件。通过图形界面修改部署描述信息,系统将自动生成相应的weblogic.xml,同时修改web.xml。
这里可以完成一个Web Application的所有部署的描述信息,前提是你对这些选项有一定的认识。
保存,选择菜单Tools/Options,设置需要连接的Host/Server/username/password;选择菜单Tools/Connect to Server,Tools/Deploy,系统部署轻松完成。

另外,对于jsp的语法校验问题一直一个困扰着我们,有一个办法,在不发布的情况下校验jsp语法。那就是java weblogic.jspc jsp_name.jsp 。
具体参数使用java weblogic.jspc 察看。

7.附录:
前面也许很多人会问,为什么我把我的class拷贝到了classes的目录里面并且启动了WebLogic的服务,怎么我的Servlet还是找不到?这里我们简单得讲一下如何在WebLogic中添加一个Servlet;
在WebLogic启动之后,首先测试在DefaultWebApp目录是否已经准备好:
http://localhost:7001/index.html
在%weblogic%/\config\examples目录下面运行setExamplesEnv.cmd,编译HelloWorld.java得到一个HelloWorld.class文件。
javac -d %OUT_DIR % HelloWorld.java
将HelloWorld.class拷贝到DefaultWebApp的目录下面,在本机中的目录为E:\bea\wlserver6.1\config\mydomain\applications\DefaultWebApp。然后打开WebLogic的控制台:
http://127.0.0.1:7001/console

方法一:
点击Deployments---Web Applications ---- DefaultWebApp,然后点击Edit Web Application Descriptor...,点击Servlets 并且Configure a new Servlet…,输入
Servlet Name: HelloWorld
Servlet Class:HelloWorld
点击create来产生这个新的servlet,然后点击Apply来应用该servlet。
点击Servlet Mappings ---- Configure a new ServletMapping…,输入
Servlet: HelloWorld
URL Pattern: /HelloWorld/*
点击create来产生这个新的servlet,然后点击Apply来应用该servlet。重新启动WebLogic服务器。(为什么我安照这样的操作,可是WebLogic重新启动后,Servlet又没有了?)

方法二:
修改该下面的WEB-INF目录中的web.xml文件,输入
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name> 
<url-pattern>/HelloWorld/*</url-pattern>
</servlet-mapping>
重新启动WebLogic服务器。Servlet安装成功!

备注:
如果你配置了“动态Applications”,你不用重新启动WebLogic,只要将class文件拷贝到相应的目录中就能直接得到修改后的结果。关于配置的参考网址:
http://e-docs.bea.com/wls/docs70/adminguide/appman.html
当“auto-deployment”被选中的情况下,WebLogic的“Deploying Applications”会在每三秒的情况下察看/application目录下面的变化。


8.问题:
如果不这样做,可以使用以目录的形式发布。其实,对于服务器来说,一个目录和.war文件,都是一回事。但是从一个另外一个角度来说,其用途不同。
对于开发阶段,以目录形式发布,便于调试和更新程序,但是不以管理,安全性差。
对于一个成型的产品,最好是打包,因为产品是要交给用户管理的,对于相对素质较差的用户,开放的目录太危险,也不易管理。
同时需要指出,启动方式也是一个问题。对于交给用户的产品而言,运行在development模式下,支持热发布,是不明智的。 

第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页 

……

相关阅读