您的位置:首页 > 其它

Servlet3.0中使用注解配置Servlet

2015-08-03 23:14 549 查看
转自:http://www.108js.com/article/article10/a0021.html?id=1496

原文补充:在servlet3.0中可以使用注解方式来简化web.xml中对Servlet的配置,当然不仅仅是对Servlet进行配置,还可以对Filter,Listener。

在servlet3.0中同样也可以使用web.xml,在<web-app>标签下有一属性metadata-complete="true" 在设置true时,Servlet中的注解会失效,默认值为false。

原文:开发Servlet3的程序需要一定的环境支持。Servlet3是Java EE6规范的一部分,MyEclipse10和Tomcat7都提供了对Java EE6规范的支持。

@WebServlet 用于将一个类声明为Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性(以下所有属性均为可选属性,但是 vlaue 或者 urlPatterns 通常是必需的,且二者不能共存,如果同时指定,通常是忽略 value 的取值)





package com.cndatacom.servlet;

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

* @author Luxh

*/

/**

* 注解WebServlet用来描述一个Servlet

* 属性name描述Servlet的名字,可选

* 属性urlPatterns定义访问的URL,或者使用属性value定义访问的URL.(定义访问的URL是必选属性)

*/

@WebServlet(name="AnnotationServlet",urlPatterns="/AnnotationServlet")

public class AnnotationServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println("<!DOCTYPE HTML>");

out.println("<HTML>");

out.println(" <HEAD>");

out.println("<TITLE>A Servlet</TITLE>");

out.println("<meta http-equiv=\"content-type\" " + "content=\"text/html; charset=utf-8\">");

out.println("</HEAD>");

out.println("<BODY>");

out.println("Hello AnnotationServlet.");

out.println(" </BODY>");

out.println("</HTML>");

out.flush();

out.close();

}

}
把项目发布到Tomcat7,启动Tomcat7。在浏览器访问:http://localhost:8080/Servlet3/AnnotationServlet

使用@WebServlet将一个继承于javax.servlet.http.HttpServlet的类定义为Servlet组件。

  @WebServlet有很多的属性:

  asyncSupported:声明Servlet是否支持异步操作模式。

  description:   Servlet的描述。

  displayName: Servlet的显示名称。

  initParams: Servlet的init参数。

  name:     Servlet的名称。

  urlPatterns:   Servlet的访问URL。

  value:    Servlet的访问URL。

  Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。

  像上面的AnnotationServlet可以描述成@WebServlet(name="AnnotationServlet",value="/AnnotationServlet")。

  也定义多个URL访问:

  如@WebServlet(name="AnnotationServlet",urlPatterns={"/AnnotationServlet","/AnnotationServlet2"})

  或者@WebServlet(name="AnnotationServlet",value={"/AnnotationServlet","/AnnotationServlet2"})
[align=center][/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: