jsp中.properties文件读取得步骤是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp中.properties文件读取得步骤是啥?相关的知识,希望对你有一定的参考价值。

用到那些方法,具体怎么样?

读取Properties文件六种方法
开发项目时,经常把一些参数存入Properties文件,以增加程序的灵活性。可以通过以下六种方法读取配置参数(注意:spring对properties的读取也有很好的集成):
1、使用java.util.Properties类的load()方法 示例:
InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2、使用java.util.ResourceBundle类的getBundle()方法 示例:
ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3、使用java.util.PropertyResourceBundle类的构造函数 示例:
InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);
4、使用class变量的getResourceAsStream()方法 示例:
InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties(); p.load(in);
5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法 示例:
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties(); p.load(in);
6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例:
InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties(); p.load(in);
补充
Servlet中可以使用javax.servlet.ServletContext的
getResourceAsStream()方法 示例:
InputStream in = context.getResourceAsStream(path);
Properties p = new Properties(); p.load(in);
参考技术A 这是properties 文件内容
user=sa
password=sa
url=jdbc:sqlserver://localhost:1433;DatabaseName=tempdb
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
这里是建的一个类,
import java.io.InputStream;
import java.util.Properties;
public class Env extends Properties//继承Properties (java。util 下的)

private static Env env=new Env();//创建一个私有的属性,就是自己本身,顺便实例化
public static Env getEnv()//一个公共类型,其他类可以访问到

return env;

private Env()

try
InputStream is=getClass().getResourceAsStrea("jdbc.properties");//这里就相当是一个文件流,设置 从那个文件读取
load(is);
//把这个文件流加载到 这个类里
catch (Exception e)
e.printStackTrace();



//下面是测试类得到 properties 文件中的值,因为properties文件中是以 键值贮存 的
所以用下面的方法得到 properties 中的值
String driver=Env.getEnv().getProperty("driver");

String user=Env.getEnv().getProperty("user");

String url=Env.getEnv().getProperty("url");

String sa=Env.getEnv().getProperty("sa");

String pwd=Env.getEnv().getProperty("password");

System.out.println(driver);
参考技术B 转载一下:
--------------------------------------------------------------------------------------------------------------------
这是properties 文件内容
user=sa
password=sa
url=jdbc:sqlserver://localhost:1433;DatabaseName=tempdb
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
这里是建的一个类,
import java.io.InputStream;
import java.util.Properties;
public class Env extends Properties//继承Properties (java。util 下的)

private static Env env=new Env();//创建一个私有的属性,就是自己本身,顺便实例化
public static Env getEnv()//一个公共类型,其他类可以访问到

return env;

private Env()

try
InputStream is=getClass().getResourceAsStrea("jdbc.properties");//这里就相当是一个文件流,设置 从那个文件读取
load(is);
//把这个文件流加载到 这个类里
catch (Exception e)
e.printStackTrace();



//下面是测试类得到 properties 文件中的值,因为properties文件中是以 键值贮存 的
所以用下面的方法得到 properties 中的值
String driver=Env.getEnv().getProperty("driver");
String user=Env.getEnv().getProperty("user");
String url=Env.getEnv().getProperty("url");
String sa=Env.getEnv().getProperty("sa");
String pwd=Env.getEnv().getProperty("password");
System.out.println(driver);

JSP取得绝对路径

在JavaWeb开发中,常使用绝对路径的方式来引入Javascript和css文件,这样可以避免因为目录的变动导致引入文件找不到的情况,常用的做法如下:

使用${pageContext.request.contextPath}

  代码“${pageContext.request.contextPath}”的作用是取出部署的应用程序名,这样不管如何部署,所用的路径都是正确的!

EX:

<!--使用绝对路径的方式引入CSS文件-->
<Link rel="stylesheet" href="${pageContext.request.contextPath}/demo/default/css/index.css"  type="text/css"/>

<!--使用绝对路径引入Javascript脚本-->
<script type="text/javascript" src="${pageContext.request.contextPath}/demo/js/index.js">
</script>

  使用<%=request.getContextPath()%>和使用${pageContext.request.contextPath}达到同样的效果

  <script type="text/javascript" src="<%=request.getContextPath()%>/demo/js/index.js">

  <script>

以上是关于jsp中.properties文件读取得步骤是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在JAVA或JSP中,能否取得登录WINDOWS的域名及用户名?

向 JSP 提供服务器端属性的最佳方式是啥?

TeamCity 说在 MSBuild 步骤中使用“构建参数”而不是“/property:”。那是啥意思?

windows7系统下删除文件要administratros权限 是啥意思?

war,jar包是啥,.ear :-----转载

jsp做的网页,用tomcat测试时读数据库数据时很慢很慢,是啥原因?