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

  • 相关阅读:
    数据仓库系列之ETL过程和ETL工具
    大数据从入门到精通
    Mysql误删表中数据与误删表的恢复方法(转)
    Vscode 小白使用介绍
    Window 通过cmd查看端口占用,杀死进程方法
    Python基础教程,Python入门教程(非常详细)
    tuxedo安装与配置入门
    Win10系统Ping端口及利用telnet命令Ping 端口
    Tuxedo 介绍
    hibernate框架的简单入门
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5176377.html
Copyright © 2011-2022 走看看