Java Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类
Web 应用程序开发人员通常编写 Servlet 继承 javax.servlet.http.HttpServlet 并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求
Hello World 第一个应用
下面的范例使用 Servlet 输出 Hello World
新建一个 HelloWorldServlet.java 文件,输入以下内容
HelloWorldServlet.java
实例
// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// 继承 HttpServlet 类
public class HelloWorldServlet extends HttpServlet
{
private String message;
public void init() throws ServletException
{
// 进行必要的初始化
message = "Hello World";
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
// 实际的逻辑是在这里
PrintWriter out = response.getWriter();
String title = message + " | runoops 自学教程(runoops.com)";
String docType = "<!DOCTYPE html> \n";
out.println(docType +
"<title>" + title + "</title>"+
"<body bgcolor=\"#f0f0f0\">" +
"<p>" + title + "</p>");
}
public void destroy()
{
// 什么也不做
}
}
编译 Servlet
- 把 HelloWorld.java 文件放到
D:\servlet
(Windows) 或/home/www/servlet
( Linux )目录中 - 把 D:\servlet(Windows)或 /home/www/servlet(Linux)目录添加到 CLASSPATH 中
- 假设我们的环境已经正确地设置,进入 servlet 目录,并编译 HelloWorldServlet.java
$ javac HelloWorld.java
- 如果 Servlet 依赖于任何其他库,你必须在 CLASSPATH 中包含那些 JAR 文件
在这里,我们只包含了 servlet-api.jar JAR 文件,因为我没有在 Hello World 程序中使用任何其他库该命令行使用 Java 软件开发工具包(JDK)内置的 javac 编译器为使该命令正常工作,你在 PATH 环境变量配置 Java SDK 的位置 - 如果一切顺利,编译命令会在同一目录下生成 HelloWorldServlet.class 文件
然后我们就可以把已编译的 servlet 部署到 Tomcat 容器中了
Servlet 部署
我们已经编译好了 servlet,现在可以将它部署到 Tomcat 容器中了
servlet 应用默认路径
默认情况下,Servlet 应用程序位于以下路径中
<Tomcat-installation-directory>/webapps/应用程序名
且类文件放在路径
<Tomcat-installation-directory>/webapps/应用程序名/WEB-INF/classes
<Tomcat-installation-directory>
是 Tomcat 的安装目录
如果我们开发的是一个完全合格的类名称 com.runoops.test.HelloWorldServlet ,那么这个 servlet 类必须位于 WEB-INF/classes/com/runoops/test/HelloWorldServlet.class
在这里,我们把应用程序名定为 servlet
也就是我们的 Tomcat 应用目录是
<Tomcat-installation-directory>/webapps/servlet
现在,我们把 HelloWorldServlet.class 复制到 <Tomcat-installation-directory>/webapps/servlet/WEB-INF/classes
目录中
然后在目录 <Tomcat-installation-directory>/webapps/servlet/WEB-INF/
新建 web.xml 文件并添加以下内容
<web-app>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/hello_world</url-pattern>
</servlet-mapping>
</web-app>
web.xml 文件中可能已经有各种可用的条目,但不要在意
到这里,我们基本上已经完成了,让我们使用 <Tomcat-installation-directory>\bin\startup.bat
(Windows)或 <Tomcat-installation-directory>/bin/startup.sh
(Linux)启动 tomcat 服务器
在浏览器的地址栏中输入 http://localhost:8088/servlet/hello_world
如果一切顺利,会显示如下: