`
developersky
  • 浏览: 7957 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Servlet3.0引入的新特性介绍(2)

阅读更多

@WebInitParam
可以使用@WebInitParam注解来制定Servlet或filter的初始参数。当然我们也可以使用@WebServlet或@WebFileter的initParam属性来指定初始参数。下面是使用@WebInitParam的例子:
@WebServlet(name = "GetQuoteServlet", urlPatterns = {"/getquote"})
@WebInitParam(name = "default_market", value = "NASDAQ")
public class GetQuoteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            String market = getInitParameter("default_market");
            String symbol = request.getParameter("symbol");
            out.println("<h1>Stock Price in " + market + " is</h1>" + StockQuoteBean.getPrice(symbol, market));
        } finally {
            out.close();
        }
    }
}


下面是使用initParam属性的例子:
@WebServlet(name = "GetQuoteServlet",
            urlPatterns = {"/getquote"},
            initParams={@WebInitParam(name="default_market",  value="NASDAQ")}
           )
public class GetQuoteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            String market = getInitParameter("default_market");
            String symbol = request.getParameter("symbol");
            out.println("<h1>Stock Price in " + market + " is</h1>" + StockQuoteBean.getPrice(symbol, market));
        } finally {
            out.close();
        }
    }
}


@WebListener
@WebListener注解被应用在作为listener监听web应用程序事件的类上,所以@WebListener能够被应用在实现了 ServletContextListener,ServletContextAttributeListener,ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener 和HttpSessionAttributeListener接口的类上。在下面的例子中,该类实现了ServletContextListener接口。
@WebListener
public class QuoteServletContextListener implements ServletContextListener {
   public void contextInitialized(ServletContextEvent sce) {
   ServletContext context = sce.getServletContext();
context.setInitParameter(“default_market”, “NASDAQ”);
}
public void contextDestroyed(ServletContextEvent sce) {
}
}


@MultipartConfig
使用@MultipartConfig注解来指定Servlet要求的multipart MIME类型。这种类型的MIME附件将从request对象中读取。

The Metadata and Common Annotations元数据与通用的注解
除了以上的Servlet特定的注解之外,Servlet3.0还支持JSR175(Java元数据规范)和JSR250(Java平台通用注解)所规定的注解,包括:
    * 安全相关的注解,如 @DeclareRoles 和 @RolesAllowed
    * 使用EJB的注解,如 @EJB 和 @EJBs
    * 资源注入相关的注解,如 @Resource 和 @Resources
    * 使用JPA的注解,如 @PersistenceContext, @PersistenceContexts, @PersistenceUnit, 和 @PersistenceUnits
    * 生命周期的注解,如 @PostConstruct和 @PreDestroy
    * 提供WebService引用的注解,如 @WebServiceRef and @WebServiceRefs

注解和web.xml哪个会生效
注解的引入使得web.xml变成可选的了。但是,我们还是可以使用web.xml。容器会根据web.xml中的metadata-complete元素的值来决定使用web.xml还是使用注解。如果该元素的值是true,那么容器不处理注解,web.xml是所有信息的来源。如果该元素不存在或者其值不为true,容器才会处理注解。



转载自  开发者的天空
分享到:
评论

相关推荐

    Servlet3.0新特性解析

    Servlet3.0新特性解析_03_Servlet3.0监听器、过滤器实现方式详解及Servlet的动态注册剖析

    Servlet3.0_新特性

    Servlet3.0_新特性详解

    servlet 3.0新增功能详解

    Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础...本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等,为读者顺利向新版本过渡扫清障碍

    servlet3.0新特性源代码

    * @project servlet3.0 * servlet3.0的文件上传 * @date:2012-5-21 *在创建项目的时候首先添加Tomcat7.x的支持,然后把apache-tomcat-7.0.27\conf\web.xml拷贝到项目WEB-INF目录下 *把之前的web.xml覆盖.. 配置...

    Servlet3.0 新特性

    需要在tomcat下运行 博文链接:https://inotgaoshou.iteye.com/blog/975116

    Servlet3.0参考手册

    servlet3.0使用手册,这里面有详细的api参考,使用很方便

    Servlet3.0新特性

    Servlet3.0新特性解析_04_使用Servlet3.0实现文件上传及Part接口与MultiConfig注解深度解析

    Servlet3.0新特性解析01

    Servlet3.0新特性解析_01_Servlet3.0新特性深度解析、Servlet注解详解

    JavaEE 6 Servlet 3.0 中的新特性

    JavaEE 6Servlet 3.0 中的新特性 • 易于开发和部署 • 模块化web.xml • 动态配置 • 异步Servlet • Servlet 3.0 — 易于开发 – 主要关注点 • 增强了API 以便使用SE 5 中新的语言特性 – 例如:批注、泛型...

    Servlet3.0

    Servlet3.0新特性解析_02_Servlet3.0的异步支持与反向Ajax深入详解Servlet3.0新特性解析_02_Servlet3.0的异步支持与反向Ajax深入详解

    Servlet3.0特性详解

    非常好的学习Servlet3.0资料。特此共享。

    servlet3.0.jar下载

    servlet3.0jar下载,非常好用的控制器工具类包,servlet3.0jar下载,非常好用的控制器工具类包,

    servlet3.0相关的包

    servlet3.0相关的包 包含 sevlet servlet-api jstl jstl-impl相关版本的包

    servlet3.0推送聊天室

    用servlet3.0异步技术,实现推送信息至客户端的聊天室

    servlet3.0.zip

    servlet3.0.zip

    servlet 3.0 jar 包综合下载

    servlet 3,jar 包综合;用于javaEE servlet 3.0 开发使用。

    基于servlet3.0手写springmvc

    基于servlet3.0手写springmvc,实现了IOC和处理器映射器以及处理器映射器功能。

    servlet3.0-demo

    servlet3.0-demo, 上传文件demo,基于注解开发

    JavaServlet 3.0 API

    个人整理的JavaServlet 3.0的API,按Java6 API的风格整理

    Servlet 3.0 源码文件

    Servlet 3.0 源码文件,可以在myeclipse中查看servlet的代码,方便编程

Global site tag (gtag.js) - Google Analytics