博客《在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>
2、点击Eclipse的“File”工具栏——>鼠标移动到“New Alt+Shift+N”选项,得到下图:
3、选中并点击上图“Other... Ctrl+N”选项,得到下图:
4、在上图文本框(被红框框定的区域)中输入“server”,得到下图:
5、鼠标双击上图中“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项目是在服务器启动的情况下添加到服务器的,那么添加完以后要重启服务器,即选中并点击第10步图中的”Restart“选项,然后刷新页面即可。