本文的演示是从本地文件创建dynamic web project,从svn检出的同时创建dynamic web project于此类似。我们推荐使用解压版的tomcat6.x版本,来作为服务器。可以到http://tomcat.apache.org 下载。 在创建动态web项目之前,我们先创建一个Server用于在eclipse里运行和调试web项目。

创建一个Server

创建Server是为了方便在eclipse里启动和调试dynamic web project,我们以创建一个使用tomcat的server为例,基本按照截图按部就班就可以了:

  • 新建一个Server项目

  • 我们选择tomcat6,并关联到我们的tomcat目录

  • 在下图中,如果你的项目里有dynamic web project的项目,那么会自动列在左侧的框里,你可以选择其中一个或几个到右边的框里,在finish后,eclipse会把这些项目注册给该Server,即在该Server的server.xml里添加类似<context docBase="simplejeeWebContent" path="/simplejee"></context>

    的内容。如果你熟悉tomcat对这个一定很熟悉。

  • 完成后你会看到如下的一个窗口,如果看不到的话,可按照第二幅图的样子打开相应的view。

  • 这样一个server就配好了。点击上图中绿色的运行按钮,就可以使用Server下的配置运行你的tomcat了。

创建dynamic web project

eclipse本身的dynamic web project类似MyEclipse的web project,如果在MyEclipse里创建dynamic web project的话,需要在创建新项目时,选中Show All Wizards:

  • 和创建其他项目类似,还是从file->new->other->web->dynamic web project,

  • 填写项目的相关信息。在该界面里有个project contents,模式是在你的workspace下,你也可以随便选择其他位置,或则是已经存在的文件。我自己是习惯把项目文件放在其他单独的文件夹里。

注意这里的内容,如果你是用的MyEclipse的web project的话,content directory的值默认为WebRoot,你需要修改为WebContent,因为我们的脚本都是按照WebContent来写的。

点击确定后,可能会弹出下面这个警告框,是问你是否切换到和该项目类型关联的JavaEE视图上。所谓视图简单的讲就是view的组合。

  • 项目创建这样就完成了,在你左侧项目栏里会出现如下内容(具体显示方式和你是在什么view里查看是相关的,图示是Navigator下的显示形式)

  • 你还可以根据你的习惯修改一下项目的相关配置,我自己习惯将java文件编译到WebContentWEB-INFclasses下,这个你可以点击Source的tab,修改default output folder的内容。另外注意下图中的Apache tomcat v6.0这是引入的Server对应的一堆jar包,而Web App libraries是指你项目下的WebContent/lib下的所有的jar包,当你在WebContent/lib下添加新jar的时候,就不需要自己Add Jars了。

  • 在项目根目录上右键,然后run as,选run on server,就可以在eclipse里运行该项目了。

断点调试

在创建了Server和Dynamic Web Project后,调试java代码,只要在运行项目时选择Debug As就可以了,另外还有种方式是Remote Java Project。  

这种方式需要再给tomcat写个脚本

debug.bat

view source1SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=58882call startup.bat小技巧

如下,会持续补充中:

  • 当你的项目比较大又想在eclipse里启动tomcat来运行的话,常常会因为超时而失败,这时可以双击Servers的view里的某个Server,这时会出现,下图上半部分的内容,可以在Timeouts里将超时时间加长

在Eclipse中开发WEB项目的更多相关文章

  1. 部署Eclipse中的Web项目到Tomcat服务器运行

    用Eclipse开发Web项目时,可以通过Tomcat服务器运行Web项目,此时Web项目被部署在[WorkSpace]\.metadata\.plugins\org.eclipse.wst.serv ...

  2. 在Eclipse中调试web项目

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

  3. 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.

    问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...

  4. 在Eclipse中修改web项目的名称

    在Eclipse中修改web项目的名称 一.误区: 单击要修改名称的项目上右键Refactor->Rename,然后修改成另外一个名称 (光这样是不够的,哪怕你再修改web.xml中的displ ...

  5. Eclipse中的Web项目自动部署到Tomcat的webapp目录下

    Eclipse中的Web项目自动部署到Tomcat   原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 ...

  6. 【Maven】【IDEA】在idea中开发web项目,解决maven的jar包冲突的方法

    在idea中开发web项目,解决maven的jar包冲突的方法 第一步: 先对项目进行 clean ,再进行install 第二步: 出现NoSuchMethodException,ClassNotF ...

  7. eclipse中maven web项目部署时缺少classes文件或者resources文件

    写这篇博客的原因 问题描述 昨天发现eclipse中maven web项目部署时缺少classes文件或者resources文件 本来以为是很常见的原因, 依次检查"Java Build P ...

  8. 关于 Eclipse中的Web项目 部署的文件位置 查看jsp源码的部署位置

    使用 eclipse 开发web项目 会默认 部署在 工作目录下: .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps 在这里 ...

  9. Eclipse中的Web项目自动部署到Tomcat

    原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写博客,现在感觉还是很有必要的,编程中每个人对于犯过的错误 ...

随机推荐

  1. C++基本概念复习

    照着https://www.w3cschool.cn/cpp/,把C++的基础概念顺了一遍,虽然很久没用C++,还是整理一下. #include "stdafx.h"; #incl ...

  2. 20155229 2016-2017-2 《Java程序设计》第四周学习总结

    20155229 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 第六章: extends:继承某个类,继承之后可以使用父类的方法,也可以重写父类的方法,只要 ...

  3. 20155230 2016-2017-2 《Java程序设计》第四周学习总结

    20155230 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 1.使用extends进行扩充继承时private也会被继承但是子类不能在其中直接存取. 2 ...

  4. 20155318 2016-2017-2 《Java程序设计》第二周学习总结

    20155318 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 Java编程风格 基本语法与C相似:调用main函数写public static void ...

  5. 20155339 2016-2017-2 《Java程序设计》第4周学习总结

    20155339 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 继承.多态与is-a 继承就是避免多个类间重复定义共同行为. 可以把相同的成粗代码提升为父类 ...

  6. Swift3.0字符串大小写转化

    Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的转换是很费时的.在NSString中提供了 ...

  7. Elasticsearch6.2集群搭建

    Elasticsearch6.2集群搭建 2018年04月02日 11:07:45 这个名字想了很久 阅读数:14154    版权声明:本博客为学习.笔记之用,以笔记形式记录学习的知识与感悟.学习过 ...

  8. iOS 关于在提交了APP等待审核之后,发现小Bug需要再提一个版本的说明

    昨天晚上加班到深夜终于将APP推上去,今天早上过来再测试一遍的时候,发现需要一个小调整.而此时应用的状态是正在等待审核,随手记录一下这种情况下,提交一个新版本的做法,有需要的可以参考一下. 01-进入 ...

  9. Android开发笔记——ListView模块、缓存及性能

    ListView是Android开发中最常用的组件之一.本文将重点说明如何正确使用ListView,以及使用过程中可能遇到的问题. ListView开发模块 图片缓存 可能遇到的问题 一.ListVi ...

  10. 转发——谷歌云官方:一小时掌握深度学习和 TensorFlow

    转发——谷歌云官方:一小时掌握深度学习和 TensorFlow 本文转发自新智元,链接如下: http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==& ...