Servlet(ServletContext配置全局参数、ServletContext方法、属性文件中获取数据库连接参数)

  • 通过ServletContext对象获取数据库全局配置在web.xml中的连接参数的值
    配置文件web.xml中的代码
<!-- 这是全局的数据库连接参数配置 -->
  <context-param>
  	<param-name>driver</param-name>
  	<param-value>com.mysql.jdbc.Driver</param-value>
  </context-param>
  <context-param>
  	<param-name>url</param-name>
  	<param-value>jdbc:mysql://localhost:3306/copy</param-value>
  </context-param>
  <context-param>
  	<param-name>user</param-name>
  	<param-value>root</param-value>
  </context-param>
  <context-param>
  	<param-name>password</param-name>
  	<param-value>root</param-value>
  </context-param>
//通过ServletContext对象获取数据库连接参数的值,在配置文件web.xml文件中,
   获取整个应用的全局参数配置。
   			//通过servlet当前对象this获取ServletContext对象
			ServletContext context = this.getServletContext();
			//使用getInitParamemeter(String name)方法,根据参数名获取参数值
			driver = context.getInitParameter("driver");
			url = context.getInitParameter("url");
			user = context.getInitParameter("user");
			password = context.getInitParameter("password");
this.getServletContext().getInitParameter(name);//根据指定的参数名获取参数值
this.getServletContext().getInitParameterNames();//获取所有参数名称列表
this.getServletContext().getRealPath(path),根据相对路径获取服务器上资源的绝对路径
this.getServletContext().getResourceAsStream(path),根据相对路径获取服务器上资源的输入字节流
  • ServletContext
    ServletContext官方叫servlet上下文。服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象。这个对象全局唯一,而且工程内部的所有servlet都共享这个对象。所以叫全局应用程序共享对象。
    servletContext是一个域对象,是服务器在内存上创建的存储空间,用于在不同动态资源(servlet)之间传递与共享数据。
setAttribute(name,value);name是String类型,value是Object类型; 往域对象里面添加数据,添加时以key-value形式添加
getAttribute(name); 根据指定的key读取域对象里面的数据
removeAttribute(name); 根据指定的key从域对象里面删除数据
  • servletContext存储数据特点
    全局共享,里面的数据所有动态资源都可以写入和获取,服务器启动的时候创建,服务器关闭的时候销毁,因为这是全局应用程序对象,全局共享对象。
    -在属性文件中获取数据库连接参数
    属性文件 jdbc.properties 创建在工程的src目录下
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/copy
user= root
password = root
		String driver = "";
		String url = "";
		String user= "";
		String password = "";
		
		//从jdbc.properties属性文件中获取数据库连接参数的值
		//获取属性文件对象
		Properties pro = new Properties();
		//获取输入流对象,传入属性文件的路径
		InputStream is = this.getServletContext().getResourceAsStream("/WEB-INF/classes/jdbc.properties");
		//加载
		pro.load(is);
		//根据键获取值
		driver = pro.getProperty("driver");
		url = pro.getProperty("url");
		user = pro.getProperty("user");
		password = pro.getProperty("password");

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/84500582
今日推荐