转载地址:http://www.108js.com/article/article10/a0021.html?id=1496

开发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"})

转载 Servlet3.0中使用注解配置Servle的更多相关文章

  1. Servlet3.0中Servlet的使用

    目录 1.注解配置 2.异步调用 3.文件上传 相对于之前的版本,Servlet3.0中的Servlet有以下改进: l  支持注解配置. l  支持异步调用. l  直接有对文件上传的支持. 在这篇 ...

  2. 【JavaWeb】Servlet3.0中注解驱动开发

    一.概述 二.@WebServlet注解 三.共享库/运行时插件 2.1 注册Servlet 2.2 注册监听器 2.3 注册过滤器 一.概述 Servlet3.0中引入了注解开发 二.@WebSer ...

  3. springmvc学习指南 之---第27篇 spring如何实现servlet3.0无web.xml 配置servlet对象的

    writedby 张艳涛 基于web.xml配置,有人说麻烦,tomcat给按照servlet3.0,实现了基于注解@WebServlet,有人说springmvc的springmvc.xml配置麻烦 ...

  4. 关于servlet3.0中的异步servlet

    刚看了一下维基百科上的介绍,servlet3.0是2009年随着JavaEE6.0发布的: 到现在已经有六七年的时间了,在我第一次接触java的时候(2011年),servlet3.0就已经出现很久了 ...

  5. WCF学习之旅—WCF4.0中的简化配置功能(十五)

    六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...

  6. web.xml在Servlet3.0中的新增元素

    metadata-complete: 当属性为true时,该Web应用将不会加载注解配置的Web组件(如Servlet.Filter.Listener) 当属性为false时,将加载注解配置的Web组 ...

  7. CentOS-7.0.中安装与配置Tomcat-7的方法

    安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...

  8. Vue2.0中的路由配置

    Vue2.0较Vue1.0,路由有了较大改变.看一下Vue2.0中的路由如何配置: 步骤一: 在main.js文件中引入相关模块以及组件及实例化vue对象配置选项路由及渲染App组件 默认设置如下: ...

  9. SpringIOC中的注解配置

    Spring中的注解是个好东西,可以简化我们的操作,但是使用了注解又会在一定的程度上增加程序的耦合度,xml中的配置写在了类中虽然简化了开发过程,但是或多或少的违背了开闭原则.所以在开发过程中要先明确 ...

随机推荐

  1. BZOJ4665 : 小w的喜糖

    考虑枚举哪些人一定不合法,那么方案数可以通过简单的排列组合算出. 于是设$f[i][j]$表示前$i$种糖果,一共有$j$个人一定不合法的方案数,但是这样并不能保证其他人一定合法,所以需要进行容斥. ...

  2. Sphinx 实时索引

    index rt { type = rt rt_mem_limit = 512M path = /usr/local/sphinx/data/rt rt_field = title rt_field ...

  3. ACM The Famous Clock

    The Famous Clock 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 Mr. B, Mr. G and Mr. M are now in Warsaw, ...

  4. TC SRM 593 DIV1 250

    我只能说的亏没做,要不就挂0了.. 本来想四色定理,肯定4就可以的...然后准备爆,发现3的时候不好爆,又想了老一会,嗯,数据范围不小,应该不是暴力,直接找规律,貌似最大就是3,有一个3连块,输出3, ...

  5. 【noiOJ】p7939

    09:膨胀的木棍 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 当长度为L的一根细木棍的温度升高n度,它会膨胀到新的长度L'=(1+n*C)*L,其中C是热 ...

  6. BZOJ2097[Usaco2010 Dec] 奶牛健美操

    我猜我这样继续做水题会狗带 和模拟赛的题很像,贪心搞一下. #include<bits/stdc++.h> using namespace std; int read(){ ,f=;cha ...

  7. 递归函数的用法及array_merge的用法

    $info=M('navclass')->select(); function getAllArray($data, $pid =1) { $arr = array(); foreach ($d ...

  8. SDCycleScrollView 滚动视图的使用(广告)

    github库链接https://github.com/gsdios/SDCycleScrollView 无限循环自动图片轮播器(一步设置即可使用) // 网络加载图片的轮播器 cycleScroll ...

  9. HTML5中video 和 ogg

    HTML5中 的ogg 从网上学习HTML5之video时看到了下面的代码,不太清楚ogg是什么,于是搜索了一些知识点供了解.

  10. ICE——1.Printer

    一:打印机 1.Slice定义: interface Printer { void printString(string s); }; 我们的Slice定义含有一个接口,叫作Printer.目前,我们 ...