本文的演示是从本地文件创建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. Testing for diversifying selection for two clades with a background clade

    在利用branch-site检测趋同进化的时候 .可以将各个趋同进化枝分别进行检测,分析的时候不去除某一趋同枝系 .在分析的时候,需要去除其他趋同枝系的影响 I have sequences of a ...

  2. 20155217 实验四 Android程序设计

    20155217 实验四 Android程序设计 任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号. R.java文件是定义该项目所有资源的 ...

  3. 20155233 2016-2017-2《Java程序设计》课程总结

    20155233 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:预习去写博客,如何达到理想的师生关系. 预备作业2:对自己C语言的学习进行了解与认识. ...

  4. linux下order by 报出ORDER BY clause is not in SELECT list

    一.问题: 在程序执行查询的时候,order by 不能找到要排序的列 二.解决: 在linux环境下,程序之前连接其他库可以正常运行,但是换了一个库后数据就不能正常的显示了,查看后台报出排序列找不到 ...

  5. [BZOJ3678]wangxz与OJ-[Splay一类的平衡树]

    Description 传送门 Solution 直接splay搞定吧..似乎非旋treap也ok? 我已经菜到模板题都写不出来了qaq Code #include<iostream> # ...

  6. 【LG3973】[TJOI2015]线性代数

    [LG3973][TJOI2015]线性代数 题面 洛谷 题解 正常解法 一大堆矩阵乘在一起很丑对吧 化一下柿子: \[ D=(A*B-C)*A^T\\ \Leftrightarrow D=\sum_ ...

  7. 「LeetCode」0952-Largest Component Size by Common Factor(Go)

    分析 注意到要求的是最大的连通分量,那么我们可以先打素数表(唯一分解定理),然后对每个要求的数,将他们同分解出的质因子相连(维护一个并查集),然后求出最大的联通分量即可. 这里使用了筛法求素数.初始化 ...

  8. shell 参数

    转:http://hi.baidu.com/ipvsadm/item/489d9e16460195ddbe9042ee linux中shell变量$#,$@,$0,$1,$2的含义解释 linux中s ...

  9. 180723-Quick-Task 动态脚本支持框架之结构设计篇

    文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/ Quick-Task 动态脚本 ...

  10. Python单元测试--unittest(一)

    unittest模块是Python中自带的一个单元测试模块,我们可以用来做代码级的单元测试. 在unittest模块中,我们主要用到的有四个子模块,他们分别是: 1)TestCase:用来写编写逐条的 ...