Servlet-示例
Servlet是Java的类,用于服务HTTP请求并实现javax.servlet.Servlet接口。Web应用程序开发人员通常会编写扩展javax.servlet.http.HttpServlet的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.
}
}
编译一个Servlet
让我们使用上面显示的代码创建一个名称为HelloWorld.java的文件。将此文件放在C:\ServletDevel(在Windows中)或/usr/ServletDevel(在Unix中)中。在继续之前,必须将此路径位置添加到环境变量CLASSPATH中。
假设您的环境设置正确,请进入ServletDevel目录并按如下所示编译HelloWorld.java: javac HelloWorld.java
如果servlet依赖于其他任何库,则还必须在系统变量CLASSPATH上包括那些JAR文件。我仅包含servlet-api.jar JAR文件,因为我没有在HelloWorld.java中使用任何其他库。
该命令行使用Sun Microsystems Java软件开发工具包(JDK)随附的内置javac编译器。为了使此命令正常运行,您必须在PATH环境变量中包括所使用的Java SDK的位置。
如果一切顺利,上述编译将在同一目录中生成HelloWorld.class文件。
Servlet部署
默认情况下,一个servlet应用程序位于路径<Tomcat安装目录>/webapps/ROOT中,并且该类文件将位于<Tomcat安装目录>/webapps/ROOT/WEB-INF/classes中。
如果您具有如com.myorg.MyServlet的完全合格的类名,则此Servlet类必须位于WEB-INF/classes/com/myorg/MyServlet.class中。
现在,让我们将HelloWorld.class复制到<Tomcat安装目录>/webapps/ROOT/WEB-INF/classes中,并在<Tomcat安装目录>/webapps/ROOT/WEB-INF中的web.xml文件中创建以下条目。
<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.xml文件中可用的 … 标记内创建的条目。该表中可能已有各种条目,但没关系。
您已经快完成了,现在让我们使用<Tomcat安装目录>\bin\startup.bat(在Windows上)或<Tomcat安装目录>/bin/startup.sh(在Linux / Solaris等上)启动tomcat服务器,最后键入浏览器地址栏中的http://localhost:8080/HelloWorld,就可以看到屏幕上显示的Hello World了。
上一篇:Servlet-生命周期
下一篇:Servlet-表单数据