Servlets - 示例

Servlet是为HTTP请求提供服务并实现 javax.servlet.Servlet 接口的Java类. Web应用程序开发人员通常编写扩展javax.servlet.http.HttpServlet的servlet,这是一个实现Servlet接口的抽象类,专门用于处理HTTP请求.

示例代码

以下是显示Hello World : 的servlet示例的示例源代码结构;

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

编译Servlet

让我们创建一个名为HelloWorld的文件.java与上面显示的代码.将此文件放在C:\ ServletDevel(在Windows中)或/usr/ServletDevel(在Unix中)中.在进一步继续之前,必须将此路径位置添加到CLASSPATH.

假设您的环境设置正确,请进入 ServletDevel 目录并编译HelloWorld.java,如下所示 :

$ javac HelloWorld.java

如果servlet依赖于任何在其他库中,您还必须在CLASSPATH中包含这些JAR文件.我只包含了servlet-api.jar JAR文件,因为我没有在Hello World程序中使用任何其他库.

此命令行使用随附的内置javac编译器Sun Microsystems Java软件开发工具包(JDK).要使此命令正常工作,您必须在PATH环境变量中包含您正在使用的Java SDK的位置.

如果一切正常,编译将产生 HelloWorld.class 文件位于同一目录中.下一节将解释如何在生产中部署已编译的servlet.

Servlet部署

默认情况下,servlet应用程序位于路径< ; Tomcat-installationdirectory>/webapps/ROOT和类文件将驻留在< Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classes.

如果您有完全限定条件类名 com.myorg.MyServlet ,那么这个servlet类必须位于WEB-INF/classes/com/myorg/MyServlet.class中.

For现在,让我们将HelloWorld.class复制到< Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classes中,并在< Tomcat-installation-directory>中的 web.xml 文件中创建以下条目;/webapps/ROOT/WEB-INF/

<servlet>
   <servlet-name>HelloWorld</servlet-name>
   <servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>HelloWorld</servlet-name>
   <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

要在< web-app> ...</web-app>内创建以上条目web.xml文件中提供的标记.这个表中可能有各种条目已经可用,但没关系.

你差不多完成了,现在让我们使用< Tomcat-installationdirectory> \\\\startup启动tomcat服务器.bat(在Windows上)或< Tomcat-installationdirectory>/bin/startup.sh(在Linux/Solaris等上),最后在浏览器的地址中键入 http://localhost:8080/HelloWorld 框.如果一切顺利,你会得到以下结果

Servlet示例