当前位置:首页 » Servlets » Servlet快速入门指南

Servlet快速入门

Servlets快速入门指南实例代码在线教程,介绍如何快速写一个servlet的hell word例子程序 - Java Servlet的Web或应用程序服务器,并作为请求来自Web浏览器或其他HTTP客户端和HTTP服务器上的数据库或应用程序之间的中间层上运行的程序。

Servlet是什么?

Java Servlet的Web或应用程序服务器,并作为请求来自Web浏览器或其他HTTP客户端和HTTP服务器上的数据库或应用程序之间的中间层上运行的程序。

使用servlet,你可以收集来自用户的输入,通过网页形式,现在从数据库或其他来源的记录,并创建动态网页。

Java Servlet的服务程序使用公共网关接口(CGI)来实现同样的目的。但Servlet的与CGI相比提供了几个优点。

  • 性能明显更好。

  • Servlet的执行的Web服务器的地址空间内。这不是必要创建一个单独的进程来处理每个客户端请求。

  • Servlet是与平台无关的,因为它们是用Java编写的。

  • 在服务器上执行的Java安全管理器一组的限制,以保护服务器计算机上的资源。因此,Servlet是可信的。

  • Java类库的全部功能,是一个servlet。它可以与小应用程序,数据库或其他软件,你已经通过socket和RMI机制看到了。

Servlet的体系结构:

下图显示了在Web应用程序的位置Servelts。

Servlet软件包:

Java Servlet是运行的Web服务器上有一个解释器,支持Java Servlet规范的Java类。

Servlet可以使用在javax.servletjavax.servlet.http包,这是一个标准的Java企业版的扩展版本的Java类库,它支持大型开发项目的一部分。

这些类实现Java Servlet和JSP规范。在写这篇在线教程的时候,该版本是Java Servlet 2.5和JSP 2.1。

就像任何其他的Java类,创建和编译Java servlet。在您安装的servlet包,并将它们添加到计算机上的类路径中,你可以与JDK的Java编译器或任何其他编译器编译servlet

设置Java开发工具包

这一步涉及到下载的Java软件开发工具包(SDK),并适当地设置PATH环境变量的实现。
您可以下载SDK从Sun的Java servlet的网站:http://java.sun.com/products/servlet/.

一旦您下载的Java实现,按照给定的说明来安装和配置的设置。最后,设置PATH和JAVA_HOME环境变量指向的目录,其中包含java和javac,通常分别为java_install_dir/bin和java_install_dir。

如果您运行的是Windows SDK安装在C:\ jdk1.5.0_20,则需要在C:\autoexec.bat文件添加下面一行。

set PATH=C:\jdk1.5.0_20\bin;%PATH%
set JAVA_HOME=C:\jdk1.5.0_20

另外,在Windows NT/2000/XP中,您也可以右键单击“我的电脑”,选择“属性”,再“高级”,再“环境变量”。然后更新PATH的值,然后按“确定”按钮。

在Unix(Solaris和Linux等),如果SDK安装在/usr/local/jdk1.5.0_20,你使用的是C shell,你把下面的内容添加到.cshrc文件。

setenv PATH /usr/local/jdk1.5.0_20/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.5.0_20

另外,如果你使用像Borland的JBuilder,Eclipse的IntelliJ IDEA的,或Sun ONE Studio集成开发环境(IDE),编译并运行一个简单的程序,应该让IDE知道你在哪里安装Java。

设置Web服务器:Tomcat

许多的Web服务器支持Servlet是可以在市场上。有些Web服务器是可自由下载和Tomcat是其中之一。

Apache Tomcat是一个开放源代码的Java Servlet和JavaServer Pages技术的软件实现,可以作为一个独立的服务器进行测试的Servlet,并可以集成到Apache Web服务器。下面是在你的机器上安装TOMCAT的步骤:

  • 下载最新版本的Tomcat http://tomcat.apache.org/.

  • 一旦你下载安装,解压缩的二进制分发到一个方便的位置。例如,在C:\apache-tomcat-5.5.29在Windows上,或/usr/local/apache-tomcat-5.5.29在Linux/ Unix和创建CATALINA_HOME环境变量指向这些安装的位置。

Tomcat可以开始通过Windows机器上执行下面的命令:

 $CATALINA_HOME\bin\startup.bat
 
 or
 
 C:\apache-tomcat-5.5.29\bin\startup.bat

Tomcat可以启动UNIX(Solaris和Linux等)的机器上执行下面的命令:

$CATALINA_HOME/bin/startup.sh
or
/usr/local/apache-tomcat-5.5.29/bin/startup.sh

启动后,默认包含在Tomcat中的Web应用程序将可通过访问输入http://localhost:8080/。如果一切顺利,那么它应该显示以下结果:

有关配置和运行Tomcat的进一步信息包含在文档可以在这里找到,以及在Tomcat Web站点:http://tomcat.apache.org
停止Tomcat既可以通过Windows机器上执行下面的命令:


C:\apache-tomcat-5.5.29\bin\shutdown

Tomcat在Unix(Solaris和Linux等)机器停止可以执行下面的命

/usr/local/apache-tomcat-5.5.29/bin/shutdown.sh

设置CLASSPATH

由于servlet是不属于的Java平台标准版,必须确定Servlet类的编译器。
如果运行的是Windows,需要在C:\autoexec.bat文件中添加以下行。


set CATALINA=C:\apache-tomcat-5.5.29
set CLASSPATH=%CATALINA%\common\lib\servlet-api.jar;%CLASSPATH%

另外,在Windows NT/2000/XP中,您也可以右键单击“我的电脑”,选择“属性”,再“高级”,再选“环境变量”。然后将更新CLASSPATH的值,然后按“确定”按钮。

在Unix(Solaris和Linux等),如果使用的是C shell,你把下面的几行到.cshrc文件。

setenv CATALINA=/usr/local/apache-tomcat-5.5.29
setenv CLASSPATH $CATALINA/common/lib/servlet-api.jar:$CLASSPATH

注:假设你的开发目录是C:\ServletDevel(Windows)或/usr/ServletDevel(UNIX),那么你就需要在CLASSPATH中添加这些目录以及类似的方式,类似已经在上面添加一样

简单Hello World示例代码:

下面是示例的源代码结构的一个servlet的例子: Hello World:

// 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(窗口)或/usr/ServletDevel(UNIX),那么你将需要添加这些目录在CLASSPATH中。
假设你的环境是正确,进入ServletDevel目录和编译HelloWorld.java中如下设置:

$ javac HelloWorld.java

如果servlet依赖于任何其他库,你必须在你的CLASSPATH中包括JAR文件以及。我的servlet-api.jar只包括JAR文件,因为这里没有使用任何其他库中的Hello World程序。

此命令行使用内置的javac编译器附带的Sun Microsystems Java软件开发工具包(JDK)。为使此命令正常工作,必须包括您所使用的Java SDK的位置到PATH环境变量。

如果一切顺利,上面编译生成HelloWorld.class的文件在同一目录下。下一节将解释如何将部署在生产一个编译Servlet。

Servlet 部署:

默认情况下,一个servlet的应用程序位于路径<Tomcat-installation-directory>/webapps /ROOT目录和类文件在<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes中。

如果有一个完全合格的类名称com.myorg.MyServlet,那么这个servlet类必须位于WEB-INF/classes/com/myorg/MyServlet.class中。

现在,让我们HelloWorld.class复制到<Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes中,并在web.xml文件中创建以下条目在<Tomcat-installation-directory>/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应用程序>标签在web.xml文件中。有可能是在此表中的各个条目已经可以,但不要在意。

几乎已经完成了,现在让我们使用<Tomcat-installation-directory>\BIN\的startup.bat(在Windows上)或<Tomcat-installation-directory>/BIN/startup.sh(启动tomcat服务器上的Linux / Solaris等),最后在浏览器的地址框中输入http://localhost:8080/HelloWorld。如果一切顺利,你会得到下面的结果:


要详细的servlet,可以通过完全在线教程: Java Servlets.