05 September 2013

上一篇讲述了如何创建一个极其简单的webapp,其中仅包含html静态页面。然而静态页面的表现能力比较太弱,网络社会早已进入web2.0的时代。创建动态页面的技术有很多种,servlet技术就是比较强大的一种。 所谓servlet,就是服务器端程序。通过servlet对Http请求进行分析和响应,就可以有针对性的展示页面的内容。 ## 编写一个简单的servlet 要编写servlet,首先要配置Java开发环境。
第一步,安装JDK。配置环境变量。假设安装的jdk路径为

JAVA_HOME=c:\program files\java\jdk1.7.0_21

在环境变量PATH内追加JAVA_HOME\bin
然后,打开命令提示窗口 输入java -version进行验证这一步是否配置成功。
第二步,新建一个文件Hello.java并输入以下内容

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello World!</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World!</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

由于使用了javax.servlet,所以需要将对应包servlet-api.jar加入classpath

编译命令如下

javac -cp "d:\tomcat\lib\servlet-api.jar" HelloWorld.java

这里假设servlet-api的位置如上。
编译完成之后将HelloWorld.class放入我们自己创建的webapp的目录Hello下的WEB-INF文件夹里。如果没有这个文件夹,那就创建一个。 由于添加了servlet,我们需要为我们的应用做一些配置,以便Tomcat可以识别并加载。
在Hello目录下创建一个如下内容的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     version="3.0">
    <servlet>
        <servlet-name>helloworld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>helloworld</servlet-name>
        <url-pattern>/hi</url-pattern>
    </servlet-mapping>
</web-app>

重新启动Tomcat,访问地址http://127.0.0.1:8080/hello/hi,我们编写的servlet的doGet方法就会被执行。通过这个方法,就可以进行动态页面生成了。



blog comments powered by Disqus