首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 一个关于servlet的问题 [已结贴,结贴人:jaytse]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jaytse
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-27 08:59:29 楼主
    已知servlet的servlet-class, 即servlet的className,如何在其他类中动态获取web.xml中关于该servlet配置好的servlet-name和url-pattern?

    Thx
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • luoyanxue
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-27 11:33:231楼 得分:10
    没理解错的话 按照你的意思 与其说是servlet的问题

    不如说是读XML的问题

    <servlet>
    <servlet-name>ServletName </servlet-name>
    <servlet-class>PKG.ServletName </servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>ServletName </servlet-name>
      <url-pattern>/URL.do </url-pattern>
    </servlet-mapping>

    下面是解析 XML 中元素节点的方法

    String WEB_APP_ELEMENT = "web-app";
    String SERVLET_ELEMENT = "servlet";
    String SERVLET_MAPPING_ELEMENT = "servlet-mapping";
    String SERVLET_NAME_VALUE = "servlet-name";
    String URL_PATTERN_VALUE = "url-pattern";

    Map servlet_Url = new HashMap();

    protected void parseElement(Element ele)
    throws Exception {
          if (ele.getTagName().equals(SERVLET_MAPPING_ELEMENT)) {
      Node node = (ele.getElementsByTagName(SERVLET_NAME_VALUE))item(0);
              String servlet = node.getNodeValue();
              Node node = (ele.getElementsByTagName(URL_PATTERN_VALUE))item(0);
              String servlet_url = node.getNodeValue();
              servlet_Url.put(servlet,servlet_url);
          }else if(....){
              else code ....;
          }
    }

    通过这个方法将所有的 servlet-name  url-pattern 加入Map
    然后动态查询Map;

    有时间阅读下 Spring中 的相关代码!~ 会受益不浅!!!!


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Mailbomb
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-27 11:38:462楼 得分:10
    看看Tomcat示例里的web.xml配置就知道了
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved