Eclipse上的Web项目调试

在Eclipse中开发Web项目的首要难题就是如何进行代码调试。本文简要说明一下在Eclipse中使用Tomcat和Jetty调试Java Web项目的方法。

Tomcat插件方式。Eclipse自身可以通过下载安装Tomcat插件的方式进行调试,由于插件中集成了tomcat的运行环境,所以不需要独立安装Tomcat服务器。该插件网址http://www.eclipsetotale.com/tomcatPlugin.html,插件下载地址:http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV321.zip,下载以后以普通插件的方式安装到Eclipse中(拷贝方式或link方式)即可。但这种方式的调试环境和真实运行环境还是有一些差别,而且运行目录缺省是在Eclipse的插件目录中,运行环境不太直观,所以这里不推荐此方式。

Tomcat Server方式。首先下载安装Tomcat(地址http://tomcat.apache.org/)。然后打开Eclipse,在Eclipse中添加Tomcat Server。步骤如下:

Window->Preferences->Server->Runtime Environments->Add->选择Apache Tomcat v6.0->next->选择Tomcat的安装目录->finish。

当Tomcat被添加到Eclipse的 Server以后,Eclipse会自动创建一个名称为“Servers”的项目,其中包含了context.xml、server.xml、 tomcat-users.xml、web.xml等基本配置文件。下面开始配置web项目调试选项:

在web项目上右键->Debug As->Debug Configurations->在Apache Tomcat上右键->New,创建调试器,然后使用缺省配置选项即可。接下来就可以在项目上右键->Debug On Server开始调试web项目了。

Jetty Server方式。该配置与Tomcat大同小异。首先还是下载安装Jetty(地址:http://jetty.codehaus.org/jetty/)。然后打开Eclipse,在Eclipse中添加Jetty Server。步骤如下:

Window->Preferences->Server->Runtime Environments->Add->选择Jetty 6->next->选择Jetty的安装目录->next->设置端口->finish。

下面开始配置web项目调试选项:

在web项目上右键->Debug As->Debug Configurations->在Generic Server上右键->New,创建调试器,然后使用缺省配置选项即可。(配置信息中的jre一般选择缺省jre)。接下来就可以在项目上右键 ->Debug On Server开始调试web项目了。

Jetty调试多个web项目。当 项目比较庞大时,经常会把web项目分解成多个子web项目,分别开发,然后聚合成一个完整的web系统。由于子web项目不能独立运行,这样分解开发带 来的一个问题是开发过程中的调试问题,Jetty支持以指定的配置文件启动web服务器,并且支持多文件夹聚合web站点,因此可以配置Jetty来解决 这个问题,在调试时Jetty把分布于不同位置的各个子项目在逻辑上自动合并成一个完整项目。配置方法:

首先创建包含Jetty包的User Library:Window->Preferences->User Libraries->New(输入名称Jetty)->Add Jars->在Jetty的安装目录下选择要包含的Jetty包,这些jar包包括:{Jetty目录}/lib/ext/*.jar;: {Jetty目录}/lib/jsp-2.1/*.jar。

在项目分解时,web项目被分解为一个主Java Web项目和若干个普通Java项目,其中的主Web项目用来做配合文件维护管理和启动项目。

1.在主web项目上点击右键,选择Debug As->Debug Configurations->在Java Application上右键->New, 然后开始配置该调试器:

2.在选项卡“Main”中,设置Project选项为主Web项目;Main Class设置为org.mortbay.xml.XmlConfiguration;

3.在“Arguments”选项卡中,设置Program arguments为${workspace_loc:xxxx}/jetty.xml,其中的xxxx为主web项目名称,Working Directory中的“other”选项设置为${workspace_loc};

4.Classpath选项卡,Bootstrap Entries中首先添加上面创建的包含Jetty的jar包的User Library,然后添加项目所用到的其它User Library,User Entries中添加主web项目和其他所有的子java项目;

5.在Source中添加需要调试的源码项目;

6.以上配置完成以后,开始配置Jetty启动配置文件jetty.xml,以上的设置 “${workspace_loc:xxxx}/jetty.xml”是把jetty.xml置于主web项目的根目录下。该文件可以从Jetty安装目 录中的ext/jetty.xml文件夹中拷贝,略作修改即可。可以在jetty.xml中配置各个子项目中web资源文件的存储路径,也可以在WEB- INF中新建一个jetty-web.xml文件来单独配置子项目中的web资源。示例jetty-web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configureclass="org.mortbay.jetty.webapp.WebAppContext"> <Set name="baseResource"><Newclass="org.mortbay.resource.ResourceCollection"> <Arg> <Array type="java.lang.String"><Item>MainProject/WebContent</Item> <Item>SubProject1/WebContent</Item><Item>SubProject2/WebContent</Item> </Array> </Arg> </New> </Set> <Setname="contextPath">/vpath</Set> </Configure>

web项目一般包含jar引用包、class文件、web资源文件(jsp、js、css、图片等),jar文件是在Classpath选项卡的 Bootstrap Entries中进行配置;class文件是在Classpath选项卡中的User Entries进行配置;调试时的java源码文件是在Source选项卡中配置;web资源文件是在jetty-web.xml文件中进行配置。这样 Jetty即可根据这些配置选项启动完整的web项目了。

eclipse调试web项目的更多相关文章

  1. 在Eclipse中调试web项目

    由于现在的公司用的是Eclipse开发web项目而且不安装MyEclipse插件,没有myclipse插件就不能在Eclipse中配置web服务器,所以也就不好对web项目进行调试.下面的方法就可以让 ...

  2. myeclipse与eclipse的web项目部署区别

    一.myeclipse之web项目的部署(发布)流程 web项目的部署(发布)流程2008-01-18 14:35 在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:wor ...

  3. eclipse 导入web项目后,线程假死

    eclipse 导入web项目后,就出现关闭后,线程还存在的情况.使用java mission control 查看发现java script indexing线程在running. 关闭js验证后, ...

  4. Eclipse中web项目缓存路径

    eclipse运行web项目后, 默认保存到 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps ecli ...

  5. eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)

    我的开发环境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的 ...

  6. eclipse创建web项目web.xml配置文件笔记

    1.使用eclipse创建web项目时,如果直接finish的话就没有默认生成web.xml配置文件,此时在你的项目下是看不到web.xml配置文件的,如果要查看的话可以如下操作: 右键你的项目,然后 ...

  7. eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。

    eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as  -  run ...

  8. eclipse 关闭web项目无用校验

      eclipse 关闭web项目无用校验 CreateTime--2018年4月8日16:21:01 Author:Marydon 1.关闭javascript校验 1.1 切换到视图Navigat ...

  9. Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案

    Eclipse导入web项目后,将web项目加载到server进行发布时,提示Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java ...

随机推荐

  1. QWidget设置为模态问题

    设置QWidget的Qt::WindowModality属性为Qt::WindowModal和Qt::ApplicationModal,发现窗体仍然不会模态,网上查了一下,有人说改属性只对window ...

  2. SQLite函数详解之二

    sqlite3支持的数据类型: NULL.INTEGER.REAL.TEXT.BLOB 但是,sqlite3也支持如下的数据类型 smallint           16位整数 integer    ...

  3. 【转】#ifdef _DEBUG用法小结

    原文地址:http://blog.csdn.net/shijizhisheng/article/details/1908054 1 #ifdef _DEBUG virtual void AssertV ...

  4. Nagios全方位告警接入-电话/微信/短信都支持

    百度告警平台地址: http://gaojing.baidu.com 联系我们: 邮箱:gaojing@baidu.com 电话:13924600771 QQ群:183806029 Nagios接入 ...

  5. python 数据结构-元组tuple

    tuple0=() #空 tuple1="wo", #元组中包括单个元素用, tuple2="monkey","cat","chi ...

  6. 3527: [Zjoi2014]力 - BZOJ

    题目大意:给出n个数qi,定义 Fj为        令 Ei=Fi/qi,求Ei. 看了很久题解,终于有些眉目,因为知道要用FFT,所以思路就很直了 其实我们就是要±1/(j-i)^2 ( j-i大 ...

  7. Matlab计算矩阵和函数梯度

    一.差分与微分 我自己的理解. 二.求解 2.1 矩阵 这就是matlab的计算结果.太小的话放大些: c = 4 5 9 7 2 1 5 2 6 >> [x,y]=gradient(c) ...

  8. Core Data数据库迁移

    一. Lightweight Migration i. 适合场景 Simple addition of a new attribute Removal of an attribute A non-op ...

  9. linux用户配置和用户权限

    一.查看用户: (1)在终端里.输入:cat /etc/passwd,查看/etc/passwd文件就行了.(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 查看当前在线用户 ...

  10. Nginx负载均衡介绍

    Nginx真心牛逼 nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态.静态页面的分离,可以按照轮询.ip哈希.URL哈希.权重等多种方式 ...