当前位置:首页 » Servlets » Servlet包

Servlet包

Servlets包实例代码在线教程 - 涉及到WEB-INF子目录中的Web应用程序结构标准,所有的Java web应用程序,并指定由servlet API规范。

涉及到WEB-INF子目录中的Web应用程序结构标准,所有的Java web应用程序,并指定由servlet API规范。给定一个顶级目录名myapp,下面是这个目录结构看起来像:

/myapp
    /images
    /WEB-INF
        /classes
        /lib

WEB-INF子目录中包含应用程序的部署描述符为web.xml。所有的HTML文件,在顶层目录myapp。对于admin用户,你会发现ROOT目录以myApp为父目录。

在包中创建Servlet:

在他们的包的名称相匹配的结构,WEB-INF/classes目录包含了所有的Servlet类和其他类文件。例如,如果你有一个完全合格的类名称com.myorg.MyServlet,那么这个servlet类必须位于以下目录中:

/myapp/WEB-INF/classes/com/myorg/MyServlet.class

下面的例子创建一个MyServlet类在包名为com.myorg中。

// Name your package
package com.myorg;  

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class MyServlet 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. - www.gitbook.net
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // do nothing.
  }
}

编译Servlet套件:

没有大的变化,可在包反编译一个类。最简单的方法是让你的java文件的完全限定路径,如上面提到的类将被保留在com.myorg。您还需要在CLASSPATH中添加这些目录。

假设你的环境已正确设定,在<Tomcat-installation-directory>/webapps/ ROOT/WEB-INF/classes目录和如下编译MyServlet.java:

$ javac MyServlet.java

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

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

如果一切顺利,上述编译会产生MyServlet.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中,需要创建条目在web.xml文件,这个文件位于以下<Tomcat-installation-directory>/webapps /ROOT/WEB-INF/目录

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>com.myorg.MyServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>

上面的条目要创建内部<web-app>...</ web-app>标签在web.xml文件中。有可能是在此表中的各个条目已经可用,但不要在意。

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

Hello World