java获取web.xml中的值

web.xml详解: 点我
在web.xml中配置监听器。注意:监听器>过滤器>serlvet,配置的时候要注意先后顺序
1.


      name
      value

由于是放置于上下文环境中,在程序直接可以用getServletContext().getInitParameter(“name”),获取其中设置的值;

// 先获取ServletConfig对象
 ServletConfig config = getServletConfig();
 // 获取配置文件中serlvet的名称
 System.out.println("servlet的名称:"+config.getServletName());
 
 // 获取初始化的参数
 String username = config.getInitParameter("username");
 String password = config.getInitParameter("password");
 System.out.println(username+" : "+password);
 
 Enumeration e = config.getInitParameterNames();
 while(e.hasMoreElements()){
     String name = e.nextElement();
     String value = config.getInitParameter(name);
     System.out.println(name+" : "+value);
 }
  1. Filter
     private String encoding;
        	// encoding 的设置在web.xml中
        	@Override
        	protected void init() {
        		encoding = getFilterConfig().getServletContext().getInitParameter("encoding");
        	}

web.xml的配置如下

 
      	encoding
      	UTF-8
      
      
-另一个例子: java代码--------------------------------------------------------------------

  //1. 从 web.xml 文件中获取 sessionKey, redirectUrl, uncheckedUrls
    	private String sessionKey;
    	private String redirectUrl;
    	private String unchekcedUrls;
 // 将获取值的操作写在init()中, 这样在整个过程中,只会执行一次,可以提高效率
        	@Override
        	protected void init() {
        		ServletContext servletContext = getFilterConfig().getServletContext();
     //从web.xml中获取Filter的初始化参数
        		sessionKey = servletContext.getInitParameter("userSessionKey");
        		redirectUrl = servletContext.getInitParameter("rediretPage");
        		// /login/a.jsp,/login/list.jsp,/login/login.jsp,/login/doLogin.jsp
        		unchekcedUrls = servletContext.getInitParameter("uncheckedUrls");
        	}
web.xml
    
      
      	userSessionKey
      	USERSESSIONKEY
      
      
      
      
      	rediretPage
      	/login/login.jsp
      
      
      
      
      	uncheckedUrls
      	/login/a.jsp,/login/list.jsp,/login/login.jsp,/login/doLogin.jsp,/login/b.jsp
      


 4. 
采用web.xml中的init-param标签 
web。xml中的配置如下:

      
        string  
        hello  
       
取值方法: 
String s = request.getParameter("string"); 

采用上下文参数(context-param)方式 
web。xml配置如下: 

      
        string  
        name  
       
取值方法: 
String s2 = getServletConfig().getServletContext().getInitParameter("param"); 
 

你可能感兴趣的:(javaweb)