Servlet使用注释

注释表示元数据。 如果使用注释,则不需要部署描述符(web.xml文件)。但是应该在tomcat7以上版本中部署运行,tomcat7之前的版本是不支持注解的。 @WebServlet注释用于将servlet映射到指定的名称,这是Servlet3的特性,所以在创建项目时要指定Servlet的版本为3.0以上。

在前面几个项目示例中,我们已经使用过了 @WebServlet注释,如:

使用注释的简单servlet示例

这个示例中演示如何使用带有注释的servlet。

打开Eclipse,创建一个动态Web项目:ServletWithAnnotation,其完整的目录结构如下所示 -

注意:创建项目选择Dynamic web module version的版本是:3.0以上。

以下是这个项目中的几个主要的代码文件。

文件:index.html -

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Servlet注解实现模式</title>
</head>
<body>
    <div style="text-align:center;">
        <a href="Simple">查看Servlet注解示例</a>
    </div>
</body>
</html>

文件:Sample.java -

package com.zaixian;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Simple
 */
@WebServlet("/Simple")
public class Simple extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");
        PrintWriter out = response.getWriter();

        out.print("<html><body>");
        out.print("<div style='text-align:center;'><h3>Hello Servlet</h3>");
        out.print("<p>这是使用Servlet注解实现模式URL映射的配置示例</p></div>");
        out.print("</body></html>");
    }
}

注意: 不需要配置web.xml

在编写上面代码后,部署此Web应用程序(在项目名称上点击右键->”Run On Server…”),打开浏览器访问URL: http://localhost:8080/ServletWithAnnotation/ ,如果没有错误,应该会看到以下结果 -

点击链接,显示结果如下 -


上一篇: Servlet ServletOutputStream类 下一篇: Servlet注册表单示例