ServletConfig、ServletContext属性遍历

可以进行属性遍历;

package com.stono.servlet;

import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public TestServlet() {
        System.out.println("com.stono.servlet.TestServlet constructor called");
    }

    @Override
    public void init() throws ServletException {
        System.out.println("com.stono.servlet.TestServlet.init() called");
    }

    @Override
    public void destroy() {
        System.out.println("com.stono.servlet.TestServlet.destroy() called");
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
        ServletContext context = req.getServletContext();
        Enumeration<String> attributeNames = context.getAttributeNames();
        int i = 0;
        while (attributeNames.hasMoreElements()) {
            String nextElement = attributeNames.nextElement();
            System.out.print(++i + ":" + nextElement + ":");
            Object attribute = context.getAttribute(nextElement);
            System.out.println(attribute);
        }
        ServletConfig config2 = getServletConfig();
        String name = config2.getServletName();
        System.out.println(name);
        Enumeration<String> names = config2.getInitParameterNames();
        i = 0;
        while (names.hasMoreElements()) {
            String nextElement = names.nextElement();
            System.out.print(++i + ":" + nextElement + ":");
            String initParameter = config2.getInitParameter(nextElement);
            System.out.println(initParameter);
        }
        RequestDispatcher dispatcher = req.getRequestDispatcher("test2.do");
        dispatcher.forward(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
            IOException {
    }
}

xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>TestBootWeb</display-name>
    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>com.stono.servlet.TestServlet</servlet-class>
        <init-param>
            <param-name>name</param-name>
            <param-value>123</param-value>
        </init-param>
    </servlet>
    <servlet>
        <servlet-name>TestServlet2</servlet-name>
        <servlet-class>com.stono.servlet.TestServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/test.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>TestServlet2</servlet-name>
        <url-pattern>/test2.do</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>
时间: 2024-11-04 08:05:52

ServletConfig、ServletContext属性遍历的相关文章

属性遍历

作为js特有的一个语句,刚接触时只知道用来枚举对象属性,因为之前的实际工作中用得其实不多,后来看了几本书越发警惕for-in的局限性,今天参照书中的讲解明确一下. <JS高级程序设计>: 1.for-in是一种精准的迭代语句,可以用来枚举对象属性.所有属性都会被枚举一遍. 2.由于对象的属性是无序的,所以for-in枚举对象属性是不可预测的,因浏览器而异. 3.在ES3中如果迭代的对象的变量值是null或undefined,会抛出错误:在ES5中只是不执行循环体,故而迭代前应检测其值不为nul

jQuery属性遍历、HTML操作

jQuery 拥有可操作 HTML 元素和属性的强大方法. jQuery 遍历函数 jQuery 遍历函数包括了用于筛选.查找和串联元素的方法.    .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .ea

js 对象属性遍历

function 对象属性遍历(){ var obj = {x:1,y:2,c:3};for (var name in obj){ alert ( obj[name] )} } function 数组(){ var 数组=[1,2,3,[1,2,4,5,7,8],4,5]; //数组嵌套数组 var 数组2=[ {x:100}, 2, [7,8,9], function(){ return 999; }(), "abc" ] var arr =new Array(10); arr[20

Js for in对象属性遍历问题

在Js中for in 是用来循环遍历对象的属性的,但是这个功能是有局限的,所遍历的属性必须是对象自定义的属性,对象的内置属性无法进行遍历. 当在对象中自定义属性覆盖了内置属性时: IE6/7/8浏览器,for in仍不支持遍历这些属性. chrome浏览器则可以对这些自定义的属性进行遍历. var enumerablesTest = { toString: 1 }; var enumerables = true; for (i in enumerablesTest) { enumerables

关于属性遍历的问题

今天看见了这个东西对于新手来说,不是那么难,只要知道hasOwnProperty()这个函数可以遍历constructor里面的属性. 题目描述如下: 找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1.返回数组,格式为 key: value2.结果数组不要求顺序 解法: function iterate(obj) { var arr=[]; for(var i in obj) { if (obj.hasOwnProperty(i)) { arr.push((i.

数组定义属性遍历循环,输出最大数

public class shuzu { public static void main(String[] args) { //数组 //类型+[] // int[]s; // // Spring[]str; // // //使用之前初始化大小 // int[]a=new int[5];//数组初始化,数组长度为5 // // //数组的索引:从0开始.0,1,2,3,4.最大值是数组长度-1. // //给每一个空间赋值: // a[0]=0; // a[1]=1; // a[2]=2; //

js对象-属性遍历

为了加强js对象的认知,又刷了一题. 直接上题目: 找出对象 obj 不在原型链上的属性(注意这题测试例子的冒号后面也有一个空格~)1.返回数组,格式为 key: value2.结果数组不要求顺序 示例: //输入 var C = function() {this.foo = 'bar'; this.baz = 'bim';}; C.prototype.bop = 'bip'; iterate(new C()); //输出 ["foo: bar", "baz: bim&quo

C#类的属性遍历及属性值获取

1.定义一个类 public class Person { public string Name { get; set; } public int ID { get; set; } } 2.获取属性 方法一.定义一个类的对象获取 Person p = new Person(); foreach (System.Reflection.PropertyInfo info in p.GetType().GetProperties()) { Console.WriteLine(info.Name); }

ServletContext与ServletConfig

ServletContext -运行在JVM.上的每一个web应用程序都有一 个与之对应的Servlet 上下文(Servlet运行环境)Servlet API提供ServletContext接口用来表示Servlet上下文 ServletCo-ntext对象可以被web应用程序中的所有servlet访问 ServletContext对象是web服务器中的一个已知路径的根 原理: ServletContext对象由服务器进行创建,一个项目只有一个对象. 不管在项目的任意位置进行获取得到的都是同一