无意之间发现的Servlet3.0新特性@WebServlet

今天无意之间看到了一个注解,这个注解就是@WebServlet,@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性(以下所有属性均为可选属性,但是 vlaue 或者urlPatterns 通常是必需的,且二者不能共存,如果同时指定,通常是忽略 value 的取值)完成了一个使用注解描述的Servlet程序开发。

[email protected]注解常用属性:

2.开发第一个案例

2.1开发环境MyEclipse+Tomact

1.创建web项目这里需要注意的就是创建web项目的时候选择JavaEE6

2.创建Servlet

package cn.servlet;

import java.io.IOException;

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

/**
 * 属性name用了描述servlet的
 * Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义
 * 属性urlPatterns定义访问的url
 * loadOnStartup=1容器初始化就执行
 * @author hyj
 *
 */
@WebServlet(name="userservlet",urlPatterns="/userservlet",loadOnStartup=1,initParams={@WebInitParam(name="username",value="张三")})
public class UserServlet extends HttpServlet {
      @Override
    public void init(ServletConfig config) throws ServletException {
          //获取初始值username
          System.out.println(config.getInitParameter("username"));
    }
      @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
              System.out.println("doget方法执行");
      }
}

3.启动tomact进行测试

测试成功在容器初始化的时候获取初始化的username值。

load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。在这里我配置的值是1,表示在容器初始化的时候就去实例化这个servlet。

3.2试试在浏览器中请求该servlet:我们从注解中可以看到返回url是userservlet

时间: 2024-10-20 21:56:56

无意之间发现的Servlet3.0新特性@WebServlet的相关文章

Java基础加强-(注解,类加载器,servlet3.0新特性)

1.   Annotation注解 1.1.  Annotation概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annotation就是提供了一种为程序元素设置元数据的方法,可用于修饰包.类.构造器.方法.成员变量.参数和局部变量的声明,这些信息被存储在Annotation的“name=value”对中. Annotation能被用来为程序元素(类.方法.成员变量等)设置元数据,比如一段代码的作者或者告诉编译器禁止一些特

Servlet3.0新特性

时间:2017-1-4 16:51 --Servlet3.0新特性概述 前提:    1.MyEclipse1.0或以上版本    2.发布到Tomcat7.0或以上版本 步骤:    1.创建JavaEE6.0项目        在web.xml文件中有如下字样,即JavaEE6.0项目(是否Servlet3.0) <web-app version="3.0"> 新特性:    1.使用@WbServlet.@WebFilter.@WebListener三个注解来替代we

servlet3.0 新特性——异步处理

Servlet 3.0 之前,一个普通 Servlet 的主要工作流程大致如下: 首先,Servlet 接收到请求之后,可能需要对请求携带的数据进行一些预处理: 接着,调用业务接口的某些方法,以完成业务处理: 最后,根据处理的结果提交响应,Servlet 线程结束. 其中第二步的业务处理通常是最耗时的,这主要体现在数据库操作,以及其它的跨网络调用等,在此过程中,Servlet 线程一直处于阻塞状态,直到业务方法执行完毕.在处理业务的过程中,Servlet 资源一直被占用而得不到释放,对于并发较大

JavaWeb学习之Servlet3.0新特性详解

异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程.在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器.针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度. 新增的注解支持:该版本新增了若干注解,用于简化 Servlet.过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再

[Servlet3.0新特性]注解替代配置文件

需要注意的是,如果使用Servlet 3.0版本的话:首先Tomcat服务器必须使用7.0版本以上的(老版本不提供3.0版本),其次Eclipse创建Web工程时选择3.0版本. Servlet 3.0版本允许使用注解方式来替代web.xml文件中配置Servlet.Filter和Listener的信息,首先回忆一下web.xml文件是如何配置Servlet.Filter和Listener的: <?xml version="1.0" encoding="UTF-8&qu

Servlet3.0新特性(Tomcat7.0版本及以上)

@WebServlet 作用 在Eclipse中创建Servlet后,Eclipse不会自动在web.xml中生成该Servlet对应的mapping信息,而是在Servlet代码中加入注解@WebServlet. @WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet. 使用 //对应旧版本中servlet标签中的内容@WebServlet(displayName = "This is ForwordS

中文乱码问题(使用Servlet3.0新特性实现文件上传——上传文件名中文乱码问题)

问题描述:就是文件传送过来的文件名等是乱码 解决方法:将传送的JSP页面(即含有表单的页面)的页面编码方式改为: <%@ page contentType="text/html; charset=GB2312" language="java" import="java.sql.*" errorPage="" %> <meta http-equiv="Content-Type" conten

Atitit.&#160;C#.net&#160;clr&#160;2.0&#160;&#160;4.0新特性

Atitit. C#.net clr 2.0  4.0新特性 1. CLR内部结构1 2. CLR 版本发展史3 3. CLR 2.0 3 4. CLR 4 新特性 概览4 4.1.1.  托管与本地代码的互操作5 4.1.2.    垃圾回收6 4.1.3.    代码约定6 4.1.4.    Corrupted state exception6 4.1.5.     新的安全模型7 4.1.6.     同一个进程,多个CLR7 4.1.7.     基本类库7 5. CLR最新发展8 6

day07 MyEclipse 安装 jdk5.0 新特性

1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具    * myeclipse:是一个收费的插件,破解myeclipse,        ** 安装目录的要求: 不能有中文和空格        ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格    * 破解myeclipse        ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用        * 创建一个工程