Servlet(三) 示例
Servlet是一批服务于HTTP请求且实现了javax.servlet.Servlet接口的类,Web应用程序的开发人员通常会继承javax.servlet.http.HttpServlet这个抽象类,该抽象类同样实现了javax.servlet.Servlet接口,其设计目标就是专门来用处理http请求。
下面是经典的HelloWorld的Servlet实现:
// 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. } }
然后进行编译:
javac HelloWorld.java
如果Servlet依赖于其它jar包,则需要将这些jar包放到CLASSPATH中,对单纯的helloworld而言,只依赖于servlet-api.jar
最后进行发布:
以Tomcat为例,将编译后的class文件放置到<Tomcat-installation-directory>/webapps/你的工程名/WEB-INF/classes,然后在<Tomcat-installation-directory>/webapps/你的工程名/WEB-INF下创建一个web.xml文件:
<web-app>
<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>
测试一下,启动tomcat,默认情况下,访问http://localhost:8080/HelloWorld即可看到自己定制内容的页面
/*****************************************外星人拍板时间****************************************/
Servlet,一切Web框架的基础,知框架然,知Servlet所以然