﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学历代表过去，能力代表现在，学习力代表未来！-文章分类-java基础</title><link>http://www.blogjava.net/ljc-java/category/49263.html</link><description>模仿中成长，在创新中成功！</description><language>zh-cn</language><lastBuildDate>Tue, 06 Dec 2011 21:49:28 GMT</lastBuildDate><pubDate>Tue, 06 Dec 2011 21:49:28 GMT</pubDate><ttl>60</ttl><item><title>UML中几种类间关系：依赖、关联、聚合、组合的联系与区别 .</title><link>http://www.blogjava.net/ljc-java/articles/355377.html</link><dc:creator>小罗</dc:creator><author>小罗</author><pubDate>Sat, 30 Jul 2011 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/ljc-java/articles/355377.html</guid><wfw:comment>http://www.blogjava.net/ljc-java/comments/355377.html</wfw:comment><comments>http://www.blogjava.net/ljc-java/articles/355377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ljc-java/comments/commentRss/355377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ljc-java/services/trackbacks/355377.html</trackback:ping><description><![CDATA[聚合关系<span>(aggregation):</span>&nbsp;关联关系中的一种<span>,</span>&nbsp;是强的关联关系<span>.</span>&nbsp;聚合是整体和个体之间的关系<span>.</span>&nbsp;如汽车类与引擎类<span>,</span>&nbsp;轮胎类<span>.</span>&nbsp;<br />聚合关系也是使用实例变量实现的<span>.</span>&nbsp;从<span>java</span>&nbsp;语法上是分不出关联和聚合的<span>.</span>&nbsp;<br />关联关系中两个类是处于相同的层次<span>,</span>&nbsp;而聚合关系中两不类是处于不平等的层次<span>,</span>&nbsp;一个表示整体<span>,</span>&nbsp;一个表示部分<span>.</span>&nbsp;<br /><br />组合关系<span>(composition):&nbsp;</span>也是关联关系中的一种<span>,</span>&nbsp;比聚合更强的的关联关系<span>.</span>&nbsp;它要求代表整体的对象要负责代表部分的对象的生命周期<span>.</span>&nbsp;即代表整体的对象要负责代表部分的对象的存活<span>.</span>&nbsp;<br />组合关系不能共享<span>.</span>&nbsp;<br />如人对象和四肢对象就是组合关系<span>.</span>&nbsp;<br /><br />依赖关系<span>:</span>&nbsp;也是类与类之间的连接<span>.</span>&nbsp;表示一个类依赖于另一个类的定义<span>.</span>&nbsp;依赖关系总是单向的<span>.</span>&nbsp;<br />在<span>java</span>&nbsp;中<span>.</span>&nbsp;依赖关系体现为<span>:</span>&nbsp;局部变量<span>,</span>&nbsp;方法中的参数<span>,</span>&nbsp;和对静态方法的调用<span>.</span><img src ="http://www.blogjava.net/ljc-java/aggbug/355377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ljc-java/" target="_blank">小罗</a> 2011-07-30 09:05 <a href="http://www.blogjava.net/ljc-java/articles/355377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java或web中解决所有路径问题</title><link>http://www.blogjava.net/ljc-java/articles/349925.html</link><dc:creator>小罗</dc:creator><author>小罗</author><pubDate>Tue, 10 May 2011 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/ljc-java/articles/349925.html</guid><wfw:comment>http://www.blogjava.net/ljc-java/comments/349925.html</wfw:comment><comments>http://www.blogjava.net/ljc-java/articles/349925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ljc-java/comments/commentRss/349925.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ljc-java/services/trackbacks/349925.html</trackback:ping><description><![CDATA[<div class="blkCont">
<p>
</p><p>Java中使用的路径，分为两种：绝对路径和相对路径。归根结底，Java本质上只能使用绝对路径来寻找资源。所有的相对路径寻找资源的方法，都不过是一些便利方法。不过是API在底层帮助我们构建了绝对路径，从而找到资源的！</p>
<p>在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径。</p>
<p>如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时， 我们只需要获得ServletContext， 然后通过ServletContext.getRealPath("/")来获取当前应用在服务器上的物理地址。</p>
<p>如果在类中取不到ServletContext时， 有两种方式可以做到：</p>
<p>1. 利用Java的类加载机制 调用 XXX.class.getClassLoader().getResource(""); 方法来获取到ClassPath , 然后处理获得WebRoot目录，这种方式只能是该class在WebRoot/WEB-INF/classes下才能生效， 如果该class被打包到一个jar文件中， 则该方法失效。这时就应该用下面一种方式。</p>
<p>2. spring框架的思路, 在WEB-INF/web.xml中 ， 创建一个webAppRootKey的param, 指定一个值（默认为webapp.root）作为键值， 然后通过Listener , 或者Filter , 或者Servlet 执行String webAppRootKey = getServletContext().getRealPath("/"); 并将webAppRootKey对应的webapp.root 分别作为Key , Value写到System Properties系统属性中。之后在程序中通过System.getProperty("webapp.root")来获得WebRoot的物理路径。</p>
<p>根据第二种的思路，我们还可以再扩展一下。不过对于在部署在一台服务器中的应用来说，若还不是你所需请再往下看。</p>
<p>下面是一些得到classpath和当前类的绝对路径的一些方法。你可使用其中的一些方法来得到你需要的资源的绝对路径:</p>
<p>1. DebitNoteAction.class.getResource("")</p>
<p>得到的是当前类FileTest.class文件的URI目录。不包括自己！</p>
<p>如：file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/</p>
<p>atacarnet/src/com/evi/modules/atacarnet/action/</p>
<p>2. DebitNoteAction.class.getResource("/")</p>
<p>得到的是当前的classpath的绝对URI路径。</p>
<p>如：file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/</p>
<p>3. Thread.currentThread().getContextClassLoader().getResource("")</p>
<p>得到的也是当前ClassPath的绝对URI路径</p>
<p>如：file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/</p>
<p>4. DebitNoteAction.class.getClassLoader().getResource("") 或ClassLoader.getSystemResource("")</p>
<p>得到的也是当前ClassPath的绝对URI路径。</p>
<p>如：file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/</p>
<p>5. 取得服务器相对路径</p>
<p>System.getProperty("user.dir")</p>
<p>例如:E:\apache-tomcat-5.5.16\apache-tomcat-5.5.16\bin</p>
<p>我推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法</p>
<p>6. 取得项目中的绝对路径</p>
<p>一般用request.getRealPath("/")或request.getRealPath("/config/")</p>
<p>但现在不提倡使用request.getRealPath("/")了，大家可试用ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径</p>
<p>要取得src的文件非常容易，因为src是默认的相对目录，比如你说要取得src下com目录的test.java文件，你只需要这样就够了</p>
<p>File f = new File(com/test.java);</p>
<p>但如果我要取得不在src目录或者WebRoot目录下的文件呢，而是要从src或者WebRoot同级的目录中取呢，比如说doc吧</p>
<p>我的硬方法是这样实现的：</p>
<p>String path = this.getServletContext().getRealPath("/");</p>
<p>Properties p = new Properties();</p>
<p>p.load(new FileInputStream(new File(path.substring(0,(path.lastIndexOf("\\WebRoot") + 1)) + "doc/db.properties")));</p>
<p>System.out.println(p.getProperty("driverName"));</p>
</div><img src ="http://www.blogjava.net/ljc-java/aggbug/349925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ljc-java/" target="_blank">小罗</a> 2011-05-10 17:04 <a href="http://www.blogjava.net/ljc-java/articles/349925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>