在Eclipse中,可以安装Tomcat插件,实现WEB应用的开发调试工作,Tomcat插件还可以支持WEB应用的热部署。

  一、安装配置Tomcat插件

  可以通过拷贝安装和Links方式安装Tomcat插件,和安装其它的Eclipse插件没有区别。安装成功Tomcat插件后,在菜单栏上会多了一项Tomcat菜单,如图所示。

  图 安装Tomcat插件后的Eclipse菜单

  安装Tomcat插件后,必须先设置Tomcat的安装目录、Tomcat的安装版本号以及启动的方式。设置好这些参数后,Eclipse插件就可以直接在Eclipse中启动指定位置的Tomcat容器,这样就可以不用在Eclipse之外启动Tomcat了,而且Tomcat插件支持直接调试、热部署Java类以及动态加载配置文件。

  可以通过“windowàpreferences…”菜单设置启动Tomcat参数,如图所示。

  图 设置Tomcat启动参数对话框

  Tomcat启动参数对话框中有三个参数是必须设置的。

  1. Tomcat version:指定Tomcat的版本号。

  2. Tomcat home:Tomcat安装目录。

  3. Context declaration mode:Web容器上下文配置文件的声明方式。这是Tomcat支持的两种启动方式,可以通过Server.xml指定WEB目录,也可通过conf\Catalina\localhost目录生成的配置文件指定WEB目录。在Tomcat启动参数对话框中还可以设置虚拟机参数以及Tomcat项目源代码的位置等参数。

  提示:在Eclipse中可以通过Tomcat插件启动和停止Tomcat,用户可以在Console视图中查看Tomcat的运行时信息。

  二、创建Tomcat项目

  Tomcat插件能根据设置的启动参数,生成Tomcat项目以及管理相关的配置文件。可以通过Eclipse的新建向导创建Tomcat项目(Tomcat Project),在新建向导中还能够设置Tomcat项目的目录结构,如图所示。

  图 创建Tomcat项目对话框

  通过创建Tomcat项目对话框可创建一个Tomcat项目,例如“com.free.test.web”的项目,要访问此WEB应用,可以在浏览器中输入地址:“http://localhost:8080/com.free.test.web”。

  Tomcat项目其实就是一个WEB应用部署的目录,也就是说所有的类和配置文件都不需要拷贝到Tomcat下的webapps目录下(了解Tomcat的开发人员应该清楚webapps是Tomcat下WEB应用发布的目录),Eclipse插件会管理Tomcat下的WEB部署的配置文件(Server.xml或localhost下的配置文件)指定到当前的Tomcat项目。

  提示:如果没有设置Tomcat插件中的配置信息,创建了Tomcat项目后会提示出错,这是因为和Tomcat应用相关的包没有加入,设置好Tomcat插件的配置信息即可。

  如果Tomcat工程是通过Eclipse的import向导导入的,需要更新Tomcat上下文的配置,生成Tomcat的conf目录下面的配置文件。选择Eclipse中导入的Tomcat工程,右键菜单选择“Tomcat project”à“update tomcat definition”菜单,生成Tomcat配置文件上下文。

  三、在Tomcat中运行调试Web应用

  通过Eclipse调试WEB应用是非常容易的事情,例如前面的例子HelloKittyJsp 和HelloKittyServlet。HelloKittyServlet在包“com.free.servlet”中,HelloKittyJsp在Tomcat项目的根目录下,web.xml文件在WEB-INF下,选择Tomcat菜单下的“Start Tomcat”启动指定的Tomcat,Tomcat启动成功如图所示。

  图 启动Tomcat

  启动Tomcat后可以直接在Eclipse中调试Servle。和调试其它的Java类一样,可以在Servlet中设置断点。例如在HelloKittyJsp页面中单击提交按钮,将会执行HelloKittyServlet中的doGet方法,如果在doGet中设置断点,程序将会运行到断点的位置,如图所示。

  图 调试HelloKittyServlet

  调试Servlet和调试其它的Java类没有任何区别,而且当修改了WEB应用中的Servlet和其它的类后,Eclipse插件会直接把相应类部署到WEB-INF下的Classes中。

  通过Tomcat插件运行Tomcat,可能会出现JSP页面无法编译的情况,如图所示。

  图 无法编译JSP页面

  这是因为Java虚拟机编译JSP页面时找不到相关的jar包,在Tomcat插件中可以配置所依赖的jar包,如图所示。

  图 配置Tomcat类路径

  在Classpath选项添加JDK下面的tools.jar和dt.jar,配置好Tomcat类路径后,重新启动Tomcat就可以通过Tomcat插件在Eclipse中进行WEB应用了。

  提示:把编译好的类放入WEB-INF下的Classes中的功能是通过Eclipse类构建器完成的,当JAVA文件改变后,JDT的构建器会编辑新的类,并放入类构建路径中,默认为WEB-INF下的Classes目录。

使用Tomcat插件开发WEB应用的更多相关文章

  1. Tomcat部署web项目,如何直接通过域名访问,不加项目名称

    问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...

  2. Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]

    目录 前言 现象 源码分析 实战例子 总结 参考资料 前言 今天研究了一下tomcat上web.xml配置文件中url-pattern的问题. 这个问题其实毕业前就困扰着我,当时忙于找工作. 找到工作 ...

  3. Tomcat部署web应用程序

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[替换ROOT目录] 最简单的一种方法,webapps目录下面ROOT文件夹的文件为你的文件,然后输入localhost:8080/首页 ...

  4. (转) Tomcat部署Web应用方法总结

    原文:http://blog.csdn.net/yangxueyong/article/details/6130065 Tomcat部署Web应用方法总结 分类: Java web2011-01-11 ...

  5. Eclipse 启动Tomcat后web项目的classes的子文件夹中没有calss文件

    Eclipse 启动Tomcat后web项目的classes的子文件夹中没有calss文件. 经网上查得以下方法可解决 把properties属性里的java compiler-->buildi ...

  6. Tomcat部署web应用的方式

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[使用控制台部署] 访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可. 2.[利 ...

  7. Tomcat部署Web应用方法总结

    转载:http://m.blog.csdn.net/blog/u012516903/15741727 Tomcat部署Web应用方法总结 在Tomcat中部署Java Web应用程序有两种方式:静态部 ...

  8. tomcat登陆WEB显示无权限问题&& tomcat无限循环启动问题

    tomcat登陆WEB显示无权限问题 The user specified as a definer (”@’%') does not exist 原因分析 因为创建视图使用的是xff@%用户(目前已 ...

  9. tomcat部署web项目的方式 转

    JavaWeb开发Tomcat中三种部署项目的方法,开始Java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错 1.在conf目录中新建Catalina\localhost目录,在该目录 ...

  10. (转)Linux整合apache和tomcat构建Web服务器

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wenzhongxiang.blog.51cto.com/6370734/1285 ...

随机推荐

  1. 9.5内网横向&代理&隧道

    Socks代理思路: 工具:nps.frp.ngrok.reGeorg.sockscap64.earthworm.proxifier.proxychains 知识点 1.内外网简单知识 2.内网1和内 ...

  2. 单 log 实现 区间加减,查询区间 gcd

    主要是查询,要将 log 个区间拿出来依次求 gcd,当然如果是 O(1) gcd 的话可以直接求就是了.

  3. postgresql 查询包含某字段的表

    查询包含某字段的表都有哪些 查询SQL如下: SELECT b.oid, b.relname, att.attname, b.relkind, attinhcount, atttypmod FROM ...

  4. Angular – Language Service

    介绍 Angular Language Service 是一个针对 Angular 项目的程序静态分析 (Program Static Analysis) 工具,它的作用是提升开发体验. 很多 IDE ...

  5. npm install报错 SyntaxError: Unexpected end of JSON input while parsing near '...=GmVg\r\n-----END PGP'

    解决方法:  npm cache clean --force 然后重新执行:npm install即可

  6. Oracle官方自动推荐大内存页脚本hugepages.sh

    #!/bin/bash # # hugepages_settings.sh # # Linux bash script to compute values for the # recommended ...

  7. 一文彻底弄懂并解决Redis的缓存雪崩,缓存击穿,缓存穿透

    缓存雪崩.缓存击穿.缓存穿透是分布式系统中使用缓存时,常遇到的三类问题,都会对系统性能和稳定性产生严重影响.下面将详细介绍这三者的定义.产生原因.危害以及常见的解决方案. 1. 缓存雪崩 1.1 定义 ...

  8. 如何将rust日志输出到android终端

    本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议.转载请注明来自 唯你 背景 在 Rust 中,使用 println!打印日志时,输出实际上是发送到标准输出(stdout),而 ...

  9. JavaScript对象获取属性的方法(.和[]方式)

    js对象获取属性有两种方法:1.通过.的方式  2. 通过[]方式 // 通过.方式获取属性值,key是静态的 var aa = {name: "zhang", age: 18}; ...

  10. JS 数组转对象 对象转数组 对象数组互相转换 数组对象互相转换

    JS 数组转对象 对象转数组  对象数组互相转换  数组对象互相转换 声明一个函数,arr_obj ,里面接收一个参数,参数类型只接受对象或者数组 如果没有传递任何参数  或者 传递的参数类型不符合要 ...