My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > Struts/Hibernate
Struts应用系统案例设计编程讲解(6)
作者:佚名 时间:2005-07-23 13:53 出处:J道 责编:MyFAQ
              摘要:暂无

调试、发布和运行

6.1  配置和运行

本项目由于只使用了J2EE中的Web框架,因此可以使用专门的Web容器服务器。Tomcat (http://jakarta.apache.org/tomcat/)是免费开源的Web服务器Jakarta项目中的最著名的子项目它还是Sun公司推荐的servletjsp容器http://java.sun. com/products/jsp/tomcat/

很多人一直对免费或开放源代码的产品实现商业应用存有疑惑,但是Tomcat作为类似Apache一样的Java服务器,经过几年来大量使用证明,其稳定性和成熟性是有目共睹的。经过最新的研究表明:系统在并发用户100以下时,Tomcat的响应时间和商业服务器相差不多,可见Tomcat是能够大量被应用到中小型企业系统中。

有关Tomcat的详细配置可以参见之前章节。下面是将本项目发布到Tomcat下调试运行:

编辑Tomcat目录下conf目录的Server.xml中找到下列行数:

  <!-- Tomcat Root Context -->

  <!-- <Context path="" docBase="ROOT" debug="0"/> -->

其后加入本项目的配置:

 <!-- 本项目应用 -->

 <Context path="/jdoncms" docBase="D:/javasource/JdonCMS/web" debug="1"

                 reloadable="true" crossContext="true" />

其中/jdoncms是路径,也就是可以通过http://主机名/jdoncms来访问本项目,而docBase则是本项目的绝对路径。

启动Tomcat,如果想检查启动过程中的错误,可以到Tomcat/logs目录观看相应的日志。在浏览器窗口输入http://localhost:8080/jdoncms

6.2  Log调试信息的配置

项目第一次调试总会存在诸多问题,因此需要打印出系统中每个步骤的运行结果,这样可以跟踪调试。以前是使用System.out.println来设置输出调试信息。但是这有一个缺点,就是当项目切入正式运行后,不希望这些日志输出到容器的控制台上。因为这样还会降低系统性能,但是如果手工逐个到程序中删除,又将为以后扩展维护带来不便。

以后章节会谈到如何使用Log4J来跟踪调试,但是在Tomcat中设置Log4J不是一件方便的事情。需要做一个专门的Proxy类,通过这个Proxy类,可以动态地设置是使用System.out.println还是Log4J,或者关闭一些调试信息。

定义Log的级别如下:

ALWAYS = 0;

VERBOSE = 1;

TIMING = 2;

INFO = 3;

IMPORTANT = 4;

WARNING = 5;

ERROR = 6;

FATAL = 7;

错误程度分别是从上到下逐步严重,一般实行调试信息输出可以使用VERBOSE,但是在一个大型系统中,如果都实行VERBOSE级别,那么,势必在调试一些重要组件时,其他信息会发生严重干扰。这时可以在这些重要组件中实行其他级别输出,如IMPORTANT,在配置文件中只要指定输出级别就可以。

在本项目配置文件中定义:

<log>

   <level>1</level>

   <log4j>false</log4j>

</log>

这说明将输出VERBOSE以上信息输出开启,同时表示将不使用Log4J

在本项目中,Debug.java实现了这样日志Proxy功能。在Debug中,先读取配置文件,以确定当前开启级别是在哪个级别,当外界以如下语句调用时:

Debug.logVerbose(" this result is  " + result , module);

Debug会和配置文件的设置进行比较。如果大于设置的级别,将向控制台输出。至于是使用System.out还是Log4J,将取决于配置文件的第二项配置。

当运行本项目时,Tomcat控制台会输出如下信息:

[Debug:com.jdon.cms.events.PageAction:Verbose]  ----> extractPageForm Action

[Debug:com.jdon.cms.events.FormBeanUtil:Verbose]  enter to save the arribute

[Debug:com.jdon.cms.xml.NavlinkManager:Verbose]  ... try to get the exsited file

D:\javasource\JdonCMS\web\WEB-INF/conf\navlink.xml

这样,如果发生错误,就能跟踪到错误发生位置,从而纠正问题。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有