需要说明的是,其实工具的版本不是主要因素,所以我下面忽略版本。
你能搜到这篇文章,说明你已经知道怎么部署Tomcat,并运行自己的网页了。
但是,我们知道,每次修改源文件,我们总得手工把文件copy到tomcat目录里。这很麻烦,而且说不定你就乱了,忘记哪个要修改什么的。这对于调试非常不利。
所以,如果能把编辑和部署都在eclipse里面完成,那就省事多了。
要做到这一点,我们需要一个eclipse插件:Sysdeo。
插件的安装不用多说了吧,下载后解压到eclipse的plugins文件夹里。
然后需要做一点配置:
安装完插件后,就能在Eclipse里面启动和关闭tomcat了。
然后,这个插件很重要的一点是:为我们提供了创建项目的功能。
在file->new里面找到“Tomcat Project”的选项。
创建一个项目后,我们可以看到这样的目录结构:
可以发现,Servlet相关的类库已经帮忙加载了。
里面比较重要的文件夹有:
WEB-INF:这个很熟悉吧,web.xml文件放在里面。
WEB-INF/src:要创建Servlet,只需要在这里建普通的java类就可以了。
work:jsp编译后生成的.java文件,就放在这里。
首先,创建一个Servlet:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<HTML><BODY>Hello world!</BODY></HTML>"); } }
然后创建web.xml并配置:
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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" version="2.4"> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/Info</url-pattern> </servlet-mapping> </web-app>
再创建一个jsp文件(逻辑有问题,勿深究):
NumberGuess.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" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>NumberGuess</title> </head> <body> <%@ page import="java.util.*" %> <%! int answer=0; %> <%! int numberGuesses=0; %> <% String guess=request.getParameter("guess"); if(guess==null) { %> Welcome to the Number Guess game.<p> <% answer=Math.abs(new Random().nextInt()%100)+1; numberGuesses=0; } else { int value=Integer.parseInt(guess); if(value==answer) { %> Congratulation! You got it.<br> And after just <%= numberGuesses %> tries.<p> Care to <a href="NumberGuess.jsp">try again</a>?<p> <% } else { %> Good guess, but nope. Try <% numberGuesses++; if(value<answer) { %> <b>higher.</b>.<p> <% } else if (value>answer) { %> <b>lower</b>.<p> <% } } } %> I'm thinking of a number between 1 and 100.<p> <form method=get action="NumberGuess.jsp"> What's your guess? <input type=text name=guess> <input type=submit value="Submit"> </form> </body> </html>
在eclipse里启动Tomcat,然后分别在浏览器里敲入:
http://localhost:8080/nihao/Info
http://localhost:8080/nihao/NumberGuess.jsp
正常运行!bingo!
我们发现,整个操作过程中,我们并没有把文件拷贝到Tomcat的工作目录下。而且,就算eclipse关闭了,依然能跑,这是为什么?
通过观察,发现在tomcat->conf->server.xml里面增加了这么一行:
<Context path="/nihao" reloadable="true" docBase="C:\Users\Administrator\Desktop\WorkSpace05\nihao" workDir="C:\Users\Administrator\Desktop\WorkSpace05\nihao\work" />
所以,是这个插件把tomcat的工作目录重定向了,这样很方便开发。
如果要重新加载项目,右键目录树->import->General->Existing Projects into Workspace->选择项目
如果缺少包什么的,右键项目->Properties->Libraries->AddJars
Add External JARs就是把JDK压缩一下ZIP加载下
Add Library.. 添加 JRE System Library