用Tomcat 和Eclipse开发Web 应用程序(部署+发布)配置用Tomcat 和Eclipse开发Web 应用程序(部署+发布)配置。
(/developerworks/cn/opensource/os-eclipse-tomcat/)创建一个新的 Web 项目从 Eclipse IDE,选择File > New > Project查看项目向导。
在 Wizards 框,输入 Web,而 New Project 窗口会过滤向导以只显示匹配的那些项。
利用这种方法可以很容易找到向导,而无需遍历每一项。
从列表中选择Dynamic Web Project。
我们要使用 Standard Web Project Wizard 来建立静态 HTML Web 项目。
虽然您也可以在技术上使用 Tomcat 运行静态Web 站点,但 Web 服务器,比如 Apache Web Server 更适合于静态内容。
专门为服务于静态页面而设计的 Web 服务器拥有的开销更少,且专为此目的作了调优。
以运行库为目标在Target Runtime下,可以看到 <None>,如图 4 所示,由于您尚未为 Apache Tomcat 创建运行库,所以需要单击New打开New Target Runtime Wizard。
从 Apache 文件夹中选择 Apache Tomcat V5.5,如图 5 所示,然后单击Next。
图 4.创建一个新的动态 Web 项目图 5.创建一个新的服务器运行库现在,您可以命名此运行库,当然保留 Apache Tomcat V5.5 的默认名也可以。
单击Browse来定位用于 Apache Tomcat 配置的基本文件夹(我的是C:\apps\apache-tomcat-5.5.20,如图 6 所示)。
若无特殊原因,我建议不要更改,保留IBM® Java Runtime Environment (JRE) 版本作为工作台的默认 JRE。
输入有效目录之后,单击Finish创建运行库配置。
图 6. 定义服务器位置您还需要选择是否想要转换到 J2EEPerspective。
我总是选择是,因为这个透视图包含了一些很有用的视图,比如 Servers 视图,可以帮助您日后启动和停止 Tomcat。
通过选择Window > Show View可以打开 Servers 视图。
添加服务器Servers 视图目前没有包含任何内容。
此视图针对的是应用程序和 Web 服务器;它让您可以控制它们并监视其状态。
要从 IDE 直接控制 Tomcat,可通过从上下文敏感菜单选择New > Server来向 Tomcat 添加引用。
图 7 所示的New Server向导将默认指向刚刚创建的那个 Apache Tomcat V5.5 运行库。
图 7. 定义新服务器单击Next。
系统提问您是否想要向服务器添加项目。
选择在之前的步骤中创建的那个项目,然后单击Add。
图 8. 向服务器添加项目单击Finish关闭向导。
现在,Servers 视图包含了 Tomcat V5.5 Server,且其下还包含项目。
图 9. Servers 视图中的 Tomcat 服务器创建示例页测试新的动态 Web 项目以及 Tomcat 服务器集成的最简单方法是创建简单的JSP 并将其部署到 Tomcat。
您可以通过选择File > New > Other创建新的 JSP文件,或者您也可以使用上下文敏感菜单,方法是右键单击 Project Explorer 视图中的项目名称,并选择New > JSP。
确保父目录是 WebContent,并将此文件命名为 index.jsp。
单击Finish使用默认模板创建页面。
如果单击Next,还可以选择想要为新页面选用的模板(比如 HTML 或 XHTML)。
对于本测试而言,可保留默认选项。
如下所示的页面代码显示了一个简单的日期,这表明该代码可以正常工作。
清单 1. index.jsp 的内容<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"><title>My Title</title></head><body><% java.util.Date d = new java.util.Date(); %><h1>Today's date is <%= d.toString() %> and this jsp page worked!</h1></body></html>部署此页测试页完成后,可使用 Eclipse 将其重新部署到 Apache Tomcat。
在 Servers 视图,注意到 State 已被设置成 Republish。
这是因为自项目上次部署到服务器以来,已经发生了很多更改。
右键单击此服务器并从菜单中选择Publish。
一旦项目被部署到此服务器,状态就会变成 Synchronized。
项目成功部署且服务器成功启动之后,可以打开浏览器并导航到http://localhost:8080/[ProjectName]/(其中 [ProjectName] 是所创建的动态 Web 项目的名称)。
您所创建的新的 Web 页会随即出现,且日期应该是当前日期。
如果刷新页面,日期还会随之变化。
图 10. index.jsp 在浏览器中的输出Hello World servlet您可以向您的项目添加 Java servlets 并加以部署。
要为测试的目的而快速创建一个 servlet ,可以使用 Servlet Wizard ,方法是右键单击 Project Explorer 视图中的动态 Web 项目并选择 New > Other 。
在 Web 文件夹下,选择 Servlet ,然后单击 Next 。
将包名称 com.example.servlets 添加到 Java Package 旁,将 HelloServlet 添加到 Class name 旁。
单击 Finish 。
作为示例,可以保留默认值。
Eclipse IDE 会生成一个 servlet 类。
要查看应用当中的这个测试用 servlet ,可以在 doGet() 方法中添加一行代码来向 ResponseWriter 打印消息。
servlet 类应该类似如下所示的这个。
清单 2. HelloServlet.java 的内容package com.example.servlets;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends javax.servlet.http.HttpServletimplements javax.servlet.Servlet {public HelloServlet() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.getWriter().write("Hello, world!");}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-generated method stub}}添加此 servlet 后,Eclipse IDE 会提示项目有所更改。
重新查看一下 Servers 视图;Restart 现在出现在 Tomcat 服务器旁的 Status 列。
要重启此服务器,右键单击 Servers 视图中的此服务器,然后选择Restart > Start。
打开浏览器并导航到 http://localhost:8080/[ProjectName]/HelloServlet(其中[ProjectName] 是动态 Web 项目的名称)。
文本 "Hello, world!" 将会出现在浏览器窗口中。
您可以添加日期,将与 index.jsp 文件中的类似的代码添加到doGet() 方法,并使用 Eclipse IDE 重新部署 servlet。