servlet获取初始化参数

一、使用servlet提供的getInitParameter()方法获得初始化参数

  1. 首先,在web.xml文件中为servlet配置初始化参数:
    
    	getParam
    	getParam
    
    	
    	
    	  name
    	  xm99
    	
    	
    	
      		password
      		123456
    	
    	
    	
    	
    	
    		getParam
    		/getParam
      	
    
  2. 在方法中使用servlet提供的getInitParameter()方法获得初始化参数
    	public class getParam extends HttpServlet {
    
        @Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        	req.setCharacterEncoding("utf-8");
        	resp.setCharacterEncoding("utf-8");
    
            String name = this.getInitParameter("name");
        	String password = this.getInitParameter("password");
    
        	System.out.println(name);
        	System.out.println(password);
    
    	}
    }
    

二、上下文参数配置

使用提供的参数因为实在servlet里面的,所以只能够被一个servlet使用,所以,当多个servlet需要使用同一个参数时,可以将这个参数放在servlet外面,使用来进行设置。

三、使用资源注射的方式@Resource

使用资源注射的方式的时候,要使用标签来配置数据信息



  Archetype Created Web Application

  
    getParam
    getParam
  
  
  
    getParam
    /getParam
  

  
    name
    xm99
    java.lang.String
  

  
    password
    123456
    java.lang.String
  

而在标签中,三个标签的顺序不能发生改变,如果顺序不对的话,会报错。

在方法中进行数据注入:


public class getParam extends HttpServlet {

    private @Resource(name = "name") String name;

    private @Resource(name = "password") String password;

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");

        System.out.println(name);
        System.out.println(password);

    }
}

将属性放在方法外这种做法是线程不安全的,并不建议使用,在这里只是为了方便演示。

@Resource标签不止能够注入属性值,还能够注入数据源。

你可能感兴趣的:(javaWeb)