Servlet 3.1 第一个应用
Java Servlet 是服务 HTTP 请求并实现 javax.servlet.Servlet 接口的 Java 类
Web 应用程序开发人员通常编写 Servlet 继承 javax.servlet.http.HttpServlet 并实现 Servlet 接口的抽象类专门用来处理 HTTP 请求
Hello World 第一个应用
下面的范例使用 Servlet 输出 Hello World
新建一个 HelloWorldServlet.java 文件,输入以下内容
HelloWorldServlet.java
// author: 简单教程(www.twle.cn) // Copyright © 2015-2065 www.twle.cn. All rights reserved. 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 + " | 简单教程(www.twle.cn)"; 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 的安装目录
如果我们开发的是一个完全合格的类名称 cn.twle.demo.HelloWorldServlet ,那么这个 servlet 类必须位于 WEB-INF/classes/cn/twle/demo/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:8080/servlet/hello_world
如果一切顺利,会显示如下