转自: http://raymondhekk.iteye.com/blog/687282

目前,很多项目基于 maven 进行开发,构建和发布。 而在开发阶段,IDE 集成式开发提供了更为高效的一种开发模式: 无需频繁maven install 构建,代码修改无需重启,jsp或模板无需重启等。

下面以一个完整的 java web项目为例,说明如何基于eclipse WTP 进行快速 Web 开发。 
   本文将分两部分: 
  1. 建立3个准备项目 
  2. 配置 tomcat 进行集成web开发。

建立3个准备项目 
  为了演示,我们需要建立 1 个web项目, 2个 java项目,创建一个简单的 HelloWorld 应用,用户通过页面输入username,将返回一串响应字符串。

1) web 项目: bundle.war, 存放页面和web配置 
2) java前端项目: web-hello, 存放表示层Java代码 
3) java服务项目: biz-hello-service, 存放业务代码

其中,web项目依赖于这两个java 项目。

1. 建立 biz-hello-service 项目 
   打开新建对话框,选择 java project,如下图所示 
 
   在项目名称中输入 biz-hello-service

2. 照样子新建 web-hello 项目,它也是一个Java项目,用于存放表示层Java代码 
  

3. 新建web页面项目 bundle.war 
  打开新建对话框,选择“Dynamic Web Project”,项目名:bundle.war, 在提示输入内容目录时,输入 webapp。

4. 新建完成 
   3个项目完成之后,项目视图如下所示:

5. 设置依赖 
  在 web-hello 工程上,点击右键菜单,选择 project property, 在 projects 依赖中选择 biz-hello-service。 因为 表示层Java代码需要依赖 业务层代码。

同理设置 bundle.war 项目的依赖关系,它需要依赖 其他两个java project。


6. 设置 Java JEE Dependencies 依赖
 
    注意,这一步很关键。 
    WTP 要正确运行 bundle.war 项目,还需要在 project property 对话框“Java JEE Dependencies”一节中设置依赖,如下图所示。 如果不设置,依赖的Java代码无法复制到相应位置,Java代码将无法运行。

建立好 3 个工程,并正确设置好依赖关系后,我们将在WTP中配置 tomcat。

1. 打开 Servers View 
通过 Window/Select View/Other... 菜单,找到 Servers 视图,并打开。

2. 添加 tomcat 
   (请首先在 apache 网站下载最新tomcat,例如:6.0.26) 
  在  Servers View 点击右键,选择 New/Servers 菜单,打开“New Server”对话框。 
  选择 tomcat 6.0 

在新建tomcat对话框中,通过“browse”按钮选择 tomcat 的目录, JRE 选择 Jdk 的目录,然后确定。 

这样就创建好了 tomcat。

4. 启动 tomcat 
   Servers 视图标题栏中,依次是 Debug,Run,Profileing,Stop 按钮。 
   

点击 Debug 按钮,以Debug 方式启动 tomcat,此模式下,修改Java代码可以实现热替换。 
  

在Servers 视图双击“Tomcat v6.0 Server at localhost”节点, 打开服务器配置编辑页, 选择 Modules 标签:  

   最关键的一步! 缺省修改Java代码后,WTP不重启tomcat server,但是会重启servlet 容器,对于大型项目,这仍然不是敏捷的开发。 
   这一步,由于网络文档不全,以前摸索了很久。

选择我们部署的 /bundle.war 工程,点击编辑按钮,打开“Edit Web Module”对话框,去掉“Auto Reloading Enabled”选项。 这样,修改完java 代码后,tomcat 就不会重启 servlet 容器。 
   

3. 部署 bundle.war 项目

然后通过右键,add and remove 菜单将bundle.war 添加到部署项目中。 
   这样,我们就可以开始基于 WTP 开发了。  

在前两节我们在WTP中配置好了tomcat,并创建了3个用于演示的项目, 下面以代码范例介绍一下WTP集成开发的过程。

1. 建立业务层代码 HelloService 
   在  biz-hello-service 工程中新建 HelloService  类。

Java代码  
  1. package com.aligege.wtp;
  2. public class HelloService {
  3. public String sayHello(String name) {
  4. return "Hello " + name + ". Time is " + new Date();
  5. }
  6. }

2. 表示层逻辑  
  在 web-hello 工程中新建 HelloAction,它调用 HelloService 完成功能。

Java代码  
  1. package com.aligege.wtp;
  2. public class HelloAction {
  3. public String sayHello(String name) {
  4. HelloService helloService = new HelloService();
  5. return "[Action]" + helloService.sayHello(name);
  6. }
  7. }

3. 完成页面逻辑 
  在 bundle.war 项目 的webapp 目录下新增 index.jsp , 其中包含一个表单,提交一个username 文本框, 服务端接收参数后, 调用 HelloAction 将其输出出来。

Xml代码  
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@page import="com.aligege.wtp.HelloAction"%>
  3. <html>
  4. <body>
  5. <form >
  6. <input name="username"/>
  7. <input type="submit" value="submit"/>
  8. </form>
  9. <%
  10. String name = request.getParameter("username");
  11. HelloAction helloAction = new HelloAction();
  12. String result = helloAction.sayHello(name);
  13. %>
  14. 结果:<%=result%>
  15. </body>
  16. </html>

4. 运行 index.jsp 页面  
  tomcat 启动完毕后,打开浏览器,访问 http://localhost:8080/bundle.war/,可以看到页面。 
  

5. 修改 Java 代码  
  修改 HelloAction 代码,将“[Action]”修改为“[Action.Test]”,代码如下:

Java代码  
  1. return "[Action.Test]" + helloService.sayHello(name);

不重启服务器,refresh 页面, 可以看到,Java 代码的修改已经生效。

6. 修改 JSP 代码  
  修改 index.jsp , 将 "结果:<%=result%>" 照如下修改JSP:

Java代码  
  1. 结果是:<%=result%>

不重启服务器,refresh 页面,页面将发生变化 

7. 调试Java 代码  
   我们选择的启动方式是 Debug,可以方便的实现调试功能。 
   在 HelloAction 方法中增加一个断点,再此刷新页面,Eclipse 将转到 Debug 透视图。 
  

在这个透视图下,我们将可以观察到调试代码的位置,变量值等信息。 上图中,可以观察到, sayHello 方法的 name 参数值为 “Jacky”。

此外  调试命令为:  
F5,单步进入 
F6,单步执行 
F7,单步跳出, 
F8,继续执行到下一个断点。

【总结】 
  通过这个练习,实现了 IDE 集成开发Java Web 项目。Java代码和JSP修改后,不用重启服务器,就能立即看到效果,并集成调试Debug,实现高效敏捷的开发。 
  无论对于小型技术项目,还是企业级前端 Web 项目,利用好 WTP 这类工具,会大大提高项目的开发效率。

使用Eclipse WTP进行快速Web开发相关推荐

  1. 用于快速Web开发的5大Python Web框架

    用于快速Web开发的5大Python Web框架 我们将讨论用于快速Web开发的5大Python Web框架.开发这些框架是为了简化网站开发过程.Web框架基本上是Web开发的软件框架.Web框架是一 ...

  2. python开发web教学视频_Python快速Web开发入门与实践视频课程

    Python快速Web开发入门与实践欢迎来到KK的<Python快速Web开发入门与实践>捧场!下面请允许我为这套课程做一点介绍. <Python快速Web开发入门与实践>是一 ...

  3. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。

    为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - ...

  4. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境

    作者:Przemyslaw Piotrowski 通过可靠的 Oracle 数据库 10g.可伸缩的 Apache Web 服务器以及直观的.面向对象的 Python 编程语言学习高级 Web 编程. ...

  5. Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发

    在"30天学习30种新技术"的第六天,我决定去学习一个 web 开发框架 : Grails. Grails 是一个基于 Groovy 和 Java 的开源 Web 框架.它是 Ja ...

  6. 利用 Bootstrap 进行快速 Web 开发

    浏览器开发人员最后将其支持全都聚集在标准上,比如 HTML5.级联样式表 2 级 (CSS2) 和 CSS3.这些标准减少了浏览器行为自 Web 全面启动开始以来困扰开发人员和设计人员的许多不合理变化 ...

  7. eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...

    Java Web: 顾名思义,就是用Java的方式来解决Web开发,我也不讲太多的理论问题,直接将如何上手来进行Java Web开发. 那么,我们一般进行Java Web开发,可以使用的工具很多,我这 ...

  8. Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境

    Eclipse 3.5 Classic+Tomcat 6.0+MySql 5.5搭建java web开发环境 对于初学者来说,如果没有接触过java web开发的话,搭建开发环境将是一个门槛.以前一直 ...

  9. Eclipse中Java Web开发插件安装

    eclipse官方网站上下载的标准版Eclipse是没有web开发环境的,为了能够进行web开发,需要安装一些插件.web开发需要的插件有 1.EMF: Downloads | Project hom ...

  10. Python+Dash快速web应用开发——基础概念篇

    作者:费弗里 来源:Python大数据分析 ❝本文示例代码与数据已上传至https://github.com/CNFeffery/DataScienceStudyNotes ❞ 1 简介 这是我的新系 ...

最新文章

  1. ISA2006标准版,本地主机不能上网问题的解决一例
  2. 数据库-SQL中like的用法
  3. 拦截器获取请求参数post_SpringBoot拦截器如何获取http请求参数
  4. Lucene进阶操作,单字段、多字段和布尔搜索
  5. 设置RDLC中table控件的表头在每页显示
  6. socket网络编程实现远程备份
  7. MacVim配置目录树
  8. ffmpeg和SDL教程 04:创建线程
  9. MAC配置thinkPHP的心路历程(课设vue-tpadmin商城)
  10. 这个用PHP开发的全开源商城系统可免费商用
  11. HTML实现可编辑下拉框
  12. 2022-2028年全球与中国机身导线行业产销需求与投资预测分析
  13. Allegro焊盘种类
  14. Thompson Sampling(汤普森采样)
  15. 采用ASP.NET使用C#.NET语言开发的在线学生选课系统(源码+数据库+论文)
  16. 【C++进阶】第二十篇——map和set(map和set的用法+multimap+multiset+map和set代码实现)
  17. Linux中Python程序CPU占用高排查
  18. [创业谈]从推广角度看网站分类及其他
  19. stata进行空间计量分析
  20. 基于Python仓库管理系统的设计与实现django框架

热门文章

  1. RandomAccessSource not opened
  2. uniapp安卓上传图片有时候会自动旋转问题解决
  3. android 文件管理器 apk,Android6.0自带文件管理器无法打开apk文件
  4. Magento创建主题
  5. v2ex站长专访 - 100offer专访Livid:不仅仅是V站站长
  6. 【迁移学习】STL(Stratified Transfer Learning)小结
  7. imx8mn同核异构开发cortex-M7
  8. 烽火2640路由器命令行手册-03-广域网配置命令
  9. 华为往事(五)--Camp;C08
  10. EI检索ISTP检索ICFMD 2011年制造与设计科学技术会议