Servlet+JSP

需要说明的是,其实工具的版本不是主要因素,所以我下面忽略版本。

你能搜到这篇文章,说明你已经知道怎么部署Tomcat,并运行自己的网页了。

但是,我们知道,每次修改源文件,我们总得手工把文件copy到tomcat目录里。这很麻烦,而且说不定你就乱了,忘记哪个要修改什么的。这对于调试非常不利。

所以,如果能把编辑和部署都在eclipse里面完成,那就省事多了。

要做到这一点,我们需要一个eclipse插件:Sysdeo。

 

插件的安装不用多说了吧,下载后解压到eclipse的plugins文件夹里。

然后需要做一点配置:

安装完插件后,就能在Eclipse里面启动和关闭tomcat了。

 

然后,这个插件很重要的一点是:为我们提供了创建项目的功能。

在file->new里面找到“Tomcat Project”的选项。

创建一个项目后,我们可以看到这样的目录结构:

Servlet+JSP_第1张图片

可以发现,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

 

你可能感兴趣的:(Servlet+JSP)