我正在处理一个项目,ServletContext
类的getAttributeNames()
返回的Enumeration
引用出现问题。getAttributeNames()
返回的属性名从来没有被我添加过,那么为什么它会显示它们呢?
这些属性包括:
org.apache.tomcat.InstanceManager
org.apache.catalina.jsp_classpath
org.apache.tomcat.util.scan.MergedWebXml
javax.servlet.context.tempdir
org.apache.catalina.resources
org.apache.tomcat.JarScanner
org.apache.jasper.compiler.TldLocationsCache
谁能告诉我如何跳过它们,以便我可以检索我存储的属性?
4条答案
按热度按时间xytpbqjk1#
它们是在服务器逻辑中使用的tomcat属性,你不必为它们操心。
t9aqgxwy2#
每个容器都设置一些属性(取决于实现规范的Web服务器)。例如,Tomcat 5设置以下上下文属性:
1.欢迎您的到来!
因此它们会由方法传回。
有关详细信息,请参阅This。
f1tvaqid3#
这些是Servlet容器(在您的例子中是Tomcat)添加并在内部使用的属性。
mqxuamgl4#
您可能无法摆脱Servlet容器提供和设置的属性。
但是,您可以对属性使用推荐的全限定nomenclature1,以区分“标准”属性和自定义属性。
例如,您可以使用
org.example.mohammadapp.loggingfolder
而不是myAppLoggingFolder
,然后您可以简单地通过类似于包的前缀来过滤属性:例如,请参阅
ServletRequest
Javadoc1:属性名称应遵循与软件包名称相同的约定。以java.、javax. 和com.sun.* 开头的名称保留供Sun Microsystems使用。