Servlet是Java类,它服务的HTTP请求,并实现javax.servlet.Servlet接口。Web应用程序开发人员编写Servlet扩展javax.servlet.http.HttpServlet,实现Servlet接口和抽象类,它是专门设计用来处理HTTP请求。
下面是示例的源代码结构的一个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. -by www.gitbook.net } }
让我们把上面的代码中,如果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的Java软件开发工具包(JDK)。为使此命令正常工作,必须包括所使用的Java SDK的位置在PATH环境变量。
如果一切顺利,上面编译生成HelloWorld.class的文件在同一目录下。下一节将解释如何将部署在生产一个编译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的在浏览器的地址框中。如果一切顺利,你会得到下面的结果: