eclipse调试web项目
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项目的更多相关文章
- 在Eclipse中调试web项目
由于现在的公司用的是Eclipse开发web项目而且不安装MyEclipse插件,没有myclipse插件就不能在Eclipse中配置web服务器,所以也就不好对web项目进行调试.下面的方法就可以让 ...
- myeclipse与eclipse的web项目部署区别
一.myeclipse之web项目的部署(发布)流程 web项目的部署(发布)流程2008-01-18 14:35 在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:wor ...
- eclipse 导入web项目后,线程假死
eclipse 导入web项目后,就出现关闭后,线程还存在的情况.使用java mission control 查看发现java script indexing线程在running. 关闭js验证后, ...
- Eclipse中web项目缓存路径
eclipse运行web项目后, 默认保存到 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps ecli ...
- eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)
我的开发环境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的 ...
- eclipse创建web项目web.xml配置文件笔记
1.使用eclipse创建web项目时,如果直接finish的话就没有默认生成web.xml配置文件,此时在你的项目下是看不到web.xml配置文件的,如果要查看的话可以如下操作: 右键你的项目,然后 ...
- eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式。 后者无法自动编译java 成class文件到classes包下。
eclipse新建web项目,发布 run as 方式和 new server然后添加项目方式. 后者无法自动编译java 成class文件到classes包下. 建议使用run as - run ...
- eclipse 关闭web项目无用校验
eclipse 关闭web项目无用校验 CreateTime--2018年4月8日16:21:01 Author:Marydon 1.关闭javascript校验 1.1 切换到视图Navigat ...
- 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 ...
随机推荐
- DSP28335矩阵键盘的检测
#include "DSP2833x_Device.h"#include "DSP2833x_Examples.h"char temp;void gpio_in ...
- 【BZOJ 2324】 [ZJOI2011]营救皮卡丘
Description 皮卡丘被火箭队用邪恶的计谋抢走了!这三个坏家伙还给小智留下了赤果果的挑衅!为了皮卡丘,也为了正义,小智和他的朋友们义不容辞的踏上了营救皮卡丘的道路. 火箭队一共有N个据点,据点 ...
- C++中不可重载的5个运算符
大多数运算符都是可以重载的,但是有5个运算符C++语言规定是不可以重载的. 1. .(点运算符),通常用于去对象的成员,但是->(箭头运算符),是可以重载的 2.::(域运算符),即类名+域运算 ...
- zookeeper数据迁移
在不停机的情况下,实现集群之间数据迁移代码: private void create(ZooKeeper zk1, ZooKeeper zk2, String path) throws Excepti ...
- 评价正在使用输入法软件产品----QQ拼音输入法
评价一下大家手头正在使用输入法或者搜索类的软件产品. 我现在使用的是系统自带的QQ拼音输入法,以前使用的是搜狗拼音输入法,后来发现可能由于我的系统重装过好几次,搜狗输入法也重装了好几次,而每次都删不干 ...
- Eclipse+pydev 常用快捷键
多行缩进(减少缩进):tab/shift+tab 复制行: Ctrl+Alt+方向键'↓' 删除行:Ctrl+d 自动完成:Alt+/ 注释:Ctrl+/ 窗口最大小:Ctrl+m 1 几个最重要的 ...
- android开发 wifi开发工具类
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Iterator; import j ...
- 【Validate Binary Search Tree】cpp
题目: Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is define ...
- Netty 对通讯协议结构设计的启发和总结
Netty 通讯协议结构设计的总结 key words: 通信,协议,结构设计,netty,解码器,LengthFieldBasedFrameDecoder 原创 包含与机器/设备的通讯协议结构的设计 ...
- 管理员必须掌握的八个cmd命令
一.ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的 ...