博客《在Eclipse中如何创建JavaWeb工程》中图文并茂的说明了Eclipse中创建JavaWeb工程的方法;博客《如何为Eclipse开发工具中创建的JavaWeb工程创建Servlet》则说明了如何为Eclipse内创建的JavaWeb工程创建Servlet;本篇博客将告诉大家如何发布在Eclipse开发工具中创建的JavaWeb工程:
1、为了更好地看到效果,进行如下操作:
a)、将博客《如何为Eclipse开发工具中创建的JavaWeb工程创建Servlet》中创建的Servlet修改为如下代码:
package com.ghj.packageofservlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!doctype html public \"-//w3c//dtd html 4.01 transitional//en\">");
out.println("<html>");
out.println("<head><title>超链接请求显示结果</title></head>");
out.println("<body>");
out.print("<center style=\"margin-top:20%;\"><font style=\"font-weight:bold;font-size:30pt;color:red;\">恭喜你,请求成功!本响应来自于Servlet。</font></center>");
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}
}
b)、在博客《如何为Eclipse开发工具中创建的JavaWeb工程创建Servlet》JavaWeb项目内的WebContent文件夹里新建index.jsp文件,文件代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试首页</title>
</head>
<body>
<a href="<%=basePath%>TestServlet">测试</a>
</body>
</html>
c)、整理一下web.xml,使其看着更顺眼,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.ghj.packageofservlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
点击Eclipse的“File”工具栏——>鼠标移动到“New Alt+Shift+N”选项,得到下图:
选中并点击上图“Other... Ctrl+N”选项,得到下图:
在上图文本框(被红框框定的区域)中输入“server”,得到下图:
鼠标双击上图中“Server”节点(或者选中该节点然后点击“Next >”按钮),得到下图:
6、点击上图中“Apache”节点(这里欲使用Tomcat发布本JavaWeb工程),得到下图:
7、选中“Tomcat v6.0 Server”节点,点击“Next >”按钮,得到下图:
8、点击上图“Browse...”按钮,找到并选中Tomcat服务器软件的根节点,然后点击“确定”按钮,得到下图:
说明:如果eclipse工作空间首次配置该版本的发布工程的服务器则会出现上图,当将其删掉再次创建相同的工程发布服务器时,上图将不会出现,而是直接出现下图,如下图:
9、选中已创建的test工程,点击“Add >”按钮,然后点击“Finish”按钮,至此发布JavaWeb项目的服务器创建完成,如下图:
10、选中上图被红框框定的节点,得到下图:
11、点击上图中“Start”选项,启动Tomcat,在浏览器中地址栏输入:http://127.0.0.1:8080/test/,然后点击回车会看到下图:
12、上图显示的是index.jsp文件,点击上图中的“测试”超链接,得到下图:
说明:上图来自于所创建的Servlet——TestServlet
答疑解惑:
1、我在Eclipse中首先创建了一个JavaWeb工程,然后创建了发布该工程的Tomcat服务器并且在创建过程中经过了上面的第8步和第9步,这个时候我又在Eclipse中创建了另一个JavaWeb工程,那么如果要发布该工程,我还需要再建一个发布该工程的服务器吗?如果我想删掉发布服务器中原来已发布的项目该怎样做呢?
这个问题很简单的——不需要再新建一个发布工程的服务器,怎么做呢?请注意查看第10步得到的图,不知道在该图中你看没看到一个”Add and Remove...“选项,找到该选项然后选中并点击它,剩下的一切你都明白了,呵呵呵,我偷会懒哈;至于要删除已发布的工程,这个问题也可以在点击”Add and Remove...“选项弹出的窗口中的到圆满的解决。
2、在Eclipse中新建了一个JavaWeb工程,然后通过点击”Add and Remove...“选项,在弹出的对话框中将该工程添加到已启动的Tomcat服务器中,访问首页时(首页一定存在)报错,提示页面找不到,这是怎么回事儿啊?
这里要注意一个细节:如果JavaWeb项目是在服务器启动的情况下添加到服务器的,那么添加完以后重启服务器刷新页面即可。