zoukankan      html  css  js  c++  java
  • servlet中用注解的方式读取web.xml中的配置信息

      在学习servletContext的时候,我们知道了可以在web.xml中通过<context-param>标签来定义全局的属性(所有servlet都能读取的信息),并在servlet中通过servletContext.getInitParameter("name")的方式读取,java5以后提供了新的方案叫做资源注入就是通过注解(Annotation)的方式.也就是说,不需要servlet主动读取数据,Tomcat在启动的时候会把web.xml里配置的信息主动"注入"到Servlet中,我们不需要在编写读取的代码,只需要定义出来就能用了,下面举例介绍:

    在web.xml中配置的代码如下:

    <servlet>
        <servlet-name>AServlet</servlet-name>
        <servlet-class>com.wang.servlet.AServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>AServlet</servlet-name>
        <url-pattern>/AServlet</url-pattern>
      </servlet-mapping>
    <env-entry>
        <env-entry-name>info1</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>Hello Servlet</env-entry-value>
    </env-entry>
    <env-entry>
        <env-entry-name>number</env-entry-name>
        <env-entry-type>java.lang.Integer</env-entry-type>
        <env-entry-value>21</env-entry-value>
    </env-entry>
    <env-entry>
        <env-entry-name>info2</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>Hello,Servlet,I,am,happy</env-entry-value>
    </env-entry>

    新建一个servlet(我这里命名为AServlet):

    public class AServlet extends HttpServlet {
    
        private @Resource(name="info1") String info1;
        private @Resource(name="info2") String info2;
        private @Resource(name="number") int i;
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.print("info1="+info1+"<br>");
            out.print("number="+i+"<br>");
            String[] arrInfo2=info2.split(",");
            for(String s:arrInfo2){
                out.print("arrInfo2--"+s);
                out.print("<br>");
            }
            
        }
    }

    启动项目,访问Aservlet,网页上输出的结果为:

    info1=Hello Servlet
    number=21
    arrInfo2--Hello
    arrInfo2--Servlet
    arrInfo2--I
    arrInfo2--am
    arrInfo2--happy

  • 相关阅读:
    操作系统的磁盘结构、磁盘管理、磁盘调度算法
    ArrayList源码解析--值得深读
    深入理解static、volatile关键字
    7:高阶张量操作
    6:统计属性
    5:张量的基本运算
    4.1张量的操作(broadcasting维度自动扩张,拼接与拆分)
    4:张量操作
    3:索引与切片
    2:pytorch的基本数据类型以及张量的创建
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5176377.html
Copyright © 2011-2022 走看看