zoukankan      html  css  js  c++  java
  • Servlet3.0基础

       公司使用的是Servlet3.0, 我之前用的是Servlet没有注意过是哪个版本的,现在组长要我学Servlet3.0, 我顺便把这个记录下来。

    JDk 1.5 之后,java提供了一种叫做Annotation 的新的数据类型,中文的解释为注解或标注,它的出现给xml文件提供了一个完美的解决方案,让java ee 开发更加方便快捷,更加干净。

       /**

    9 * 自定义WebServlet注解,模拟Servlet3.0的WebServlet注解

    10 * @Target 注解的属性值表明了 @WebServlet注解只能用于类或接口定义声明的前面,

    11 * @WebServlet注解有一个必填的属性 value 。

    12 * 调用方式为: @WebServlet(value="/xxxx") ,

    13 * 因语法规定如果属性名为 value 且只填 value属性值时,可以省略 value属性名,即也可以写作:@WebServlet("/xxxx")

    14 */

    5 @Retention(RetentionPolicy.RUNTIME)
    16 @Target(ElementType.TYPE)
    17 public @interface WebServlet {
    18     //Servlet的访问URL
    19     String value();
    20     //Servlet的访问URL
    21     String[] urlPatterns() default {""};
    22     //Servlet的描述
    23     String description() default "";
    24     //Servlet的显示名称
    25     String displayName() default "";
    26     //Servlet的名称
    27     String name() default "";
    28     //Servlet的init参数
    29     WebInitParam[] initParams() default {};


     在servlet3.0中同样也可以使用web.xml,在<web-app>标签下有一属性metadata-complete="true" 
    在设置true时,Servlet中的注解会失效,默认值为false。在注解和web.xml中同时对一个url-pattern进行设置时,
    我实验的结果是注解会覆盖web.xml中的设置,书上所说的和我所实验的结果完全相反,即web.xml中设置会覆盖注解的设置,
    请网友各自验证后,麻烦通知我一下。


    @WebServlet

    属性介绍一共有8 中属性,最常用的是urlPatterns该servlet 的 访问路径,asyncSupported 是否支持异步。
    name String 指定 Servlet 的 name 属性,等价于 <servlet-name>。如果没有显式指定,则该 Servlet 的取值即为类的全限定名。
    value String[] 该属性等价于 urlPatterns 属性。两个属性不能同时使用。
    urlPattrens String[] 指定一组 Servlet 的 URL 匹配模式。等价于 <url-pattern> 标签。
    LoadOnStartUp int 指定 Servlet 的加载顺序,等价于 <load-on-startup> 标签。
    initParams WebInitParam[] 指定一组 Servlet 初始化参数,等价于 <init-param> 标签。
    asyncSupported boolean 声明 Servlet 是否支持异步操作模式,等价于 <async-supported> 标签。
    description String 该 Servlet 的描述信息,等价于 <description> 标签。
    displayName String 该 Servlet 的显示名,通常配合工具使用,等价于 <display-name> 标签。


    @WebInitParam
    该属性常常和@WebServlet 和@WebFilter 配合使用,作用是为Servlet 或者Filter 指定初始化参数,相当于web.xml中<servlet>或者<filter>的子标签<init-param>子标签

        常用属性:

       name String   不可选  指定参数的名字,

       value  String  不可选  指定参数的值

       discripation  String  可选   关于参数的描述 等价于<discription>标签

    @WebFilter

    以下是filter 的参数属性

    urlPatterns  String []  指定一组过滤器的 URL 匹配模式。等价于 <url-pattern> 标签。

     









  • 相关阅读:
    有效管理时间的十八种方法
    针对某个块下面的按钮注册点击事件
    vs2015运行项目时出现“编译器失败,错误代码为 1”的解决方案
    淘宝API调用 申请 获取session key
    中小型研发团队架构实践:生产环境诊断利器WinDbg帮你快速分析异常情况Dump文件
    中小型研发团队架构实践:如何规范公司所有应用分层?
    中小型研发团队架构实践:电商如何做企业总体架构?
    中小型研发团队架构实践:高效率、低风险,一键发布并测试的持续集成工具Jenkins
    ASP.NET全栈开发验证模块之在Vue中使用前端校验
    计算机基础存储结构
  • 原文地址:https://www.cnblogs.com/wjn563/p/4512526.html
Copyright © 2011-2022 走看看