Servlet - 包
-
简述
涉及 WEB-INF 子目录的 Web 应用程序结构是所有 Java Web 应用程序的标准,并由 servlet API 规范指定。给定 myapp 的顶级目录名称。这是这个目录结构的样子 -WEB-INF 子目录包含应用程序的部署描述符,名为 web.xml。所有 HTML 文件都应保存在顶级目录myapp 中。对于管理员用户,您会发现 ROOT 目录作为父目录。 -
在包中创建 Servlet
WEB-INF/classes 目录包含所有 servlet 类和其他类文件,其结构与其包名称相匹配。例如,如果您有一个完全限定的类名com.myorg.MyServlet,那么这个 servlet 类必须位于以下目录中 -以下是使用包名称com.myorg创建 MyServlet 类的示例 -
在包中编译 Servlet
编译包中可用的类没有什么不同。最简单的方法是将您的 java 文件保存在完全限定的路径中,如上所述,类将保存在 com.myorg 中。您还需要在 CLASSPATH 中添加此目录。假设您的环境设置正确,请进入 <Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/classes目录并编译MyServlet.java如下如果 servlet 依赖于任何其他库,则您还必须在 CLASSPATH 中包含这些 JAR 文件。我只包含了 servlet-api.jar JAR 文件,因为我没有在 Hello World 程序中使用任何其他库。此命令行使用 Sun Microsystems Java 软件开发工具包 (JDK) 附带的内置 javac 编译器。要使此命令正常工作,您必须在 PATH 环境变量中包含您正在使用的 Java SDK 的位置。如果一切顺利,上面的编译会产生 MyServlet.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 中,您需要在 web.xml 文件位于 <Tomcat-installationdirectory>/webapps/ROOT/WEB-INF/以上条目将在 web.xml 文件中可用的 <web-app>...</web-app> 标签内创建。此表中可能有各种条目可用,但没关系。你差不多完成了,现在让我们使用 <Tomcat-installationdirectory>\bin\startup.bat(在 Windows 上)或 <Tomcat-installationdirectory>/bin/startup.sh(在 Linux/Solaris 等上)启动 tomcat 服务器,最后输入 http://localhost:8080/MyServlet在浏览器的地址框中。如果一切顺利,你会得到以下结果 -