java web项目获取src和WebContent目录下的配置文件

2017年10月11日 18:36:25
ispotu
阅读数 14769更多

分类专栏:
java

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

1.首先上目录结构:

2.部署到tomcat,在servlet中测试,测试代码:


  1. package test;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.util.Properties;
  5. import java.util.ResourceBundle;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.annotation.WebServlet;
  8. import javax.servlet.http.HttpServlet;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import utils.ReadFile;
  12. import utils.readFile.SysConfig;
  13. /**
  14. * Servlet implementation class testEvery
  15. */
  16. @WebServlet("/testEvery")
  17. public class testEveryServlet extends HttpServlet {
  18. private static final long serialVersionUID = 1L;
  19. /**
  20. * @see HttpServlet#HttpServlet()
  21. */
  22. public testEveryServlet() {
  23. super();
  24. // TODO Auto-generated constructor stub
  25. }
  26. /**
  27. * 访问url:http://localhost:8080/demoProj/testEveryServlet
  28. */
  29. /**
  30. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  31. */
  32. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  33. // TODO Auto-generated method stub
  34. response.getWriter().append("Served at: ").append(request.getContextPath());
  35. String path = request.getSession().getServletContext().getRealPath("/config/sysconfig.properties");
  36. System.out.println("doGet读取到的/WEB-INF/config/sysconfig.properties:path:"+path);
  37. String url = request.getSession().getServletContext().getRealPath("/WEB-INF/config/config.properties");
  38. System.out.println("doGet读取到的/WEB-INF/config/config.properties:url:"+url);
  39. /**
  40. * 结果:
  41. * doGet:path:D:\tomcat7\wtpwebapps\demoProj\config\sysconfig.properties
  42. * doGet:url:D:\tomcat7\wtpwebapps\demoProj\WEB-INF\config\config.properties
  43. */
  44. //只能获取src下面的
  45. InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/config/test.properties");
  46. Properties prop = new Properties(); //map
  47. prop.load(in);
  48. String url1 = prop.getProperty("url");
  49. System.out.println("获取到的url1:"+url1);//获取到的url1:www.baidu.com
  50. //不可获取
  51. InputStream in2 = this.getServletContext().getResourceAsStream("/WEB-INF/config.properties");
  52. Properties prop2 = new Properties(); //map
  53. prop.load(in2);
  54. String url2 = prop2.getProperty("url");
  55. System.out.println("获取到的url2:"+url2);//获取到的url2:null
  56. //不可获取
  57. InputStream in3 = this.getServletContext().getResourceAsStream("/webcontent.properties");
  58. Properties prop3 = new Properties(); //map
  59. prop.load(in3);
  60. String url3 = prop3.getProperty("url");
  61. System.out.println("获取到的url3:"+url3);//获取到的url3:null
  62. //不可获取
  63. InputStream in4 = this.getServletContext().getResourceAsStream("/config/wcc.properties");
  64. Properties prop4 = new Properties(); //map
  65. prop.load(in4);
  66. String url4 = prop4.getProperty("url");
  67. System.out.println("获取到的url4:"+url4);//获取到的url4:null
  68. // 读取src下config包中的testJava.java
  69. // InputStream in = ReadFile.class.getResourceAsStream("/config/testJava.java");//in为null
  70. // byte[] a=new byte[100];
  71. // in.read(a, 0, 900);
  72. // System.out.println("读取src下config包中的testJava.java的输入流in的内容toString:"+in.toString());
  73. // System.out.println("读取到的a:"+a);
  74. String fileName3 = ReadFile.class.getResource("/config/test.properties").getFile();
  75. System.out.println("读取src下config包中的test.properties:"+fileName3);
  76. //输出:读取src下config包中的test.properties:/D:/tomcat7/wtpwebapps/demoProj/WEB-INF/classes/config/test.properties
  77. // in.close();
  78. // 读取src下 基名为myproperties的properties文件,获取其中name配置值
  79. String value = ResourceBundle.getBundle("myproperties").getString("name");
  80. System.out.println("获取到的myproperties.properties的值value:"+value);
  81. //输出:获取到的myproperties.properties的值value:myname
  82. // 读取src下myproperties.properties
  83. InputStream in1 = ReadFile.class.getResourceAsStream("/myproperties.properties");
  84. Properties properties = new Properties();
  85. properties.load(in1);
  86. String value2 = properties.getProperty("name"); // 获得name属性
  87. System.out.println("获取到的myproperties.properties的值value2:"+value2);
  88. //获取到的myproperties.properties的值value2:myname
  89. //读取src下的
  90. String sensitiveWordsServerPath1 = SysConfig.getSysParam("sensitiveWords_server_path1");
  91. System.out.println("获取的sensitiveWordsServerPath1:"+sensitiveWordsServerPath1);
  92. //获取的sensitiveWordsServerPath1:/datacms/htdocs/html/cctv/sensitiveWords/sws.xlsx
  93. //读取src下的
  94. String pp = prop("sensitiveWords_server_path1");
  95. System.out.println("pp:"+pp);//pp:/datacms/htdocs/html/cctv/sensitiveWords/sws.xlsx
  96. }
  97. public String prop(String url){
  98. InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("config/sysconfig.properties");
  99. Properties p = new Properties();
  100. try {
  101. p.load(inputStream);
  102. } catch (Exception e) {
  103. e.printStackTrace();
  104. }
  105. System.out.println("p:"+p);
  106. return p.getProperty(url);
  107. }
  108. /**
  109. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  110. */
  111. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  112. // TODO Auto-generated method stub
  113. doGet(request, response);
  114. String path = request.getSession().getServletContext().getRealPath("/config/sysconfig.properties");
  115. System.out.println("doPost:path:"+path);
  116. }
  117. }

网上大量的读取配置文件的都是从src目录下,只有以下是从WebContent目录下读取的:


  1. String path = request.getSession().getServletContext().getRealPath("/config/sysconfig.properties");
  2. System.out.println("doGet读取到的/WEB-INF/config/sysconfig.properties:path:"+path);
  3. String url = request.getSession().getServletContext().getRealPath("/WEB-INF/config/config.properties");
  4. System.out.println("doGet读取到的/WEB-INF/config/config.properties:url:"+url);
  5. /**
  6. * 结果:
  7. * doGet:path:D:\tomcat7\wtpwebapps\demoProj\config\sysconfig.properties
  8. * doGet:url:D:\tomcat7\wtpwebapps\demoProj\WEB-INF\config\config.properties
  9. */

另:目前还没发现可以不启动tomcat,直接从当前项目WebContent目录下读取配置文件的简便方法。(不是从硬盘目录下,有些方法很复杂),有解决方法的同学请贡献出来。

参考:

http://blog.csdn.net/qhwc2009/article/details/45824815

http://blog.csdn.net/wjl_mgqs/article/details/7554741

http://www.cnblogs.com/duoting/p/4141044.html

http://blog.csdn.net/mar_ljh/article/details/39693979

附上SysConfig.java


  1. package utils.readFile;
  2. import java.io.FileOutputStream;
  3. import java.io.OutputStream;
  4. import java.util.Enumeration;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7. import java.util.Properties;
  8. import org.apache.log4j.Logger;
  9. import com.alibaba.fastjson.JSONArray;
  10. import com.alibaba.fastjson.JSONObject;
  11. public class SysConfig {
  12. private static Logger logger = Logger.getLogger(SysConfig.class);
  13. /**
  14. * 将本类定义为singleton类
  15. */
  16. private SysConfig(){
  17. }
  18. private static SysConfig mConfig= new SysConfig();
  19. private Map<String,String> params = null;
  20. private static String CONFIG_FILE="/config/sysconfig.properties";
  21. private static String CONFIG_FILE_PATH = SysConfig.class.getClassLoader().getResource("").getPath().substring(1) + CONFIG_FILE;
  22. public static String getSysParam(String param) {
  23. return getAllParams().get(param);
  24. }
  25. public static Map<String,String> getAllParams() {
  26. synchronized(mConfig){
  27. if(mConfig.params==null){
  28. mConfig.readConfig();
  29. }
  30. }
  31. System.out.println("mConfig.params:"+mConfig.params);
  32. return mConfig.params;
  33. }
  34. /**
  35. * 重载配置文件
  36. */
  37. public static void reloadConfig(JSONArray array) {
  38. try{
  39. Properties props = new Properties();
  40. for(int i=0;i<array.size();i++){
  41. JSONObject o = array.getJSONObject(i);
  42. String key = o.keySet().iterator().next();
  43. String value = o.getString(key);
  44. mConfig.params.put(key, value);
  45. props.setProperty(key, value);
  46. }
  47. String configFilePath = CONFIG_FILE_PATH;
  48. if(!isLocal()){
  49. configFilePath = "/" + CONFIG_FILE_PATH;
  50. }
  51. OutputStream out = new FileOutputStream(configFilePath);
  52. props.store(out, "update");
  53. }catch(Exception e){
  54. logger.info("may error config");
  55. }
  56. }
  57. private void readConfig() {
  58. try {
  59. Properties props = new Properties();
  60. props.load(SysConfig.class.getResourceAsStream(CONFIG_FILE));
  61. this.propertisToCache(props);
  62. } catch (Exception e) {
  63. logger.info("may error config");
  64. }
  65. }
  66. /**
  67. * 将配置写入内存
  68. * @param properties
  69. */
  70. private void propertisToCache(Properties props){
  71. mConfig.params = new HashMap<String,String>();
  72. Enumeration e = props.propertyNames();
  73. while(e.hasMoreElements()) {
  74. String key = (String)e.nextElement();
  75. String value = props.getProperty(key);
  76. params.put(key, value);
  77. }
  78. if(isLocal()) {
  79. params.put("root_path", params.get("root_path_local"));
  80. params.put("root_path_issue_temp", params.get("root_path_issue_temp_local"));
  81. params.put("root_path_issue", params.get("root_path_issue_local"));
  82. } else {
  83. params.put("root_path", params.get("root_path_server"));
  84. params.put("root_path_issue_temp", params.get("root_path_issue_temp_server"));
  85. params.put("root_path_issue", params.get("root_path_issue_server"));
  86. }
  87. }
  88. /**
  89. * 判断系统类型
  90. * @return:true为windows系统
  91. */
  92. public static boolean isLocal() {
  93. if (System.getProperty("os.name").contains("Windows")) {
  94. return true;
  95. }
  96. logger.info("os is : " + System.getProperty("os.name"));
  97. return false;
  98. }
  99. }

        <div class="recommend-box"><div class="recommend-item-box type_blog clearfix" data-report-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u011572301/article/details/15026613&quot;,&quot;strategy&quot;:&quot;BlogCommendFromMachineLearnPai2&quot;,&quot;index&quot;:&quot;0&quot;}">
<div class="content" style="width: 962px;">
	<a href="https://blog.csdn.net/u011572301/article/details/15026613" target="_blank" rel="noopener" title="Servlet访问WebContent下的文件">
	<h4 class="text-truncate oneline" style="width: 802px;">
			Servlet访问<em>Web</em>Content下的文件		</h4>
	<div class="info-box d-flex align-content-center">
		<p class="date-and-readNum oneline">
			<span class="date hover-show">11-11</span>
			<span class="read-num hover-hide">
				阅读数
				1680</span>
			</p>
		</div>
	</a>
	<p class="content" style="width: 962px;">
		<a href="https://blog.csdn.net/u011572301/article/details/15026613" target="_blank" rel="noopener" title="Servlet访问WebContent下的文件">
			<span class="desc oneline">项目目录结构如下:要在ShowImage这个Servlet中访问2.jpg这张图片。Stringpath=getServletContext().getRealPath("images/2.jpg")...</span>
		</a>
		<span class="blog_title_box oneline ">
								<span class="type-show type-show-blog type-show-after">博文</span>
										<a target="_blank" rel="noopener" href="https://blog.csdn.net/u011572301">来自:	<span class="blog_title"> 魂影的专栏</span></a>
											</span>
	</p>
</div>
</div>
	<div class="comment-list-container">
	<a id="comments"></a>
	<div class="comment-list-box">
	</div>
	<div id="commentPage" class="pagination-box d-none"></div>
	<div class="opt-box text-center">
		<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
	</div>
</div>
<div class="recommend-item-box recommend-recommend-box"><div id="_6365a8oaj"><abbr style="width:0px;height:0px;cursor:auto;"></abbr><iframe width="852" frameborder="0" height="60" scrolling="no" src="//rabc2.iteye.com/drnpwpfr?ros=XR&amp;gsn=ZWT&amp;ns=LUV_SXXZ&amp;vde=8KKGJ0U-0Td0Td2CF70y3J4E0yE5K0TdJLG5I9KVRS0Td1IK93C50Td45K19CJ0TdYZTRXZYY0Td&amp;zcs=XWW4US6T4S3XRRYUXX6WX4XVSZ6XXZW_&amp;nm=U&amp;kbs=T&amp;ndw=frkjynmqr&amp;nbs=S&amp;zmc=SSUWOXUZ&amp;zcc=STTXOXRXT&amp;dzb=SWXZ_VYW_UYTV&amp;kxd=S&amp;nsc=R&amp;zkb=S_TROSRUR&amp;nks=T&amp;zc=TWUWOUYX&amp;zsc=zSOzS&amp;zbyd=T&amp;ohzc=SSSRRT,SSRRSS&amp;mom=srdzZ&amp;ja10=mwbr&amp;4s9=udoxr&amp;swt=1"></iframe></div><script type="text/javascript" src="//rabc1.iteye.com/production/res/rxjg.js?pkcgstj=jm"></script></div>
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_60" data-pid="60"><iframe src="https://adaccount.csdn.net/#/preview/261?m=tLbcQQAptHctDnJyLitApLEHiLbcSAQtbntbpLSmUiHEpEXpLQtEASbAHLALnDbJiXcHASQEWcEtUEtXJpiUfimbbLJJioDbHcQQ&amp;k=" frameborder="0" width="100%" height="75px" scrolling="no"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=tLbcQQAptHctDnJyLitApLEHiLbcSAQtbntbpLSmUiHEpEXpLQtEASbAHLALnDbJiXcHASQEWcEtUEtXJpiUfimbbLJJioDbHcQQ" src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=tLbcQQAptHctDnJyLitApLEHiLbcSAQtbntbpLSmUiHEpEXpLQtEASbAHLALnDbJiXcHASQEWcEtUEtXJpiUfimbbLJJioDbHcQQ"></div></div>
		<div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
		<div class="d-flex">
			<div class="blog-expert-recommend">
				<div class="blog-expert">
					<div class="blog-expert-flexbox" data-report-view="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/u011572301" target="_blank"><img src="https://avatar.csdn.net/F/D/6/3_u011572301.jpg" alt="逝魂影" title="逝魂影"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="u011572301" data-nick="逝魂影">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/u011572301" target="_blank"><h5 class="oneline" title="逝魂影">逝魂影</h5></a></span>  <p></p><p class="article-num" title="49篇文章"> 49篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/weixin_38920506" target="_blank"><img src="https://avatar.csdn.net/C/B/5/3_weixin_38920506.jpg" alt="划船不用桨全靠浪" title="划船不用桨全靠浪"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="weixin_38920506" data-nick="划船不用桨全靠浪">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/weixin_38920506" target="_blank"><h5 class="oneline" title="划船不用桨全靠浪">划船不用桨全靠浪</h5></a></span>  <p></p><p class="article-num" title="5篇文章"> 5篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/maomaoyu3211" target="_blank"><img src="https://avatar.csdn.net/7/2/A/3_maomaoyu3211.jpg" alt="maomaoyu3211" title="maomaoyu3211"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="maomaoyu3211" data-nick="maomaoyu3211">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/maomaoyu3211" target="_blank"><h5 class="oneline" title="maomaoyu3211">maomaoyu3211</h5></a></span>  <p></p><p class="article-num" title="487篇文章"> 487篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/mar_ljh" target="_blank"><img src="https://avatar.csdn.net/9/D/A/3_mar_ljh.jpg" alt="赣江" title="赣江"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="mar_ljh" data-nick="赣江">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/superit401/article/details/78206877/&quot;}"><a href="https://blog.csdn.net/mar_ljh" target="_blank"><h5 class="oneline" title="赣江">赣江</h5></a></span>  <p></p><p class="article-num" title="73篇文章"> 73篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div></div>
				</div>
			</div>
		</div>
	</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40815370/article/details/93646822&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:&quot;5&quot;}" data-report-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40815370/article/details/93646822&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:&quot;5&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40815370/article/details/93646822&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:4,&quot;extend1&quot;:&quot;_&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40815370/article/details/93646822&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:4,&quot;extend1&quot;:&quot;_&quot;}" data-flg="true">                <a href="https://blog.csdn.net/qq_40815370/article/details/93646822" target="_blank">              		<h4 class="text-truncate oneline" style="width: 883px;"><em>获取</em><em>java</em> <em>web</em><em>项目</em>中 resource路径下的文件路径 - qq_40..._CSDN博客</h4>                  <div class="info-box d-flex align-content-center">                    <p>                      <span class="date">6-25</span>                    </p>                  </div>                </a>            	</div><div class="recommend-item-box baiduSearch recommend-box-ident" data-report-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/regid571500581/article/details/78626045&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:&quot;6&quot;}" data-report-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/regid571500581/article/details/78626045&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:&quot;6&quot;}" data-track-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/regid571500581/article/details/78626045&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:5,&quot;extend1&quot;:&quot;_&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/regid571500581/article/details/78626045&quot;,&quot;strategy&quot;:&quot;searchFromBaidu1&quot;,&quot;index&quot;:5,&quot;extend1&quot;:&quot;_&quot;}" data-flg="true">                <a href="https://blog.csdn.net/regid571500581/article/details/78626045" target="_blank">              		<h4 class="text-truncate oneline" style="width: 890px;">springmvc-<em>Web</em>Content<em>目录</em>下的文件访问 - 571500581的..._CSDN博客</h4>                  <div class="info-box d-flex align-content-center">                    <p>                      <span class="date">9-8</span>                    </p>                  </div>                </a>            	</div>
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_61" data-pid="61"><iframe src="https://adaccount.csdn.net/#/preview/263?m=AtcQJpQpLtSnEpHEJLcJDyHJcbELbQmvHLnAXJEcHbSbpEtDEXtUAnHQLWEJbcLcEEAnoJAfJJSDpEAbimvtbyJAHLcpLtQJibbQ&amp;k=" frameborder="0" width="100%" height="75px" scrolling="no"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=AtcQJpQpLtSnEpHEJLcJDyHJcbELbQmvHLnAXJEcHbSbpEtDEXtUAnHQLWEJbcLcEEAnoJAfJJSDpEAbimvtbyJAHLcpLtQJibbQ" src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=AtcQJpQpLtSnEpHEJLcJDyHJcbELbQmvHLnAXJEcHbSbpEtDEXtUAnHQLWEJbcLcEEAnoJAfJJSDpEAbimvtbyJAHLcpLtQJibbQ"></div></div>
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_62" data-pid="62"><iframe src="https://adaccount.csdn.net/#/preview/575?m=icQvHctcJLLytHcEDitESDcbHnJitSXiDbppHSbLJbAipnvEyvJHASQtLAiWnbttEAQiyEJLnyypJLLJApfSJfQcSnpHEpcJLQEQ&amp;k=" frameborder="0" width="100%" height="75px" scrolling="no"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=icQvHctcJLLytHcEDitESDcbHnJitSXiDbppHSbLJbAipnvEyvJHASQtLAiWnbttEAQiyEJLnyypJLLJApfSJfQcSnpHEpcJLQEQ"></div></div>
<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_63" data-pid="63"><script async="async" charset="utf-8" src="https://shared.ydstatic.com/js/yatdk/3.0.1/stream.js" data-id="8935aa488dd58452b9e5ee3b44f1212f" data-udid="24C56021-A1CB-4A07-993A-2D2A7F00FDCD" data-div-style="width:900px;height:76px;" data-img-style="float:left;margin-right:15px;width:90px;height:60px;" data-tit-style="font-size:16px;color:#f13d3d;" data-des-style="font-size:12px;color:#333;" data-is-handling="1">
广告

web项目获取资源文件的更多相关文章

  1. 以Jar形式为Web项目提供资源文件

    以Jar形式为Web项目提供资源文件 http://www.webjars.org/ Web前端使用了越来越多的JS或CSS如jQuery, Backbone.js 和Twitter Bootstra ...

  2. 【转】Java Web 项目获取运行时路径 classpath

    Java Web 项目获取运行时路径 classpath 假设资源文件放在maven工程的 src/main/resources 资源文件夹下,源码文件放在 src/main/java/下, 那么ja ...

  3. JavaWeb基础: 获取资源文件

    Web工程在编译构建完毕以后,需要部署到Tomcat上运行,资源的硬盘路径也会随着改变.要想对资源文件进行读写操作需要获取其硬盘地址,在Web工程中通常通过ServletContext/ClassLo ...

  4. java基础知识3--如何获取资源文件(Java中获取资源文件的url)

    java开发中,常见的resource文件有:.xml,.properties,.txt文件等,后台开发中经常用到读取资源文件,处理业务逻辑,然后返回结果. 获取资源文件的方法说明getResourc ...

  5. wpf 前台获取资源文件路径问题

    1 <ImageBrush ImageSource="YT.CM.CommonUI;component/Resource/FloadwindowImage/middle.png&quo ...

  6. Java中获取资源文件的方法总结

    这里总结3中方法获取资源文件的 ServletContext Class ClassLoader 文件的位置 1. ServletContext public void doGet(HttpServl ...

  7. Weblogic部署web项目获取项目根目录为null

    写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...

  8. 【spring Boot】spring boot获取资源文件的三种方式【两种情况下】

    首先声明一点,springboot获取资源文件,需要看是 1>从spring boot默认的application.properties资源文件中获取 2>还是从自定义的资源文件中获取 带 ...

  9. 在eclipse完成对Java_web项目里面资源文件的读取

    Java_web项目的资源文件一般有两种: 一种是存放数据之间有联系的文件,使用xml文件 另一种是存放数据之间没有联系的文件,使用properties文件 这里我们对properties文件读写做示 ...

随机推荐

  1. luogu 5354 [Ynoi2017]由乃的OJ LCT+位运算

    如果做过起床困难综合征的话应该很快就能有思路,没做过那道题的话还真是挺费劲的. 我们不知道要带入的值是什么,但是我们可以知道假设带入值得当前位为 $1$ 时这一位在经过位运算后是否为 $1$. 至于这 ...

  2. IDEA工具的安装、破解与配置

    一.什么是IDEA? IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,是目前最好用的java集成开发工具.他最突出的功能是调试(Debug),可以对Java代码,Java ...

  3. 内存管理4-Autoreleasepool

    自动释放池是OC里面的一种内存回收机制,一般可以将一些临时变量添加到自动释放池中,统一回收释放,当自动释放池销毁时,池里面的所有对象都会调用一次release,也就是计数器会减1,但是自动释放池被销毁 ...

  4. Solr 7.X 安装和配置--Linux篇

    1. 关闭防火墙和Selinux 2. 安装所需环境JDK 3. 下载Solr7.4版本 4. 下载并配置solr的中文分词器IK Analyzer 5. 启动Solr 6. 注意事项以及说明 1. ...

  5. JavaEE三大框架的整合

    JavaEE三大框架的整合                                                                                       ...

  6. pwn学习日记Day7 基础知识积累

    知识杂项 strncpy(char s1,const char s2,int n); 其中有三个参数分别表示目标字符串s1,源字符串s2,拷贝长度.意思是将s2指向的字符串的前n个长度的字符放到s1指 ...

  7. 分享图片压缩上传demo,可以选择一张或多张图片也可以拍摄照片

    2016-08-05更新: 下方的代码是比较OLD的了,是通过js进行图片的剪切 旋转 再生成,效率较低. 后来又整合了一个利用native.js本地接口的压缩代码 ,链接在这 .页面中有详细的说明, ...

  8. Windows Form, Ok, Cancel button

    1. 为button设置DialogResult property为非None值, 可以关闭父窗口,并使父窗口的DialogResult property返回相应的值. http://msdn.mic ...

  9. 《梁宁·产品思维30讲》课程学习笔记(内含全套音频+ppt资料

    科技进步.产品迭代.公司演化.组织变迁……不变的是用户的情绪和人性. 那些信奉“用户驱动”的人,从普通人变成了行业大佬,建立了自己的世界.乔布斯.马化腾.马云.雷军.张小龙.周鸿祎.傅盛……这些改变世 ...

  10. 开发软件-IntelliJ IDEA:百科

    ylbtech-开发软件-IntelliJ IDEA:百科 IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智 ...