• 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

  • 相关阅读:
    go 算法之插入排序算法 running
    Go多协程并发环境下的错误处理 running
    go 协程控制之sync.Once{} running
    php 生成指定范围内不重复的随机数 running
    php 正则函数preg_replace_callback running
    go 算法之冒泡算法 running
    googleStyle
    ubuntu搭建APT源简单方法
    request.getParameterMap()快速转化为bean
    多线程编程CountDownLatch和CyclicBarrier
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5176377.html
Copyright © 2020-2023  润新知