﻿<?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-guanxf-随笔分类-Java技术</title><link>http://www.blogjava.net/17learning/category/48640.html</link><description>我的博客：http://blog.sina.com.cn/17learning</description><language>zh-cn</language><lastBuildDate>Wed, 09 Sep 2020 14:31:15 GMT</lastBuildDate><pubDate>Wed, 09 Sep 2020 14:31:15 GMT</pubDate><ttl>60</ttl><item><title>递归构建树</title><link>http://www.blogjava.net/17learning/archive/2020/09/07/435656.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Mon, 07 Sep 2020 01:56:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2020/09/07/435656.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/435656.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2020/09/07/435656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/435656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/435656.html</trackback:ping><description><![CDATA[<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:10.5pt;"><span style="color:#808080;"><br /></span><pre style="font-family: Consolas; font-size: 10.5pt;">createTree(<span style="color:#6897bb;">1</span><span style="color:#cc7832;">, </span>orgNodeTree<span style="color:#cc7832;">, </span>sameOrgNodes<span style="color:#cc7832;">, </span><span style="color:#6897bb;">0</span>)<span style="color:#cc7832;">;</span></pre><span style="color:#808080;"><br /><br /></span><pre style="font-family: Consolas; font-size: 10.5pt;"><span style="color:#bbb529;">@NoArgsConstructor<br /></span><span style="color:#bbb529;">@AllArgsConstructor<br /></span><span style="color:#bbb529;">@Getter<br /></span><span style="color:#bbb529;">@Setter<br /></span><span style="color:#cc7832;">public class </span>NodeTree {<br />    <span style="color:#cc7832;">private  </span>String <span style="color:#9876aa;">pName</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">    private  </span>String <span style="color:#9876aa;">name</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">    private  int </span><span style="color:#9876aa;">level</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">    private </span>List&lt;NodeTree&gt; <span style="color:#9876aa;">children</span><span style="color:#cc7832;">;<br /></span>}</pre><span style="color: #808080;"><br />private void createTree(int leave, int ind, Map&lt;String, NodeTree&gt; pIndexNodeNameMap, List&lt;NodeVo&gt; childNodes) {<br /></span><span style="color:#808080;">     Map&lt;String, NodeTree&gt; cIndexNodeNameMap = new HashMap();<br /></span><span style="color:#808080;">     //</span><span style="color:#808080;font-family:'Arial Unicode MS';">构建树</span><span style="color:#808080;"><br /></span><span style="color:#808080;">     int treeNo = pIndexNodeNameMap.size();<br /></span><span style="color:#808080;">     if (treeNo == 0) {<br /></span><span style="color:#808080;">         return;<br /></span><span style="color:#808080;">     }<br /></span><span style="color:#808080;">     int group = 0;<br /></span><span style="color:#808080;">     for (int i = ind; i &lt; childNodes.size(); i++) {<br /></span><span style="color:#808080;">         NodeVo node = childNodes.get(i);<br /></span><span style="color:#808080;">         long index = node.getId() % treeNo;<br /></span><span style="color:#808080;">         NodeTree pNode = pIndexNodeNameMap.get(index + "");<br /></span><span style="color:#808080;">         List&lt;NodeTree&gt; children = pNode.getChildren();<br /></span><span style="color:#808080;">         if (CollectionUtils.isEmpty(children)) {<br /></span><span style="color:#808080;">             children = new ArrayList();<br /></span><span style="color:#808080;">         }<br /></span><span style="color:#808080;">         if (children.size() &gt; 2) {<br /></span><span style="color:#808080;">             leave++;<br /></span><span style="color:#808080;">             createTree(leave, i, cIndexNodeNameMap, childNodes);<br /></span><span style="color:#808080;">             break;<br /></span><span style="color:#808080;">         } else {<br /></span><span style="color:#808080;">             NodeTree child = new NodeTree();<br /></span><span style="color:#808080;">             child.setLevel(leave);<br /></span><span style="color:#808080;">             child.setPName(pNode.getName());<br /></span><span style="color:#808080;">             child.setName(node.getNodeName());<br /></span><span style="color:#808080;">             children.add(child);<br /></span><span style="color:#808080;">             pNode.setChildren(children);<br /></span><span style="color:#808080;">             cIndexNodeNameMap.put(group + "", child);<br /></span><span style="color:#808080;">             group++;<br /></span><span style="color:#808080;">         }<br /></span><span style="color:#808080;">     }<br /></span><span style="color:#808080;"> }<br /><br /><br /></span><pre style="font-family: Consolas; font-size: 10.5pt;"><span style="color:#cc7832;">private boolean </span><span style="color:#ffc66d;">createTree</span>(<span style="color:#cc7832;">int </span>level<span style="color:#cc7832;">, </span>List&lt;NodeTree&gt; parentNodes<span style="color:#cc7832;">, </span>List&lt;NodeVo&gt; childNodes<span style="color:#cc7832;">, int </span>beginIndex) {<br />    <span style="color:#808080;">//</span><span style="color:#808080;font-family:'Arial Unicode MS';">构建树<br /></span><span style="color:#808080;font-family:'Arial Unicode MS';">    </span>List&lt;NodeTree&gt; nextLevelNodes = <span style="color:#cc7832;">new </span>ArrayList&lt;&gt;()<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">    for </span>(<span style="color:#cc7832;">int </span>i = beginIndex<span style="color:#cc7832;">; </span>i &lt; childNodes.size()<span style="color:#cc7832;">; </span>i++) {<br />        <span style="color:#cc7832;">int </span>parentCount = <span style="color:#6897bb;">1</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">        for </span>(NodeTree pNode : parentNodes) {<br />            List&lt;NodeTree&gt; children = pNode.getChildren()<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">            if </span>(CollectionUtils.<span style="font-style:italic;">isEmpty</span>(children)) {<br />                children = <span style="color:#cc7832;">new </span>ArrayList()<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>pNode.setChildren(children)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">            </span>}<br />            <span style="color:#cc7832;">if </span>(children.size() &gt;= <span style="color:#6897bb;">3</span>) {<br />                <span style="color:#cc7832;">if</span>(parentCount &gt;= parentNodes.size()){<br />                    <span style="color:#cc7832;">return </span>createTree(++level<span style="color:#cc7832;">, </span>nextLevelNodes<span style="color:#cc7832;">, </span>childNodes<span style="color:#cc7832;">, </span>beginIndex)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>}<br />            } <span style="color:#cc7832;">else </span>{<br />                <span style="color:#cc7832;">if </span>(beginIndex &gt;= childNodes.size()) {<br />                    <span style="color:#cc7832;">return true;<br /></span><span style="color:#cc7832;">                </span>}<br />                NodeTree child = <span style="color:#cc7832;">new </span>NodeTree()<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>child.setLevel(level)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>child.setPName(pNode.getName())<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>NodeVo node = childNodes.get(beginIndex)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>child.setName(node.getNodeName())<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>pNode.getChildren().add(child)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>nextLevelNodes.add(child)<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">                </span>beginIndex++<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">            </span>}<br />            parentCount++<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">        </span>}<br />    }<br />    <span style="color:#cc7832;">return true;<br /></span>}</pre></pre><img src ="http://www.blogjava.net/17learning/aggbug/435656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2020-09-07 09:56 <a href="http://www.blogjava.net/17learning/archive/2020/09/07/435656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java自定义注解简单入门</title><link>http://www.blogjava.net/17learning/archive/2016/08/18/431631.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Thu, 18 Aug 2016 12:42:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2016/08/18/431631.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/431631.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2016/08/18/431631.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/431631.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/431631.html</trackback:ping><description><![CDATA[<p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; line-height: 24px; background-color: #ffffff;"><strong style="margin: 0px; padding: 0px;">元注解：</strong></p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; line-height: 24px; background-color: #ffffff;">　　元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型，它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解：<br style="margin: 0px; padding: 0px;" />　　　　1.@Target,<br style="margin: 0px; padding: 0px;" />　　　　2.@Retention,<br style="margin: 0px; padding: 0px;" />　　　　3.@Documented,<br style="margin: 0px; padding: 0px;" />　　　　4.@Inherited<br style="margin: 0px; padding: 0px;" /></p><span style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13.3333px; line-height: 24px; background-color: #ffffff;">　　这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参数的使用说明。</span><br /><strong>以下为一个简单场景的应用：</strong><br />&nbsp;1.定义注解：<br />&nbsp; &nbsp;<br /><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:9.8pt;"><span style="color:#bbb529;">@Target</span>(<span style="color:#9876aa;font-style:italic;">TYPE</span>)<br /><span style="color:#bbb529;">@Retention</span>(<span style="color:#9876aa;font-style:italic;">RUNTIME</span>)<br /><span style="color:#cc7832;">public </span>@<span style="color:#cc7832;">interface </span><span style="color:#bbb529;">Table </span>{<br />    <span style="color:#629755;font-style:italic;">/**<br /></span><span style="color:#629755;font-style:italic;">     * (Optional) The name of the table.<br /></span><span style="color:#629755;font-style:italic;">     * </span><span style="color:#77b767;font-style:italic;">&lt;p/&gt;<br /></span> <span style="color:#629755;font-style:italic;">* Defaults to the entity name.<br /></span><span style="color:#629755;font-style:italic;">     */<br /></span> String <span style="color:#ffc66d;">name</span>() <span style="color:#cc7832;">default </span><span style="color:#6a8759;">""</span><span style="color:#cc7832;">;<br />}<br /></span></pre><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:9.8pt;"><span style="color:#bbb529;">@Target</span>({<span style="color:#9876aa;font-style:italic;">METHOD</span><span style="color:#cc7832;">, </span><span style="color:#9876aa;font-style:italic;">FIELD</span>})<br /><span style="color:#bbb529;">@Retention</span>(<span style="color:#9876aa;font-style:italic;">RUNTIME</span>)<br /><span style="color:#cc7832;">public </span>@<span style="color:#cc7832;">interface </span><span style="color:#bbb529;">Column </span>{<br /><br />    <span style="color:#629755;font-style:italic;">/**<br /></span><span style="color:#629755;font-style:italic;">     * (Optional) The name of the column. Defaults to<br /></span><span style="color:#629755;font-style:italic;">     * the property or field name.<br /></span><span style="color:#629755;font-style:italic;">     */<br /></span> String <span style="color:#ffc66d;">name</span>() <span style="color:#cc7832;">default </span><span style="color:#6a8759;">""</span><span style="color:#cc7832;">;<br />}<br /></span></pre>2、定义实体类：<br />&nbsp;&nbsp;<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:9.8pt;"><br /><span style="color:#bbb529;">@Table</span>(<span style="color:#d0d0ff;">name </span>= <span style="color:#6a8759;">"t_s_user"</span>)<br /><span style="color:#cc7832;">public class </span>User {<br />    <span style="color:#bbb529;">@Column</span>(<span style="color:#d0d0ff;">name</span>=<span style="color:#6a8759;">"name"</span>)<br />    <span style="color:#cc7832;">private </span>String <span style="color:#9876aa;">name</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;"><br /></span> <span style="color:#bbb529;">@Column</span>(<span style="color:#d0d0ff;">name</span>=<span style="color:#6a8759;">"pwd"</span>)<br />    <span style="color:#cc7832;">private </span>String <span style="color:#9876aa;">pwd</span><span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;"><br /></span><span style="color:#cc7832;">    public </span>String <span style="color:#ffc66d;">getName</span>() {<br />        <span style="color:#cc7832;">return </span><span style="color:#9876aa;">name</span><span style="color:#cc7832;">;<br /></span> }<br /><br />    <span style="color:#cc7832;">public void </span><span style="color:#ffc66d;">setName</span>(String name) {<br />        <span style="color:#cc7832;">this</span>.<span style="color:#9876aa;">name </span>= name<span style="color:#cc7832;">;<br /></span> }<br /><br />    <span style="color:#cc7832;">public </span>String <span style="color:#ffc66d;">getPwd</span>() {<br />        <span style="color:#cc7832;">return </span><span style="color:#9876aa;">pwd</span><span style="color:#cc7832;">;<br /></span> }<br /><br />    <span style="color:#cc7832;">public void </span><span style="color:#ffc66d;">setPwd</span>(String pwd) {<br />        <span style="color:#cc7832;">this</span>.<span style="color:#9876aa;">pwd </span>= pwd<span style="color:#cc7832;">;<br /></span> }<br />}</pre><br />3、运行：<br /><br /><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:9.8pt;"><span style="color:#cc7832;">public static void </span><span style="color:#ffc66d;">print</span>() {<br />  System.<span style="color:#9876aa;font-style:italic;">out</span>.println(<span style="color:#6a8759;">"table's name</span><span style="color:#6a8759;font-family:'宋体';">：</span><span style="color:#6a8759;">" </span>+ User.<span style="color:#cc7832;">class</span>.getAnnotation(<span style="color:#bbb529;">Table</span>.<span style="color:#cc7832;">class</span>).name())<span style="color:#cc7832;">;<br /></span> Field[] fields = User.<span style="color:#cc7832;">class</span>.getDeclaredFields()<span style="color:#cc7832;">;<br /></span><span style="color:#cc7832;">    for </span>(<span style="color:#cc7832;">int </span>i = <span style="color:#6897bb;">0</span><span style="color:#cc7832;">; </span>i &lt; fields.<span style="color:#9876aa;">length</span><span style="color:#cc7832;">; </span>i++) {<br />        Field field = fields[i]<span style="color:#cc7832;">;<br /></span> System.<span style="color:#9876aa;font-style:italic;">out</span>.println(<span style="color:#6a8759;">"field's type:" </span>+ field.getType().getName())<span style="color:#cc7832;">;<br /></span> System.<span style="color:#9876aa;font-style:italic;">out</span>.println(<span style="color:#6a8759;">"field's columnName:" </span>+ field.getAnnotation(<span style="color:#bbb529;">Column</span>.<span style="color:#cc7832;">class</span>).name())<span style="color:#cc7832;">;<br /></span> }<br />}</pre><br />关于注解的详细介绍：http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html<img src ="http://www.blogjava.net/17learning/aggbug/431631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2016-08-18 20:42 <a href="http://www.blogjava.net/17learning/archive/2016/08/18/431631.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Maven项目配置文件不在resources下，如何使用idea引入配置文件</title><link>http://www.blogjava.net/17learning/archive/2016/04/29/idea_chooese_classpath.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Fri, 29 Apr 2016 07:42:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2016/04/29/idea_chooese_classpath.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/430297.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2016/04/29/idea_chooese_classpath.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/430297.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/430297.html</trackback:ping><description><![CDATA[1.选择：File-&gt;project structure-&gt;libraries<br /><br />2.左上角选择添加，选择添加java（还提供了添加maven项目），然后选择所需要的目录：<br /><br />3.idea 会提示选择添加什么类型的文件，我们是单纯的文件，所以选择classes<br /><br />&nbsp; &nbsp;<br /><br />&nbsp;<img src ="http://www.blogjava.net/17learning/aggbug/430297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2016-04-29 15:42 <a href="http://www.blogjava.net/17learning/archive/2016/04/29/idea_chooese_classpath.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>nginx 反向代理到 server</title><link>http://www.blogjava.net/17learning/archive/2016/01/19/429116.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Tue, 19 Jan 2016 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2016/01/19/429116.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/429116.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2016/01/19/429116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/429116.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/429116.html</trackback:ping><description><![CDATA[<div>nginx 反向代理到 apache<br /><div>server {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; listen &nbsp; &nbsp; &nbsp; 80;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; server_name &nbsp;app.haeee.com;</div><div><span style="white-space:pre">		</span>index index.html index.htm index.php;</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;root /alidata/www/movie-app;</div><div><span style="white-space:pre">		</span></div><div>&nbsp; &nbsp; &nbsp;error_page 404 500 502 503 504 http://app.haeee.com;&nbsp;</div><div><span style="white-space:pre">		</span></div><div><span style="white-space:pre">	</span>location ~ .*\.(php|php5)?$</div><div><span style="white-space:pre">	</span>{</div><div></div><div><span style="white-space:pre">		</span>#fastcgi_pass &nbsp;unix:/tmp/php-cgi.sock;</div><div><span style="white-space:pre">		</span>fastcgi_pass &nbsp;127.0.0.1:9000;</div><div><span style="white-space:pre">		</span>fastcgi_index index.php;</div><div><span style="white-space:pre">		</span>include fastcgi.conf;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$</div><div><span style="white-space:pre">	</span>{</div><div><span style="white-space:pre">		</span>expires 30d;</div><div><span style="white-space:pre">	</span>}</div><div><span style="white-space:pre">	</span>location ~ .*\.(js|css)?$</div><div><span style="white-space:pre">	</span>{</div><div><span style="white-space:pre">		</span>expires 1h;</div><div><span style="white-space:pre">	</span>}</div><div></div><div><span style="white-space:pre">	</span>#伪静态规则</div><div><span style="white-space:pre">	</span>#include /alidata/server/nginx/conf/rewrite/phpwind.conf;</div><div><span style="white-space:pre">	</span>access_log &nbsp;/alidata/log/nginx/access/movie-app.log;</div><div>}</div><br />nginx 反向代理到 tomcat<br />server {</div><div>&nbsp; &nbsp; listen &nbsp; 80;</div><div>&nbsp; &nbsp; server_name &nbsp;hulasou.com www.hulasou.com;</div><div><span style="white-space:pre">	</span>index index.html index.htm index.jsp;<span style="white-space:pre">	</span></div><div><span style="white-space:pre">	</span>#location ~ .*\.(jsp)?$</div><div><span style="white-space:pre">	</span>location /{<span style="white-space:pre">	</span> &nbsp; &nbsp;<span style="white-space:pre">	</span> &nbsp;</div><div><span style="white-space:pre">		</span>index index.jsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; proxy_pass http://localhost:8181;</div><div><span style="white-space:pre">	</span>}<span style="white-space:pre">	</span></div><div><span style="white-space:pre">	</span>#伪静态规则<span style="white-space: pre;">	</span></div><div><span style="white-space:pre">	</span>include /alidata/server/nginx/conf/rewrite/uuxiaohua.conf;</div><div><span style="white-space:pre">	</span>access_log &nbsp;/alidata/log/nginx/access/uuxiaohua.log;</div><div>}</div><img src ="http://www.blogjava.net/17learning/aggbug/429116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2016-01-19 17:46 <a href="http://www.blogjava.net/17learning/archive/2016/01/19/429116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring boot项目打成war包部署到tomcat</title><link>http://www.blogjava.net/17learning/archive/2016/01/14/429055.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Thu, 14 Jan 2016 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2016/01/14/429055.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/429055.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2016/01/14/429055.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/429055.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/429055.html</trackback:ping><description><![CDATA[1、修改启动项：<br /><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:14pt;"><span style="color:#bbb529;">@SpringBootApplication<br /></span><span style="color:#bbb529;">@ComponentScan<br /></span><span style="color:#bbb529;">@Import</span>({DBConfiguration.<span style="color:#cc7832;">class, </span>ResourceConfiguration.<span style="color:#cc7832;">class,</span>AppConfiguration.<span style="color:#cc7832;">class</span>})<br /><span style="color:#cc7832;">public class </span>Application <span style="color:#cc7832;">extends </span>SpringBootServletInitializer {<br />    <span style="color:#bbb529;">@Override<br /></span> <span style="color:#cc7832;">protected </span>SpringApplicationBuilder <span style="color:#ffc66d;">configure</span>(SpringApplicationBuilder application) {<br />        <span style="color:#cc7832;">return </span>application.sources(Application.<span style="color:#cc7832;">class</span>)<span style="color:#cc7832;">;<br /></span> }</pre>2、修改pom文件：<br />&nbsp; &nbsp; 修改<span style="color: #e8bf6a; font-family: 'Courier New'; font-size: 18.6667px;">packaging</span><br />&nbsp; &nbsp;&nbsp;<span style="font-family: 'Courier New'; font-size: 14pt; color: #e8bf6a;">&lt;packaging&gt;</span><span style="color: #a9b7c6; font-family: 'Courier New'; font-size: 14pt; background-color: #2b2b2b;">war</span><span style="font-family: 'Courier New'; font-size: 14pt; color: #e8bf6a;">&lt;/packaging&gt;<br /></span>&nbsp; 加入打包到tomcat的配置：<br /><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Courier New';font-size:14pt;"><span style="color:#e8bf6a;">&lt;dependency&gt;<br /></span><span style="color:#e8bf6a;">           &lt;groupId&gt;</span>org.springframework.boot<span style="color:#e8bf6a;">&lt;/groupId&gt;<br /></span><span style="color:#e8bf6a;">           &lt;artifactId&gt;</span>spring-boot-starter-tomcat<span style="color:#e8bf6a;">&lt;/artifactId&gt;<br /></span><span style="color:#e8bf6a;">           &lt;scope&gt;</span>provided<span style="color:#e8bf6a;">&lt;/scope&gt;<br /></span><span style="color:#e8bf6a;">       &lt;/dependency&gt;<br /></span><span style="color:#e8bf6a;">&lt;dependency&gt;<br /></span><span style="color:#e8bf6a;">   &lt;groupId&gt;</span>org.springframework.boot<span style="color:#e8bf6a;">&lt;/groupId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;artifactId&gt;</span>spring-boot-legacy<span style="color:#e8bf6a;">&lt;/artifactId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;version&gt;</span>1.0.2.RELEASE<span style="color:#e8bf6a;">&lt;/version&gt;<br /></span><span style="color:#e8bf6a;">&lt;/dependency&gt;<br /></span><span style="color:#e8bf6a;"><br /></span><span style="color:#e8bf6a;">&lt;dependency&gt;<br /></span><span style="color:#e8bf6a;">   &lt;groupId&gt;</span>javax.servlet<span style="color:#e8bf6a;">&lt;/groupId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;artifactId&gt;</span>javax.servlet-api<span style="color:#e8bf6a;">&lt;/artifactId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;version&gt;</span>3.0.1<span style="color:#e8bf6a;">&lt;/version&gt;<br /></span><span style="color:#e8bf6a;">&lt;/dependency&gt;<br /></span><span style="color:#e8bf6a;">&lt;dependency&gt;<br /></span><span style="color:#e8bf6a;">   &lt;groupId&gt;</span>javax.servlet<span style="color:#e8bf6a;">&lt;/groupId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;artifactId&gt;</span>javax.servlet-api<span style="color:#e8bf6a;">&lt;/artifactId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;version&gt;</span>3.0.1<span style="color:#e8bf6a;">&lt;/version&gt;<br /></span><span style="color:#e8bf6a;">&lt;/dependency&gt;<br /></span><span style="color:#e8bf6a;"><br /></span><span style="color:#e8bf6a;">&lt;dependency&gt;<br /></span><span style="color:#e8bf6a;">   &lt;groupId&gt;</span>commons-fileupload<span style="color:#e8bf6a;">&lt;/groupId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;artifactId&gt;</span>commons-fileupload<span style="color:#e8bf6a;">&lt;/artifactId&gt;<br /></span><span style="color:#e8bf6a;">   &lt;version&gt;</span>1.3.1<span style="color:#e8bf6a;">&lt;/version&gt;<br /></span><span style="color:#e8bf6a;">&lt;/dependency&gt;</span></pre><br />3、如果不需要<span style="color: #2f2f2f; font-family: 'lucida grande', 'lucida sans unicode', lucida, helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27.2px; text-align: justify; background-color: #ffffff;">JMX</span>在application.properties文件中加入配置项：<br /><div>endpoints.jmx.uniqueNames=true<br />或者直接关闭：</div><div>&nbsp;endpoints.jmx.enabled=false</div><img src ="http://www.blogjava.net/17learning/aggbug/429055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2016-01-14 17:21 <a href="http://www.blogjava.net/17learning/archive/2016/01/14/429055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>居于goole Blink浏览器开发教程</title><link>http://www.blogjava.net/17learning/archive/2014/10/19/418873.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 19 Oct 2014 13:09:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2014/10/19/418873.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/418873.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2014/10/19/418873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/418873.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/418873.html</trackback:ping><description><![CDATA[<div><p style="padding: 4px 5px 0px; margin: 0px; font-weight: bold; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 18px;">gooole浏览器内核已经有webkit内核移步到Bilnk开发属于<span style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px;">Chromium Projects</span>&nbsp;的版本，下面为完整教程。</p><p style="padding: 4px 5px 0px; margin: 0px; font-weight: bold; font-family: Arial, Verdana, sans-serif; font-size: 12px; line-height: 18px;">目录</p><ol style="list-style: none; line-height: 18px; margin-left: 10px; padding-left: 0px; font-family: Arial, Verdana, sans-serif; font-size: 12px;"><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Blink-s-Mission:" style="color: #0066cc; outline: none; text-decoration: none;"><strong>1&nbsp;</strong>Blink's Mission:</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#participating" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2&nbsp;</strong>Participating</a><ol style="list-style: none; line-height: 1.5em; margin-left: 10px; padding-left: 0px;"><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Discussions" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2.1&nbsp;</strong>Discussions</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Watching-for-new-features" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2.2&nbsp;</strong>Watching for new features</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Committing-and-reviewing-code" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2.3&nbsp;</strong>Committing and reviewing code</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Developing-Blink" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2.4&nbsp;</strong>Developing Blink</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-How-do-I-port-Blink-to-my-platform-" style="color: #0066cc; outline: none; text-decoration: none;"><strong>2.5&nbsp;</strong>How do I port Blink to my platform?</a></li></ol></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#new-features" style="color: #0066cc; outline: none; text-decoration: none;"><strong>3&nbsp;</strong>Web Platform Changes: Guidelines</a><ol style="list-style: none; line-height: 1.5em; margin-left: 10px; padding-left: 0px;"><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Scope" style="color: #0066cc; outline: none; text-decoration: none;"><strong>3.1&nbsp;</strong>Scope</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Policy-for-shipping-and-removing-web-platform-API-features" style="color: #0066cc; outline: none; text-decoration: none;"><strong>3.2&nbsp;</strong>Policy for shipping and removing web platform API features</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#trivial-changes" style="color: #0066cc; outline: none; text-decoration: none;"><strong>3.3&nbsp;</strong>Trivial Changes</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#vendor-prefixes" style="color: #0066cc; outline: none; text-decoration: none;"><strong>3.4&nbsp;</strong>Vendor Prefixes</a></li></ol></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Web-Platform-Changes:-Process" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4&nbsp;</strong>Web Platform Changes: Process</a><ol style="list-style: none; line-height: 1.5em; margin-left: 10px; padding-left: 0px;"><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#launch-process" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.1&nbsp;</strong>Launch Process: New Features</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Launch-Process:-Deprecation" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.2&nbsp;</strong>Launch Process: Deprecation</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-API-Owners" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.3&nbsp;</strong>API Owners</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#api-review" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.4&nbsp;</strong>API Review</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Feature-Dashboard" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.5&nbsp;</strong>Feature Dashboard</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Guiding-Principles-for-Process" style="color: #0066cc; outline: none; text-decoration: none;"><strong>4.6&nbsp;</strong>Guiding Principles for Process</a></li></ol></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#testing" style="color: #0066cc; outline: none; text-decoration: none;"><strong>5&nbsp;</strong>Testing</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#architectural-changes" style="color: #0066cc; outline: none; text-decoration: none;"><strong>6&nbsp;</strong>Architectural Changes</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Developer-FAQ" style="color: #0066cc; outline: none; text-decoration: none;"><strong>7&nbsp;</strong>Developer FAQ</a></li><li style="text-align: left; line-height: 1.5em; list-style: none;"><a href="http://www.chromium.org/blink#TOC-Subpage-Listing" style="color: #0066cc; outline: none; text-decoration: none;"><strong>8&nbsp;</strong>Subpage Listing<br />友情连接：<br /><div>https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html</div></a></li></ol></div><img src ="http://www.blogjava.net/17learning/aggbug/418873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2014-10-19 21:09 <a href="http://www.blogjava.net/17learning/archive/2014/10/19/418873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JXl常见API说明</title><link>http://www.blogjava.net/17learning/archive/2014/09/18/418038.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Thu, 18 Sep 2014 01:21:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2014/09/18/418038.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/418038.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2014/09/18/418038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/418038.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/418038.html</trackback:ping><description><![CDATA[<p>现阶段JAVA操作Excel的JAR主要有apache 的POI及jxl.Jxl方便快捷，POI用于对复杂Excel的操作。</p><p>Jxl官网：<a href="http://www.andykhan.com/jexcelapi/index.html" style="color: #336699; text-decoration: none;">http://www.andykhan.com/jexcelapi/index.html</a></p><p><br />一、Jxl的API</p><p>Jxl的API主要有三个包，jxl,jxl.format,jxl.write。如果单独的分析API，可能对于更明确的了解此API没有太多的帮助，我们还是从Excel文件的层次来剥离此API吧。</p><p>一个excel文件由一个工作簿组成，一个工作簿又由n个工作表组成，每个工作表又由多个单元格组成。对应于Jxl中的结构为</p><table border="1" cellspacing="1" cellpadding="1" style="color: #000000; font-size: 14px; line-height: 21px; cursor: default;"><tbody><tr><td width="182" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">读文件（包jxl）</p></td><td width="286" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">写文件(包jxl.write)</p></td><td width="100" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">说明</p></td></tr><tr><td width="182" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>Workbook　</p></td><td width="286" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>WritableWorkbook</p></td><td width="100" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>工作簿</p></td></tr><tr><td width="182" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>Sheet</p></td><td width="286" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>WritableSheet</p></td><td width="100" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>工作表</p></td></tr><tr><td width="182" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>Cell/Image/Hyperlink</p></td><td width="286" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>WritableCell/WritableImage//WritableHyperlink</p></td><td width="100" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p>单元格/图像/超链接</p></td></tr></tbody></table><p>&nbsp;&nbsp; &nbsp; &nbsp; 单元格（此处指文本单元格，图像及链接和单元格做为一个层次）分为好多种，所以在API的设计中将Cell作为一个接口而存在。&nbsp;对应的jxl中的结构为：</p><table border="1" cellspacing="1" cellpadding="1" style="color: #000000; font-size: 14px; line-height: 21px; cursor: default;"><tbody><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">读文件（包jxl）</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">写文件(包jxl.write)</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">说明</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Cell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WritableCell</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">BooleanCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Boolean</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">布尔值单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">DateCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">DateTime</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">时间单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">ErrorCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">形式错误的单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">LabelCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Label</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">文本单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">NumberCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Number</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">数字单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">FormualCedll</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Formual</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">公式单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">Blank</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">空格单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">BooleanFormualCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">布尔公式单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">DateFormualCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">时间公式单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">ErrorFormualCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">错误公式单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">StringFormualCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">文本公式单元格</p></td></tr><tr><td width="214" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">NumberFormualCell</p></td><td width="193" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="161" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">数字公式单元格</p></td></tr></tbody></table><p>&nbsp;</p><p>而有的时候，我们可能将几个单元格作为一个整体来处理，在API中对应的则是：</p><p>&nbsp;&nbsp;&nbsp;&nbsp;jxl.Range&nbsp;</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;虽然数据是电子表格的核心，但是同时其也需要一些辅助类，比如文件格式设置，工作表设置与显示效果，单元格设置与显示效果等。按照其层次，则依次有以下接口或类。</p><table border="1" cellspacing="1" cellpadding="1" style="color: #000000; font-size: 14px; line-height: 21px; cursor: default;"><tbody><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">读文件（包jxl）</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">写文件(包jxl.write)</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">说明</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WorkbookSettings</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WorkbookSettings（包jxl）</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">设置workbook属性的bean</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">SheetSettings</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">SheetSettings（包jxl）</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">设置具体sheet的属性的bean（比如表头表底等）</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">HeaderFooter</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">HeaderFooter（包jxl）</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">表示表头表底类</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">HeaderFooter.Contents</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">HeaderFooter.Contents（包jxl）</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">具体表头表底设置</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellFeatures</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WritableCellFeautres</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">表格内容相关设置（验证）</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellReferenceHelper</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">得到引用单元格相关属性</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellType</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">表格相关类型</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellView</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellView（包jxl）</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">表格视图相关设置</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">CellFormat</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WritableCellFormat</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">表格显示样式设置</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">BoldStyle</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">边框枚举</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">DateFormat</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">时间格式</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">DateFormats</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">时间格式枚举</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">NumbreFormat</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">数据格式</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">NumbreFormats</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">数字模式枚举</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WritableFont</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">字体设置</p></td></tr><tr><td width="224" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">&nbsp;</p></td><td width="169" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">WriteableFont.Fontname</p></td><td width="175" valign="top" style="margin: 8px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; cursor: text;"><p align="center">静态字体内部类</p></td></tr></tbody></table><p>&nbsp;</p><p>最后，关于Jxl.format包，此包主要是一些与具体样式有关的接口和枚举，不进行具体描述。<br />文章摘自：http://blog.csdn.net/surgent/article/details/5836580</p><img src ="http://www.blogjava.net/17learning/aggbug/418038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2014-09-18 09:21 <a href="http://www.blogjava.net/17learning/archive/2014/09/18/418038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jeecg v3.3版本自带导出ExcelExportUtil分sheet页及解决POI表格重绘问题</title><link>http://www.blogjava.net/17learning/archive/2014/05/29/414230.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Thu, 29 May 2014 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2014/05/29/414230.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/414230.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2014/05/29/414230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/414230.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/414230.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: package org.jeecgframework.core.util.excel;import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.lang.reflect.Field;import...&nbsp;&nbsp;<a href='http://www.blogjava.net/17learning/archive/2014/05/29/414230.html'>阅读全文</a><img src ="http://www.blogjava.net/17learning/aggbug/414230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2014-05-29 11:14 <a href="http://www.blogjava.net/17learning/archive/2014/05/29/414230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSON转换的四种常见情况</title><link>http://www.blogjava.net/17learning/archive/2014/04/16/412495.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Tue, 15 Apr 2014 17:11:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2014/04/16/412495.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/412495.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2014/04/16/412495.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/412495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/412495.html</trackback:ping><description><![CDATA[<div style="font-family: 'Microsoft YaHei UI'; background-color: #ffffff;"><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; font-family: simsun; background-color: #f8ecd8;"><strong>JSON转换的四种各种情况：<br /></strong></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;"><strong>1. //把java 对象列表转换为json对象数组，并转为字符串</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>JSONArray array =&nbsp;JSONArray.fromObject(userlist);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>String jsonstr = array.toString();<br /></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;"><strong>2.//把java对象转换成json对象，并转化为字符串</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr>&nbsp;<wbr>JSONObject object =&nbsp;JSONObject.fromObject(invite);<br />&nbsp; &nbsp;String str=object.toString());</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;"><strong>3.//把JSON字符串转换为JAVA 对象数组</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr>&nbsp;String personstr&nbsp;= getRequest().getParameter("persons");<br />&nbsp;<wbr>&nbsp;<wbr>JSONArray json = JSONArray.fromObject(personstr);<br />&nbsp;<wbr>&nbsp;<wbr>List&lt;InvoidPerson&gt; persons = (List&lt;InvoidPerson&gt;)JSONArray.toCollection(json, nvoidPerson.class);<br /><strong>4.//把JSON字符串转换为JAVA 对象</strong></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp; JSONObject jsonobject = JSONObject.fromObject(str);<br />&nbsp;<wbr>&nbsp;<wbr>PassportLendsEntity passportlends&nbsp;= null;<br />&nbsp;<wbr>&nbsp;<wbr>try {<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>//获取一个json数组<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>JSONArray array = jsonobject.getJSONArray("passports");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>//将json数组 转换成 List&lt;PassPortForLendsEntity&gt;泛型<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>List&lt;PassPortForLendsEntity&gt; list = new ArrayList&lt;PassPortForLendsEntity&gt;();<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>for (int i = 0; i &lt; array.size(); i++) {&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;JSONObject object = (JSONObject)array.get(i);&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;PassPortForLendsEntity passport = (PassPortForLendsEntity)JSONObject.toBean(object,<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;PassPortForLendsEntity.class);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;if(passport != null){<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;list.add(passport);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;}&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;&nbsp;}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>//转换PassportLendsEntity 实体类<br />&nbsp;&nbsp;<wbr>passportlends = (PassportLendsEntity)JSONObject.toBean(jsonobject, PassportLendsEntity.class);</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="font-size: 10.5pt; line-height: 1.5;">&nbsp; str = "{\"lendperson\":\"李四\",\"lendcompany\":\"有限公司\",\"checkperson\":\"李四\",</span></p></div><div style="font-family: 'Microsoft YaHei UI'; background-color: #ffffff;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="color: #464646; font-family: simsun; background-color: #f8ecd8;">\"lenddate\":\"2010-07-19T00:00:00\",\"lendcounts\":4,\"</span><br style="color: #464646; font-family: simsun; background-color: #f8ecd8;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="color: #464646; font-family: simsun; background-color: #f8ecd8;">passports\":[{\"passportid\":\"d\",\"name\":\"李豫川\",\"passporttype\":\"K\"},</span><br style="color: #464646; font-family: simsun; background-color: #f8ecd8;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="color: #464646; font-family: simsun; background-color: #f8ecd8;">{\"passportid\":\"K9051\",\"name\":\"李平\",\"passporttype\":\"K\"},</span><br style="color: #464646; font-family: simsun; background-color: #f8ecd8;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="color: #464646; font-family: simsun; background-color: #f8ecd8;">{\"passportid\":\"K90517\",\"name\":\"袁寒梅\",\"passporttype\":\"K\"},</span><br style="color: #464646; font-family: simsun; background-color: #f8ecd8;" />&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;">&nbsp;<wbr style="color: #464646; font-family: simsun; background-color: #f8ecd8;"><span style="color: #464646; font-family: simsun; background-color: #f8ecd8;">{\"passportid\":\"K905199\",\"name\":\"贺明\",\"passporttype\":\"K\"}]}";</span></div><div style="font-family: 'Microsoft YaHei UI'; background-color: #ffffff;"><span style="color: #464646; font-family: simsun; font-size: 10.5pt; line-height: 1.5; background-color: window;">相关的jar包：<br /></span><div><img src="http://www.blogjava.net/images/blogjava_net/17learning/test.png" width="671" height="522" alt="" /></div><span style="color: #464646; font-family: simsun; font-size: 10.5pt; line-height: 1.5; background-color: window;"><br /></span></div><img src ="http://www.blogjava.net/17learning/aggbug/412495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2014-04-16 01:11 <a href="http://www.blogjava.net/17learning/archive/2014/04/16/412495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ubuntu菜鸟入门</title><link>http://www.blogjava.net/17learning/archive/2014/02/25/410269.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Tue, 25 Feb 2014 02:17:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2014/02/25/410269.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/410269.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2014/02/25/410269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/410269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/410269.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 关于Tomcat：&nbsp;安装Tomcat：sudo apt-get install tomcat7&nbsp;配置tomcat：http://wiki.ubuntu.org.cn/Tomcat&nbsp;启动tomcat:my-instance/bin/startup.sh关闭tomcat：my-instance/bin/shutdown.sh关于系统进程：ps ax &nbsp; 显示当前...&nbsp;&nbsp;<a href='http://www.blogjava.net/17learning/archive/2014/02/25/410269.html'>阅读全文</a><img src ="http://www.blogjava.net/17learning/aggbug/410269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2014-02-25 10:17 <a href="http://www.blogjava.net/17learning/archive/2014/02/25/410269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java使用Jxl导出Excel</title><link>http://www.blogjava.net/17learning/archive/2013/10/14/404939.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 13 Oct 2013 17:46:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2013/10/14/404939.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/404939.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2013/10/14/404939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/404939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/404939.html</trackback:ping><description><![CDATA[1、请求下载地址：<br /><div><div><div>try {</div><div><span style="white-space:pre">			</span>//执行检索</div><div><span style="white-space:pre">			</span>cmsSupSubmitSiteStatBeanList = cmsSupSubmitSiteInfoMngService.govStat(condition);</div><div><span style="white-space:pre">			</span>//根据条件查找</div><div><span style="white-space:pre">			</span>cmsSupSubmitSiteInfoMngBeanList = cmsSupSubmitSiteInfoMngService.findByConditionStat(condition);</div><div><span style="white-space:pre">			</span>//临时文件位置</div><div><span style="white-space:pre">			</span>String path=this.getServletConfig().getServletContext().getRealPath("\\upload\\temp");</div><div><span style="white-space:pre">			</span>File ftemp=new File(path);</div><div><span style="white-space:pre">			</span>if (!ftemp.exists()) {</div><div><span style="white-space:pre">				</span>ftemp.mkdirs();//不存在则创建</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span>//生成临时文件名</div><div><span style="white-space:pre">			</span>String saveFilename = DateUtil.formatNowDateTime("yyyyMMddHHmmssSSS")+getNewName()+ ".csv";</div><div><span style="white-space:pre">			</span>WritableWorkbook book = Workbook.createWorkbook(new File(path + "\\"+saveFilename));// 创建excel文件</div><div><span style="white-space:pre">			</span>// 生成名为&#8220;第一页&#8221;的工作表，参数0表示这是第一页</div><div><span style="white-space:pre">			</span>WritableSheet sheet = book.createSheet("网站信息统计表", 0);</div><div><span style="white-space:pre">			</span>// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)</div><div><span style="white-space:pre">			</span>//标题</div><div><span style="white-space:pre">			</span>String[] title1 = {"单位名称"</div><div><span style="white-space:pre">					</span>,"1月"</div><div><span style="white-space:pre">					</span>,"2月"</div><div><span style="white-space:pre">					</span>,"3月"</div><div><span style="white-space:pre">					</span>,"4月"</div><div><span style="white-space:pre">					</span>,"5月"</div><div><span style="white-space:pre">					</span>,"6月"</div><div><span style="white-space:pre">					</span>,"7月"</div><div><span style="white-space:pre">					</span>,"8月"</div><div><span style="white-space:pre">					</span>,"9月"</div><div><span style="white-space:pre">					</span>,"10月"</div><div><span style="white-space:pre">					</span>,"11月"</div><div><span style="white-space:pre">					</span>,"12月"</div><div><span style="white-space:pre">					</span>,"总报送量"</div><div><span style="white-space:pre">					</span>,"报送率"</div><div><span style="white-space:pre">					</span>,"分数"</div><div><span style="white-space:pre">					</span>,"加减分"</div><div><span style="white-space:pre">					</span>,"总分数"</div><div><span style="white-space:pre">					</span>};</div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span>//表头</div><div><span style="white-space:pre">			</span>for(int i=0;i&lt;title1.length;i++){</div><div><span style="white-space:pre">				</span>//第n列第一行标识表头</div><div><span style="white-space:pre">				</span>Label label = new Label(i, 0, title1[i]);</div><div><span style="white-space:pre">				</span>sheet.addCell(label); //将定义好的单元格添加到工作表中&nbsp;</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span>//内容</div><div><span style="white-space:pre">			</span>for (int i = 0; i &lt; cmsSupSubmitSiteStatBeanList.size(); i++) {</div><div><span style="white-space:pre">				</span>CmsSupSubmitSiteStatBean bean = cmsSupSubmitSiteStatBeanList.get(i);</div><div><span style="white-space:pre">				</span>//内容</div><div><span style="white-space:pre">				</span>String[] rs1 = { &nbsp;bean.getDeptName()</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed01()) + "/" + String.valueOf(bean.getSup01())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed02()) + "/" + String.valueOf(bean.getSup02())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed03()) + "/" + String.valueOf(bean.getSup03())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed04()) + "/" + String.valueOf(bean.getSup04())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed05()) + "/" + String.valueOf(bean.getSup05())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed06()) + "/" + String.valueOf(bean.getSup06())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed07()) + "/" + String.valueOf(bean.getSup07())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed08()) + "/" + String.valueOf(bean.getSup08())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed09()) + "/" + String.valueOf(bean.getSup09())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed10()) + "/" + String.valueOf(bean.getSup10())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed11()) + "/" + String.valueOf(bean.getSup11())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsed12()) + "/" + String.valueOf(bean.getSup12())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getTolUsed()) + "/" + String.valueOf(bean.getTolSup())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getUsedRate()) + "%"</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getPoint())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getPmPoint())</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getTolPoint())</div><div><span style="white-space:pre">								</span>};</div><div><span style="white-space:pre">				</span>//内容从第二行开始打印</div><div><span style="white-space:pre">				</span>for (int j = 0; j &lt; rs1.length; j++) {</div><div><span style="white-space:pre">					</span>Label label = new Label(j, i+1, rs1[j]);</div><div><span style="white-space:pre">					</span> &nbsp;sheet.addCell(label);</div><div><span style="white-space:pre">				</span>}</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span></div><div>//<span style="white-space:pre">			</span>打印详细========================================================================================</div><div><span style="white-space:pre">			</span>String[] stDtl = { &nbsp;"单位名称"</div><div><span style="white-space:pre">								</span>,"标题"</div><div><span style="white-space:pre">								</span>,"加减分"</div><div><span style="white-space:pre">								</span>,"报送时间"</div><div><span style="white-space:pre">								</span>};</div><div><span style="white-space:pre">			</span>WritableSheet sheet2 = book.createSheet("网站信息采用标题", 0);</div><div><span style="white-space:pre">			</span>// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)</div><div><span style="white-space:pre">			</span>//标题</div><div><span style="white-space:pre">			</span>//表头</div><div><span style="white-space:pre">			</span>for(int i=0;i&lt;stDtl.length;i++){</div><div><span style="white-space:pre">				</span>//第n列第一行标识表头</div><div><span style="white-space:pre">				</span>Label labe2 = new Label(i, 0, stDtl[i]);</div><div><span style="white-space:pre">				</span>sheet2.addCell(labe2);</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span>//内容</div><div><span style="white-space:pre">			</span>String titleVar="";</div><div><span style="white-space:pre">			</span>int flagNum=0;</div><div><span style="white-space:pre">		</span>for( int i = 0; i &lt; cmsSupSubmitSiteInfoMngBeanList.size(); i ++ ){</div><div><span style="white-space:pre">				</span>CmsSupSubmitSiteInfoMngBean bean = cmsSupSubmitSiteInfoMngBeanList.get(i);</div><div><span style="white-space:pre">				</span>String[] rs2 = {bean.getSpDeptName()</div><div><span style="white-space:pre">								</span>,bean.getSupTitle()</div><div><span style="white-space:pre">								</span>,String.valueOf(bean.getMsgPmPoint())</div><div><span style="white-space:pre">								</span>,bean.getAddDate()</div><div><span style="white-space:pre">								</span>};</div><div><span style="white-space:pre">				</span>if(!titleVar.equals(rs2[0])){</div><div><span style="white-space:pre">					</span>for (int x =0; x &lt; rs2.length; x++) {</div><div><span style="white-space:pre">					</span>Label labeVar2 = new Label(x, i+1, rs2[x]);</div><div><span style="white-space:pre">					</span>sheet2.addCell(labeVar2);</div><div><span style="white-space:pre">					</span>}</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;}else{</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">	</span>//内容从第二行开始打印</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp; &nbsp; &nbsp;//sheet.mergeCells(int col1,int row1,int col2,int row2);//左上角到右下角 &nbsp; &nbsp;</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp; &nbsp; &nbsp; sheet.mergeCells(0,1, 0,flagNum);//左上角到右下角 &nbsp; &nbsp; ,列，行,列，行</div><div><span style="white-space:pre">					</span>for (int j =1; j &lt; rs2.length; j++) {</div><div><span style="white-space:pre">						</span>Label labe2 = new Label(j, i+1, rs2[j]);</div><div><span style="white-space:pre">						</span>sheet2.addCell(labe2);</div><div><span style="white-space:pre">					</span>}</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;}</div><div><span style="white-space:pre">				</span>flagNum++;</div><div><span style="white-space:pre">				</span>titleVar=rs2[0];<span style="white-space:pre">	</span></div><div><span style="white-space:pre">			</span>}</div><div>//<span style="white-space:pre">			</span>// 将定义好的单元格添加到工作表中</div><div>//<span style="white-space:pre">			</span>/*</div><div>//<span style="white-space:pre">			</span> * 生成一个保存数字的单元格 必须使用Number的完整包路径，否则有语法歧义 单元格位置是第二列，第一行，</div><div>//<span style="white-space:pre">			</span> 值为789.123</div><div>//<span style="white-space:pre">			</span> */</div><div>//<span style="white-space:pre">			</span>// jxl.write.Number number = new jxl.write.Number( 1 , 0 , 555.12541 );</div><div>//<span style="white-space:pre">			</span>// sheet.addCell(number);</div><div><span style="white-space:pre">			</span>// 写入数据并关闭文件</div><div><span style="white-space:pre">			</span>book.write();</div><div><span style="white-space:pre">			</span>book.close();<span style="white-space:pre">			</span></div><div>//<span style="white-space:pre">			</span>将生成的文件下载</div><div><span style="white-space:pre">			</span>AttUploadsServlet servlet=new AttUploadsServlet();</div><div><span style="white-space:pre">			</span>servlet.downLoadFile(req, resp, "网站信息统计.csv", path + "\\" + saveFilename);</div><div><span style="white-space:pre">		</span>} catch (Exception e) {</div><div><span style="white-space:pre">			</span>System.out.println(e);</div><div></div><div><span style="white-space:pre">		</span>}</div><br />2、下载附件：</div><div><span style="white-space:pre">	</span>/**</div><div><span style="white-space:pre">	</span> * 文档下载</div><div><span style="white-space:pre">	</span> * @param request&nbsp;</div><div><span style="white-space:pre">	</span> * @param response</div><div><span style="white-space:pre">	</span> * @param fileName 文件名</div><div><span style="white-space:pre">	</span> * @param attachment -文件路径</div><div><span style="white-space:pre">	</span> * @return</div><div><span style="white-space:pre">	</span> */</div><div><span style="white-space:pre">	</span>public boolean downLoadFile(HttpServletRequest request,HttpServletResponse response</div><div><span style="white-space:pre">			</span>,String fileName,String attachment) {</div><div><span style="white-space:pre">		</span>try</div><div><span style="white-space:pre">		</span>{</div><div><span style="white-space:pre">			</span>String filepath =attachment;</div><div><span style="white-space:pre">			</span>File file = new File(filepath);</div><div><span style="white-space:pre">			</span>if(!file.exists())</div><div><span style="white-space:pre">			</span>{</div><div><span style="white-space:pre">				</span>return false;</div><div><span style="white-space:pre">				</span>//throw new Exception(filepath+"文件未找到!");<span style="white-space:pre">	</span></div><div><span style="white-space:pre">				</span></div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span>BufferedInputStream br = new BufferedInputStream(new FileInputStream(file));</div><div><span style="white-space:pre">			</span>byte[] buf = new byte[1024];</div><div><span style="white-space:pre">			</span>int len = 0;</div><div><span style="white-space:pre">			</span>response.reset(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//非常重要</div><div><span style="white-space:pre">			</span>//纯下载方式</div><div><span style="white-space:pre">			</span>response.setContentType("application/x-msdownload");&nbsp;</div><div><span style="white-space:pre">			</span>response.setHeader("Content-Disposition", "attachment; filename="&nbsp;</div><div><span style="white-space:pre">					</span>+ (new String(fileName.getBytes("gb2312"),"ISO-8859-1")));&nbsp;</div><div><span style="white-space:pre">			</span>OutputStream out = response.getOutputStream();</div><div><span style="white-space:pre">			</span>while((len = br.read(buf)) &gt;0)</div><div><span style="white-space:pre">				</span>out.write(buf,0,len);</div><div><span style="white-space:pre">			</span>out.flush();</div><div><span style="white-space:pre">			</span>br.close();</div><div><span style="white-space:pre">			</span>return true;</div><div><span style="white-space:pre">		</span>}</div><div><span style="white-space:pre">		</span>catch(Exception ex)</div><div><span style="white-space:pre">		</span>{</div><div><span style="white-space:pre">			</span>log.info(ex.getMessage());</div><div><span style="white-space:pre">			</span>return false;</div><div><span style="white-space:pre">		</span>}</div><div></div><div><span style="white-space:pre">	</span>}<br /><br />多学一点：划服务器下载附件<br /><div>&lt;%@page import="java.io.FileInputStream"%&gt;</div><div>&lt;%@page import="java.io.*"%&gt;</div><div>&lt;%@page import="java.io.File"%&gt;</div><div>&lt;%@page import="java.io.OutputStream"%&gt;</div><div>&lt;%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&gt;</div><div>&lt;%@page import="java.net.URL"%&gt;</div><div>&lt;%@page import="java.net.URLConnection"%&gt;</div><div>&lt;!-- 以上这行设定本网页为Word格式的网页 --&gt; &nbsp;</div><div>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</div><div>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</div><div>&lt;head&gt;</div><div>&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;</div><div>&lt;/head&gt;</div><div>&lt;%</div><div>&nbsp; &nbsp;String refFilePath= request.getRealPath(new String(request.getParameter("fileSrc").getBytes("ISO-8859-1"),"UTF-8"));</div><div>&nbsp; &nbsp;//String docName = new String(request.getParameter("fileName").getBytes("ISO-8859-1"),"UTF-8");</div><div>&nbsp; request.setCharacterEncoding("UTF-8");</div><div>&nbsp; String docName = request.getParameter("fileName");</div><div>&nbsp; try{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; /* 创建输入流 */ &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InputStream is = this.getClass().getClassLoader().getResourceAsStream("project.properties");&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Properties p = new Properties();</div><div>&nbsp; &nbsp; &nbsp; try {</div><div>&nbsp; &nbsp; <span style="white-space:pre">	</span> &nbsp;p.load(is); &nbsp; &nbsp; &nbsp; //Properties 对象已生成，包括文件中的数据</div><div>&nbsp; &nbsp; &nbsp; }catch(IOException e){</div><div>&nbsp; &nbsp; &nbsp; &nbsp;e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; String refFp=p.getProperty("xzql.refFilePath");</div><div>&nbsp; &nbsp; &nbsp; &nbsp; URL ul=new URL(refFp+new String(request.getParameter("fileSrc").getBytes("ISO-8859-1"),"UTF-8"));</div><div>&nbsp; &nbsp; &nbsp; &nbsp; URLConnection conn=ul.openConnection();</div><div>&nbsp; &nbsp; &nbsp; &nbsp; InputStream inStream = conn.getInputStream();</div><div>&nbsp; &nbsp; &nbsp; &nbsp; String disName = java.net.URLEncoder.encode(docName, "UTF-8"); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; response.reset(); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; response.setContentType("application/x-msdownload"); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; response.addHeader("Content-Disposition", &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "attachment; filename=\"" + disName + "\""); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; byte[] buf = new byte[4096]; &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; /* 创建输出流 */ &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; ServletOutputStream servletOS = response.getOutputStream(); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; int readLength;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; int alllength=0;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; while (((readLength = inStream.read(buf)) != -1)) { &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; servletOS.write(buf, 0, readLength);&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alllength+= readLength;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp; &nbsp; response.setContentLength(alllength);&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; inStream.close(); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; servletOS.flush(); &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; servletOS.close(); &nbsp;</div><div></div><div>&nbsp; &nbsp;}catch(Exception e){</div><div><span style="white-space:pre">	</span> &nbsp; out.print("文件不存在! ");</div><div><span style="white-space:pre">	</span> &nbsp; e.printStackTrace();</div><div>}&nbsp;</div><div>&nbsp; %&gt;&nbsp;</div><div>&nbsp; &lt;/html&gt;</div><br />2).struts2下载Excel：<br /><a href="http://blog.csdn.net/weinianjie1/article/details/5941042">http://blog.csdn.net/weinianjie1/article/details/5941042</a><br /><br /><br /><br /><br /><br /></div></div><img src ="http://www.blogjava.net/17learning/aggbug/404939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2013-10-14 01:46 <a href="http://www.blogjava.net/17learning/archive/2013/10/14/404939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java打包Jar方法详细解</title><link>http://www.blogjava.net/17learning/archive/2013/03/01/395886.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Fri, 01 Mar 2013 01:26:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2013/03/01/395886.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/395886.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2013/03/01/395886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/395886.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/395886.html</trackback:ping><description><![CDATA[<div><p style="margin-bottom:0pt; margin-top:0pt; ">&nbsp; &nbsp;<span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">创建可执行的&nbsp;JAR&nbsp;文件包，制作一个可执行的&nbsp;JAR&nbsp;文件包来发布你的程序是&nbsp;JAR&nbsp;文件包最典型的用法。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">&nbsp;&nbsp;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">&nbsp;&nbsp;Java&nbsp;程序是由若干个&nbsp;.class&nbsp;文件组成的。这些&nbsp;.class&nbsp;文件必须根据它们所属的包不同而分级分目录存放；运行前需要把所有用到的包的根目录指定给&nbsp;CLASSPATH&nbsp;环境变量或者&nbsp;java&nbsp;命令的&nbsp;-cp&nbsp;参数；运行时还要到控制台下去使用&nbsp;java&nbsp;命令来运行，如果需要直接双击运行必须写&nbsp;Windows&nbsp;的批处理文件&nbsp;(.bat)&nbsp;或者&nbsp;Linux&nbsp;的&nbsp;Shell&nbsp;程序。因此，许多人说，Java&nbsp;是一种方便开发者苦了用户的程序设计语言。其实不然，如果开发者能够制作一个可执行的&nbsp;JAR&nbsp;文件包交给用户，那么用户使用起来就方便了。在&nbsp;Windows&nbsp;下</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">安装&nbsp;JRE&nbsp;(Java&nbsp;Runtime&nbsp;Environment)&nbsp;的时候，安装文件会将&nbsp;.jar&nbsp;文件映射给&nbsp;javaw.exe&nbsp;打开。那么，对于一个可执行的&nbsp;JAR&nbsp;文件包，用户只需要双击它就可以运行程序了，和阅读&nbsp;.chm&nbsp;文档一样方便&nbsp;(.chm&nbsp;文档默认是由hh.exe&nbsp;打开的)。那么，现在的关键，就是如何来创建这个可执行的&nbsp;JAR&nbsp;文件包。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">创建可执行的&nbsp;JAR&nbsp;文件包，需要使用带&nbsp;cvfm&nbsp;参数的&nbsp;jar&nbsp;命令，同样以上述&nbsp;test&nbsp;目录为例，命令如下：</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">jar&nbsp;cvfm&nbsp;test.jar&nbsp;manifest.mf&nbsp;test</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">这里&nbsp;test.jar&nbsp;和&nbsp;manifest.mf&nbsp;两个文件，分别是对应的参数&nbsp;f&nbsp;和&nbsp;m，其重头戏在&nbsp;manifest.mf。因为要创建可</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">执行的&nbsp;JAR&nbsp;文件包，光靠指定一个&nbsp;manifest.mf&nbsp;文件是不够的，因为&nbsp;MANIFEST&nbsp;是&nbsp;JAR&nbsp;文件包的特征，可执行的</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">JAR&nbsp;文件包和不可执行的&nbsp;JAR&nbsp;文件包都包含&nbsp;MANIFEST。关键在于可执行&nbsp;JAR&nbsp;文件包的&nbsp;MANIFEST，其内容包含了</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">Main-Class&nbsp;一项。这在&nbsp;MANIFEST&nbsp;中书写格式如下：</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">Main-Class:&nbsp;可执行主类全名(包含包名)</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">例如，假设上例中的&nbsp;Test.class&nbsp;是属于&nbsp;test&nbsp;包的，而且是可执行的类</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">(定义了&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[])&nbsp;方法)，那么这个&nbsp;manifest.mf&nbsp;可以编辑如下：</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">Main-Class:&nbsp;test.Test&nbsp;&lt;回车&gt;</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">这个&nbsp;manifest.mf&nbsp;可以放在任何位置，也可以是其它的文件名，只需要有&nbsp;Main-Class:&nbsp;test.Test&nbsp;一行，且该</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">行以一个回车符结束即可。创建了&nbsp;manifest.mf&nbsp;文件之后，我们的目录结构变为：</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">==</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">|--&nbsp;test</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">|&nbsp;`--&nbsp;Test.class</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">`--&nbsp;manifest.mf</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">这时候，需要到&nbsp;test&nbsp;目录的上级目录中去使用&nbsp;jar&nbsp;命令来创建&nbsp;JAR&nbsp;文件包。也就是在目录树中使用&#8220;==&#8221;表</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">示的那个目录中，使用如下命令：</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">jar&nbsp;cvfm&nbsp;test.jar&nbsp;manifest.mf&nbsp;test</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">之后在&#8220;==&#8221;目录中创建了&nbsp;test.jar，这个&nbsp;test.jar&nbsp;就是执行的&nbsp;JAR&nbsp;文件包。运行时只需要使用</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">java&nbsp;-jar&nbsp;test.jar&nbsp;命令即可。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">需要注意的是，创建的&nbsp;JAR&nbsp;文件包中需要包含完整的、与&nbsp;Java&nbsp;程序的包结构对应的目录结构，就像上例一样。</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">而&nbsp;Main-Class&nbsp;指定的类，也必须是完整的、包含包路径的类名，如上例的&nbsp;test.Test；而且在没有打成&nbsp;JAR&nbsp;文件包</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">之前可以使用&nbsp;java&nbsp;&lt;类名&gt;&nbsp;来运行这个类，即在上例中&nbsp;java&nbsp;test.Test&nbsp;是可以正确运行的&nbsp;(当然要在&nbsp;CLASSPATH</span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; "><br /></span><span style="mso-spacerun:'yes'; font-size:10.5000pt; font-family:'Times New Roman'; ">正确的情况下)。</span></p><p style="margin-bottom:0pt; margin-top:0pt; "></p><p style="margin-bottom:0pt; margin-top:0pt; "></p></div><img src ="http://www.blogjava.net/17learning/aggbug/395886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2013-03-01 09:26 <a href="http://www.blogjava.net/17learning/archive/2013/03/01/395886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Web 开发---Tomcat的配置</title><link>http://www.blogjava.net/17learning/archive/2013/03/01/395884.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Fri, 01 Mar 2013 01:15:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2013/03/01/395884.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/395884.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2013/03/01/395884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/395884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/395884.html</trackback:ping><description><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">配置环境变量：&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;"><wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">添加三个系统变量：&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;"><wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">1、JAVA_HOME: C:\JDK&nbsp;<wbr>&nbsp;实际JDK的位置</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">2、TOMCAT_HOME(或CATALINA_HOME): C:\Tomcat</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">3、CLASSPATH: %JAVA_HOME%\lib;%TOMCAT_HOME%\lib</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">4、path(编辑path时多个用";"隔开)：C:\Program Files\Java\jdk1.6.0_16\bin（JDK的bin中）</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">机器上有CLASSPATH用分号隔开，然后加在后面。</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">Tomcat的环境变量就配置完毕了，下面检验Tomcat是否能够运行：</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">在控制台中转到C:\Tomcat\bin这个目录，运行startup，然后回出现一个窗口，连跳一大串东西，最后表示Server已经运行</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">在浏览器中输入<a href="http://blog.sina.com.cn/17learning" style="text-decoration: none; color: #9c2805;">http://localhost:8080</a>，出现欢迎界面，则表示Tomcat没问题了</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">然后和上面一样，写入你的第一个Servlet</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">import java.io.*;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">import javax.servlet.*;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">import javax.servlet.http.*;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">public class HelloWorld extends HttpServlet</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">{</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">{</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">response.setContentType("text/html");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">PrintWriter out = response.getWriter();</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">out.println("&lt;html&gt;&lt;head&gt;&lt;title&gt;");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">out.println("This is my first Servlet");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">out.println("&lt;/title&gt;&lt;/head&gt;&lt;body&gt;");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">out.println("&lt;h1&gt;Hello,World!&lt;/h1&gt;");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">out.println("&lt;/body&gt;&lt;/html&gt;");</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">}</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">}</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">然后照样用javac HelloWorld.java来编译这个文件，如果出现无法import javax.servlet.*</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">那么就是应该把C:\Tomcat\common\lib里面的servlet-api.jar（根据实际来看）文件拷贝到C:\JDK\jre\lib\ext中，再次编译</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">然后在Tomcat目录里面的C:\Tomcat\webapps\myweb(目录名可任意)里面按如下的文件结构：</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">myweb\WEB-INF\web.xml</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">myweb\WEB-INF\classes\HelloWorld.class(把上面生成的HelloWorld.class文件放在这个里面)</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">Servlet必须使用C:\Tomcat\webapps\myweb\WEB-INF这个目录下面的web.xml文件进行注册，用记事本打开这个web.xml文件，在里面加入</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-name&gt;HelloWorld&lt;/servlet-name&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-class&gt;HelloWorld&lt;/servlet-class&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;/servlet&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-mapping&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-name&gt;HelloWorld&lt;/servlet-name&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;url-pattern&gt;/HelloWorld&lt;/url-pattern&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;/servlet-mapping&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">这样的结构</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-name&gt;HelloWorld&lt;/servlet-name&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-class&gt;HelloWorld&lt;/servlet-class&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;/servlet&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">表示指定包含的servlet类.</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">而以下的结构</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-mapping&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;servlet-name&gt;HelloWorld&lt;/servlet-name&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;url-pattern&gt;/HelloWorld&lt;/url-pattern&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&lt;/servlet-mapping&gt;</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">表示指定HelloServlet应当映射到哪一种URL模式。</p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">&nbsp;<wbr></p><p style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding: 0px; border: 0px; list-style: none; word-wrap: normal; word-break: normal; color: #464646; font-family: simsun; background-color: #dfecf5;">在修改web.xml完毕过后，重新启动Server，然后再输入<a href="http://blog.sina.com.cn/17learning" style="text-decoration: none; color: #9c2805;">http://localhost:8080/myweb/HelloWorld</a></p><img src ="http://www.blogjava.net/17learning/aggbug/395884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2013-03-01 09:15 <a href="http://www.blogjava.net/17learning/archive/2013/03/01/395884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>proxool连接池连接sql server2005数据库报错</title><link>http://www.blogjava.net/17learning/archive/2013/01/30/394903.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Tue, 29 Jan 2013 17:35:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2013/01/30/394903.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/394903.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2013/01/30/394903.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/394903.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/394903.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;"><a></a>我使用的是proxool连接池连接sql&nbsp;server2005数据库，控制台报：签名信息和同一包里面的另外一个类得签名信息不匹配</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" /><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">Caused&nbsp;by:&nbsp;java.lang.SecurityException:&nbsp;class&nbsp;"com.microsoft.sqlserver.jdbc.ISQLServerStatement$$FastClassByProxool$$3407f37e"'s&nbsp;signer&nbsp;information&nbsp;does&nbsp;not&nbsp;match&nbsp;signer&nbsp;information&nbsp;of&nbsp;other&nbsp;classes&nbsp;in&nbsp;the&nbsp;same&nbsp;package</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" /><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">at&nbsp;java.lang.ClassLoader.checkCerts(ClassLoader.java:775)</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" /><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">at&nbsp;java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" /><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">at&nbsp;java.lang.ClassLoader.defineClass(ClassLoader.java:614)</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" /><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">...&nbsp;54&nbsp;more<br /><br /></span>解决方法：<br />&nbsp; &nbsp; 用的JDBC包版本为：sqljdbc_3.0.1301.101_chs中的,下载连接：<a href="http://www.microsoft.com/zh-cn/download/details.aspx?id=21599">http://www.microsoft.com/zh-cn/download/details.aspx?id=21599</a>。<br />&nbsp; &nbsp; 拷贝老项目中的一个sqljdbc.jar问题解决，求高手解答下原因。sqljdbc.jar下载连接》<a title="可用的包" href="/Files/17learning/sqljdbc.jar.txt">可用的包</a><a></a><img src ="http://www.blogjava.net/17learning/aggbug/394903.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2013-01-30 01:35 <a href="http://www.blogjava.net/17learning/archive/2013/01/30/394903.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用短信的webservice axis生成java开发包</title><link>http://www.blogjava.net/17learning/archive/2012/12/09/392693.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 09 Dec 2012 14:11:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2012/12/09/392693.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/392693.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2012/12/09/392693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/392693.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/392693.html</trackback:ping><description><![CDATA[<div>set Axis_Lib=F:\webservice\axis1.4</div><div>set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%&nbsp;</div><div>set Axis_Servlet=http://xx.xx.xx.xx/services/ctcc_ema_wbs?wsdl</div><div>%Java_Cmd% &nbsp;org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true %Axis_Servlet%&nbsp;</div><div></div><img src ="http://www.blogjava.net/17learning/aggbug/392693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2012-12-09 22:11 <a href="http://www.blogjava.net/17learning/archive/2012/12/09/392693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java在线咨询，多人咨询。</title><link>http://www.blogjava.net/17learning/archive/2012/11/25/391930.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 25 Nov 2012 08:00:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2012/11/25/391930.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/391930.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2012/11/25/391930.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/391930.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/391930.html</trackback:ping><description><![CDATA[<strong>1、客服登录：客服有客服ID，单位ID：</strong><br />&nbsp; &nbsp;WorkerVO workerVO = (WorkerVO) req.getSession().getAttribute("workerVO");<div><span style="white-space:pre">		</span>if(workerVO==null){</div><div><span style="white-space:pre">			</span>workerVO = new WorkerVO();</div><div><span style="white-space:pre">			</span>String workerid = req.getParameter("workerid"); //单位ID</div><div><span style="white-space:pre">			</span>String userid = req.getParameter("userid"); //用户ID</div><div><span style="white-space:pre">			</span>if(!StringUtil.isBlank(workerid)){</div><div><span style="white-space:pre">				</span>boolean b = WorkerLogService.getWorker(workerid, workerVO); //获取单位信息</div><div><span style="white-space:pre">				</span></div><div><span style="white-space:pre">				</span>if(b){<span style="white-space:pre">	</span>//登陆成功</div><div><span style="white-space:pre">					</span>workerVO.setStartDate((new Date()).getTime());<span style="white-space:pre">					</span></div><div><span style="white-space:pre">					</span>if(!StringUtil.isBlank(userid)){</div><div><span style="white-space:pre">						</span>DeptService deptService = new DeptService();</div><div><span style="white-space:pre">						</span>OrgUserVO userVO = deptService.getOrgUser(userid); //获取用户信息</div><div><span style="white-space:pre">						</span>workerVO.setUserId(userid);</div><div><span style="white-space:pre">						</span>if(userVO!=null){</div><div><span style="white-space:pre">							</span>workerVO.setUserName(userVO.getUserName());</div><div><span style="white-space:pre">						</span>}</div><div><span style="white-space:pre">						</span></div><div><span style="white-space:pre">					</span>}<span style="white-space:pre">		</span></div><div><span style="white-space:pre">					</span>//1. get map</div><div><span style="white-space:pre">					</span>// key-userkey &nbsp;value-workersMap &nbsp; workersMap&lt;String,Map&gt; ------String 为单位id，</div><div><span style="white-space:pre">					</span>//--- Map为客服人员集合，Map&lt;String,Object&gt; ,key为客服Id， value为客服人员对象</div><div><span style="white-space:pre">					</span>//（客服人员ID，客服人员姓名，单位id ，单位名称 ，状态（1在线、2忙碌、3离线），在线&#8212;&#8212;1在咨询中，2空闲，如果状态是不在线：值为0）。</div><div><span style="white-space:pre">					</span>super.init(config); &nbsp;</div><div><span style="white-space:pre">					</span>ServletContext<span style="white-space:pre">	</span>application=this.getServletContext(); &nbsp;<span style="white-space: pre;">//得到Application对象</span></div><div><span style="white-space:pre">					</span>Map&lt;String,Map&gt; workersMap = (Map)application.getAttribute("workersKey");</div><div><span style="white-space:pre">					</span></div><div><span style="white-space:pre">					</span>if(workersMap == null){ //判断Map是否为空</div><div><span style="white-space:pre">						</span>//初始化</div><div><span style="white-space:pre">						</span>Map&lt;String,Map&gt; workerMap = new Hashtable&lt;String,Map&gt;();</div><div><span style="white-space:pre">						</span>Map&lt;String,Object&gt; childWorkerMap = new Hashtable&lt;String, Object&gt;();</div><div><span style="white-space:pre">						</span>WorkerOnlineVO onlineWorker=new WorkerOnlineVO();</div><div><span style="white-space:pre">						</span>onlineWorker.setDeptId(workerVO.getDeptNo().toString());//单位Id</div><div><span style="white-space:pre">						</span>onlineWorker.setDeptName(workerVO.getDeptName());</div><div><span style="white-space:pre">						</span>onlineWorker.setWorkerUserId(workerVO.getUserId());</div><div><span style="white-space:pre">						</span>onlineWorker.setWorkerUserName(workerVO.getUserName());</div><div><span style="white-space:pre">						</span>onlineWorker.setState("1");</div><div><span style="white-space:pre">						</span>onlineWorker.setConsultate("2");</div><div><span style="white-space:pre">						</span>childWorkerMap.put(workerVO.getUserId(), onlineWorker);</div><div><span style="white-space:pre">						</span>workerMap.put(workerVO.getDeptNo().toString(), childWorkerMap);</div><div><span style="white-space:pre">						</span>application.setAttribute("workersKey", workerMap);</div><div><span style="white-space:pre">					</span>}else{</div><div><span style="white-space:pre">						</span>Map&lt;String,Object&gt; childWorkerMap=workersMap.get(workerVO.getDeptNo());</div><div><span style="white-space:pre">						</span>WorkerOnlineVO workerOnline=(WorkerOnlineVO) childWorkerMap.get(workerVO.getUserId());</div><div><span style="white-space:pre">						</span>if(workerOnline==null){</div><div><span style="white-space:pre">							</span>WorkerOnlineVO onlineWorker=new WorkerOnlineVO();</div><div><span style="white-space:pre">							</span>onlineWorker.setDeptId(workerVO.getDeptNo().toString());</div><div><span style="white-space:pre">							</span>onlineWorker.setDeptName(workerVO.getDeptName());</div><div><span style="white-space:pre">							</span>onlineWorker.setWorkerUserId(workerVO.getUserId());</div><div><span style="white-space:pre">							</span>onlineWorker.setWorkerUserName(workerVO.getUserName());</div><div><span style="white-space:pre">							</span>onlineWorker.setState("1");</div><div><span style="white-space:pre">							</span>onlineWorker.setConsultate("2");</div><div><span style="white-space:pre">							</span>childWorkerMap.put(workerVO.getUserId(), onlineWorker);</div><div><span style="white-space:pre">							</span>workersMap.put(workerVO.getDeptNo().toString(), childWorkerMap);</div><div><span style="white-space:pre">							</span>//application.setAttribute("workersKey", workersMap);</div><div><span style="white-space:pre">						</span>}else{<span style="white-space:pre">							</span></div><div><span style="white-space:pre">							</span>workerOnline.setState("1");</div><div><span style="white-space:pre">							</span>workerOnline.setConsultate("2");</div><div><span style="white-space:pre">							</span>childWorkerMap.put(workerVO.getUserId(), workerOnline);</div><div><span style="white-space:pre">							</span>workersMap.put(workerVO.getDeptNo().toString(), childWorkerMap);</div><div><span style="white-space:pre">							</span></div><div>//<span style="white-space:pre">							</span>application.setAttribute("workersKey", workersMap);</div><div><span style="white-space:pre">						</span>}</div><div><span style="white-space:pre">					</span>}</div><div><span style="white-space:pre">					</span></div><div><span style="white-space:pre">					</span>req.getSession().setAttribute("workerVO", workerVO);</div><div><span style="white-space:pre">					</span>OnlineStatusVO.WORKER_QUESTER_MAP.put(workerid, new ArrayList&lt;QuesterVO&gt;());</div><div><span style="white-space:pre">					</span>OnlineStatusVO.WORKER_VO_MAP.put(workerid, workerVO);</div><div><span style="white-space:pre">					</span>req.getRequestDispatcher("../worker.jsp").forward(req, res);</div><div><span style="white-space:pre">				</span>}else{<span style="white-space:pre">	</span></div><div><span style="white-space:pre">					</span>res.sendRedirect("../worker_index.jsp?flag=1");</div><div><span style="white-space:pre">				</span>}</div><div><span style="white-space:pre">			</span>}else if(!StringUtil.isBlank(userid)){</div><div><span style="white-space:pre">				</span>if("1".equals(userid)){</div><div><span style="white-space:pre">					</span>workerVO.setId("0");</div><div><span style="white-space:pre">					</span>workerVO.setDeptName("技术支持");</div><div><span style="white-space:pre">					</span>workerVO.setDeptNo("0");</div><div><span style="white-space:pre">					</span>workerVO.setState("1");</div><div><span style="white-space:pre">					</span>workerVO.setUserId(userid);</div><div><span style="white-space:pre">					</span>req.getSession().setAttribute("workerVO", workerVO);</div><div><span style="white-space:pre">					</span>OnlineStatusVO.WORKER_QUESTER_MAP.put("0", new ArrayList&lt;QuesterVO&gt;());</div><div><span style="white-space:pre">					</span>OnlineStatusVO.WORKER_VO_MAP.put("0", workerVO);</div><div><span style="white-space:pre">					</span>req.getRequestDispatcher("../worker.jsp").forward(req, res);</div><div><span style="white-space:pre">				</span>}</div><div><span style="white-space:pre">			</span>}else{</div><div><span style="white-space:pre">				</span>res.sendRedirect("../worker_index.jsp?flag=1");</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">		</span>}else{ //workerVO != null</div><div><span style="white-space:pre">			</span>if(StringUtil.isBlank(OnlineStatusVO.WORKER_QUESTER_MAP.get(workerVO.getId()))){</div><div><span style="white-space:pre">				</span>OnlineStatusVO.WORKER_QUESTER_MAP.put(workerVO.getId(), new ArrayList&lt;QuesterVO&gt;());</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span>if(StringUtil.isBlank(OnlineStatusVO.WORKER_VO_MAP.get(workerVO.getId()))){</div><div><span style="white-space:pre">				</span>System.out.println("===OnlineStatusVO.WORKER_VO_MAP.get======");</div><div><span style="white-space:pre">				</span>OnlineStatusVO.WORKER_VO_MAP.put(workerVO.getId(), workerVO);</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span>req.getRequestDispatcher("../worker.jsp").forward(req, res);</div><div><span style="white-space:pre">		</span>}<br /><br /><strong>1、咨询者咨询：</strong>单位ID：</div><div><span style="white-space:pre">	</span>String workerId = req.getParameter("workerId"); //单位ID</div><div><span style="white-space:pre">		</span>String outmsg = "";</div><div><span style="white-space:pre">		</span>if(StringUtil.isBlank(workerId)){</div><div><span style="white-space:pre">			</span>Log.error("---单位Id为空------");</div><div><span style="white-space:pre">		</span>}else{</div><div><span style="white-space:pre">			</span>super.init(config); &nbsp;</div><div><span style="white-space:pre">			</span>ServletContext<span style="white-space:pre">	</span>application=this.getServletContext(); &nbsp;<span style="white-space:pre">		</span></div><div><span style="white-space:pre">			</span>Map&lt;String,Map&gt; workersMap = (Map)application.getAttribute("workersKey");</div><div><span style="white-space:pre">			</span>if(workersMap==null){ //如果workersMap为空</div><div><span style="white-space:pre">				</span>outmsg="请电话咨询，电话号码为：XXXXX";</div><div><span style="white-space:pre">			</span>}else{</div><div><span style="white-space:pre">				</span>Map&lt;String,WorkerOnlineVO&gt; childWorkerMap =workersMap.get(workerId);</div><div><span style="white-space:pre">				</span>if(childWorkerMap==null){</div><div><span style="white-space:pre">					</span>outmsg="请电话咨询，电话号码为：XXXXX";</div><div><span style="white-space:pre">				</span>}else{</div><div></div><div><span style="white-space:pre">					</span>//boolean flagTel=false; //无客服人员在线</div><div><span style="white-space:pre">					</span> &nbsp;String &nbsp;workerUserIdTemp="";</div><div><span style="white-space:pre">					</span> &nbsp; Set&lt;String&gt; key = childWorkerMap.keySet();</div><div><span style="white-space:pre">					</span> &nbsp; for (Iterator it = key.iterator(); it.hasNext();) {</div><div><span style="white-space:pre">							</span>WorkerOnlineVO workerOnlineVo =childWorkerMap.get((String)it.next());&nbsp;</div><div><span style="white-space:pre">							</span>//状态（1在线、2忙碌、3离线），在线&#8212;&#8212;1在咨询中，2空闲，如果状态是不在线：值为0</div><div><span style="white-space:pre">							</span>//安排人员的优先级：在线 --空闲 &nbsp;》在线--咨询中 ，其他条件不符合。</div><div><span style="white-space:pre">							</span>if(workerOnlineVo.getState().equals("1")&amp;&amp; workerOnlineVo.getConsultate().equals("2")){</div><div><span style="white-space:pre">								</span>//在线 --空闲 &nbsp;------------优先级最高</div><div><span style="white-space:pre">								</span>workerUserIdTemp=workerOnlineVo.getWorkerUserId();</div><div><span style="white-space:pre">								</span>break;</div><div><span style="white-space:pre">							</span> }&nbsp;</div><div><span style="white-space:pre">							</span>else if(workerOnlineVo.getState().equals("1")&amp;&amp; workerOnlineVo.getConsultate().equals("1")){</div><div><span style="white-space:pre">								</span>//在线--咨询中</div><div><span style="white-space:pre">								</span>if(workerUserIdTemp.equals("")){</div><div><span style="white-space:pre">									</span>workerUserIdTemp=workerOnlineVo.getWorkerUserId();</div><div><span style="white-space:pre">								</span>}</div><div><span style="white-space:pre">							</span> }</div><div><span style="white-space:pre">						</span></div><div><span style="white-space:pre">				</span> &nbsp; &nbsp; &nbsp; &nbsp;}</div><div><span style="white-space:pre">					</span></div><div><span style="white-space:pre">					</span>if(workerUserIdTemp.equals("")){</div><div><span style="white-space:pre">						</span>outmsg="请电话咨询，电话号码为：XXXXX";</div><div><span style="white-space:pre">					</span>}else{</div><div><span style="white-space:pre">						</span>WorkerOnlineVO workerOnlineVo = childWorkerMap.get(workerUserIdTemp);</div><div><span style="white-space:pre">						</span>workerOnlineVo.setState("1");</div><div><span style="white-space:pre">						</span>workerOnlineVo.setConsultate("1");</div><div><span style="white-space:pre">						</span>childWorkerMap.put(workerOnlineVo.getWorkerUserId(), workerOnlineVo);</div><div><span style="white-space:pre">						</span>workersMap.put(workerId, childWorkerMap); //和原来的Map一样</div><div><span style="white-space:pre">						</span>//application.setAttribute("workersKey", workersMap);</div><div><span style="white-space:pre">						</span></div><div><span style="white-space:pre">						</span>outmsg = "您好，请问有什么可以帮助您的吗？";<span style="white-space:pre">						</span></div><div><span style="white-space:pre">						</span>QuesterVO questerVO = (QuesterVO) req.getSession().getAttribute("questerVO");</div><div><span style="white-space:pre">						</span>if(questerVO==null || !workerId.equals(questerVO.getWorkerId())){</div><div><span style="white-space:pre">							</span>OnlineStatusVO.WORKER_USER.put("workerUser", workerOnlineVo);</div><div><span style="white-space:pre">							</span>questerVO = QuesterLogService.getQuester(workerId); //必须使用人id</div><div><span style="white-space:pre">							</span>questerVO.setWorkerUserId(workerOnlineVo.getWorkerUserId());</div><div><span style="white-space:pre">							</span>req.getSession().setAttribute("questerVO", questerVO);<span style="white-space:pre">							</span></div><div><span style="white-space:pre">							</span>OnlineStatusVO.WORKER_QUESTER_MAP.get(workerId).add(questerVO);</div><div><span style="white-space:pre">							</span>OnlineStatusVO.QUESTER_VO_MAP.put(questerVO.getId(), questerVO);</div><div><span style="white-space:pre">							</span>req.setAttribute("workerOnlineVo", workerOnlineVo);</div><div><span style="white-space:pre">							</span></div><div><span style="white-space:pre">							</span></div><div><span style="white-space:pre">						</span>}</div><div><span style="white-space:pre">					</span>}</div><div><span style="white-space:pre">					</span></div><div><span style="white-space:pre">					</span>req.setAttribute("outmsg", outmsg);</div><div><span style="white-space:pre">					</span>req.getRequestDispatcher("/quester.jsp").forward(req, res);</div><div><span style="white-space:pre">					</span></div><div><span style="white-space:pre">				</span>}</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">		</span>}<span style="white-space:pre">	<br /><br />3、中间类：<br /></span></div><div><span style="white-space:pre">	</span>public class OnlineStatusVO {</div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>public static Map&lt;String,WorkerVO&gt; WORKER_VO_MAP = new HashMap&lt;String,WorkerVO&gt;();</div></blockquote></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>public static Map&lt;String,QuesterVO&gt; QUESTER_VO_MAP = new HashMap&lt;String,QuesterVO&gt;(); </div></blockquote></blockquote></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>	 	public static Map&lt;String, List&lt;QuesterVO&gt;&gt;  WORKER_QUESTER_MAP = new HashMap&lt;String, List&lt;QuesterVO&gt;&gt;();</div></blockquote></blockquote></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div> 	 	 	public static Map&lt;String, WorkerOnlineVO&gt;  WORKER_USER = new HashMap&lt;String, WorkerOnlineVO&gt;();</div></blockquote></blockquote></blockquote></blockquote><div> 	 	 }</div><img src ="http://www.blogjava.net/17learning/aggbug/391930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2012-11-25 16:00 <a href="http://www.blogjava.net/17learning/archive/2012/11/25/391930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在同一张数据库表中使用Map统计数据</title><link>http://www.blogjava.net/17learning/archive/2012/09/12/387602.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Wed, 12 Sep 2012 15:57:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2012/09/12/387602.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/387602.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2012/09/12/387602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/387602.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/387602.html</trackback:ping><description><![CDATA[1、主要方法：<br /><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;String startDate = req.getParameter("startDate");&nbsp;</div><div><span style="white-space:pre">		</span>String endDate = req.getParameter("endDate");</div><div><span style="white-space:pre">		</span>UserVO users = (UserVO) req.getSession().getAttribute("users");</div><div><span style="white-space:pre">		</span>List&lt;ReportBaseVO&gt; titleList = MessageCountService.titleList(); &nbsp;//表列</div><div><span style="white-space:pre">		</span>List&lt;ReportBaseVO&gt; mentList=MessageCountService.findMentList(users,messType); //表行<br /><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List&lt;ReportDataVO&gt; dataList=MessageCountService.findData(users,messType,startDate,endDate); //数据集<br /><span style="white-space:pre">	        </span>Map&lt;String,String&gt; dataMap = ReportService.getReport(dataList); //装入Map<br />2、方法实现：<br />//0：满意 1：非常满意2：不满意&nbsp;</div><div><span style="white-space:pre">	</span>public static List&lt;ReportBaseVO&gt; titleList(){</div><div><span style="white-space:pre">		</span>List&lt;ReportBaseVO&gt; list = new ArrayList&lt;ReportBaseVO&gt;();</div><div><span style="white-space:pre">		</span>ReportBaseVO vo1 = new ReportBaseVO();</div><div><span style="white-space:pre">		</span>vo1.setCode("0");</div><div><span style="white-space:pre">		</span>vo1.setName("满意");</div><div><span style="white-space:pre">		</span>list.add(vo1);</div><div><span style="white-space:pre">		</span>ReportBaseVO vo2 = new ReportBaseVO();</div><div><span style="white-space:pre">		</span>vo2.setCode("1");</div><div><span style="white-space:pre">		</span>vo2.setName("基本满意");</div><div><span style="white-space:pre">		</span>list.add(vo2);</div><div><span style="white-space:pre">		</span>ReportBaseVO vo3 = new ReportBaseVO();</div><div><span style="white-space:pre">		</span>vo3.setCode("2");</div><div><span style="white-space:pre">		</span>vo3.setName("不满意");</div><div><span style="white-space:pre">		</span>list.add(vo3);</div><div><span style="white-space:pre">		</span>return list;</div><div><span style="white-space:pre">	</span>}<br /><br /><div>public static List&lt;ReportBaseVO&gt; findMentList(UserVO users,String type){</div><div><span style="white-space: pre; ">		</span></div><div><span style="white-space:pre">		</span>List&lt;ReportBaseVO&gt; list = new ArrayList&lt;ReportBaseVO&gt;();</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div><span style="white-space:pre">		</span>if((users.isHave("0") &amp;&amp; ("1".equals(type)||type==null||"".equals(type)))||users.isHave("1") &amp;&amp; ("1".equals(type)||type==null||"".equals(type))){</div><div><span style="white-space:pre">			</span>ReportBaseVO vo1 = new ReportBaseVO();</div><div><span style="white-space:pre">			</span>vo1.setCode("1");</div><div><span style="white-space:pre">			</span>vo1.setName("局长信箱");</div><div><span style="white-space:pre">			</span>list.add(vo1);</div><div><span style="white-space:pre">		</span>}<span style="white-space:pre">	</span></div>}<br /><br /><div>public static List&lt;ReportDataVO&gt; findData(UserVO users, String messType,String startDate,String endDate){<br /><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;List&lt;ReportDataVO&gt; list = new ArrayList&lt;ReportDataVO&gt;();</div></div><div><span style="white-space: pre;">	       String sql="select APPRAISAL as titleId,MESS_TYPE as mentId,count(ID) as count from act_message where DELETE_FLAG='0' and APPRAISAL&lt;&gt;'' and MESS_TYPE='1' group by MESS_TYPE,APPRAISAL";</span></div><div><span style="white-space:pre">		</span>List&lt;ReportDataVO&gt; reportDataList = DBBeanUtil.execute(conn, new ReportDataVO(),sql);</div><div><span style="white-space:pre">		</span>list.addAll(reportDataList);</div><div><span style="white-space:pre">		</span>return list;</div><div><span style="white-space:pre">	</span>}<br /><br /><div>public static Map&lt;String,String&gt; getReport(List&lt;ReportDataVO&gt; paraList){</div><div><span style="white-space:pre">		</span>Map&lt;String, String&gt; reportMap = new HashMap&lt;String, String&gt;();</div><div><span style="white-space:pre">		</span>for(int i=0;i&lt;paraList.size();i++){</div><div><span style="white-space:pre">			</span>ReportDataVO p = paraList.get(i);</div><div><span style="white-space: pre; ">		</span><span style="white-space: pre; ">	</span>reportMap.put(p.getMentId()+"_"+p.getTitleId(), String.valueOf(p.getCount()));</div><div><span style="white-space:pre">		</span>}</div><div><span style="white-space:pre">		</span>return reportMap;</div><div><span style="white-space:pre">	</span>}</div><br />3、遍历数据：<br /><div><span style="white-space:pre">	</span>Map&lt;String,String&gt; dataMap = ReportService.getReport(dataList);</div><div><span style="white-space:pre">		</span>String[][] data = new String[mentList.size()][titleList.size()];</div><div><span style="white-space:pre">		</span>for (int i = 0; i &lt; mentList.size(); i++) {</div><div><span style="white-space:pre">			</span>mentList.get(i).getName(); &nbsp;</div><div><span style="white-space:pre">			</span>int typeAll=0;</div><div><span style="white-space:pre">			</span>for (int j = 0; j &lt; titleList.size(); j++) {</div><div><span style="white-space:pre">			</span> String dateMa=mentList.get(i).getCode()+ "_" + titleList.get(j).getCode();</div><div>// &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; out.print("titleList.get(j).getCode():"+titleList.get(j).getCode());</div><div><span style="white-space:pre">			</span>String content = dataMap.get(dateMa);//IsTurn0</div><div><span style="white-space:pre">			</span>if (content == null || "".equals(content)) {</div><div><span style="white-space:pre">				</span>content = "0";</div><div><span style="white-space:pre">			</span>}<span style="white-space:pre">																</span></div><div><span style="white-space:pre">			</span>data[i][j] = content;</div><div><span style="white-space:pre">			</span>typeAll=Integer.parseInt(content)+typeAll;</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span>BigDecimal point = new BigDecimal(0);</div><div><span style="white-space:pre">			</span>BigDecimal mcount=new BigDecimal(data[i][0]).add(new BigDecimal(data[i][1]));//满意发布件数</div><div><span style="white-space:pre">			</span>BigDecimal atotal=mcount.add(new BigDecimal(data[i][2]));//共发布件数</div><div><span style="white-space:pre">			</span>if(atotal.compareTo(new BigDecimal(0))!=0){</div><div><span style="white-space:pre">				</span>point = new BigDecimal(100).multiply(mcount.divide(atotal,2, RoundingMode.HALF_UP));</div><div><span style="white-space:pre">			</span>}</div><div><span style="white-space:pre">		</span>}</div><div></div></div></div></div><img src ="http://www.blogjava.net/17learning/aggbug/387602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2012-09-12 23:57 <a href="http://www.blogjava.net/17learning/archive/2012/09/12/387602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java读取*.properties文件</title><link>http://www.blogjava.net/17learning/archive/2012/05/17/javaproperties.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Thu, 17 May 2012 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2012/05/17/javaproperties.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/378378.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2012/05/17/javaproperties.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/378378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/378378.html</trackback:ping><description><![CDATA[<span style="font-size: 12px; "><div>1、配置文件（project.properties&nbsp;）：<br />&nbsp;&nbsp;xzql.refFilePath=www.baidu.com<br />2、读取properties文件：<br />try{</div><div>&nbsp; &nbsp; &nbsp; &nbsp; /* 创建输入流 */ &nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InputStream is = this.getClass().getClassLoader().getResourceAsStream("project.properties");&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Properties p = new Properties();</div><div>&nbsp; &nbsp; &nbsp; try {</div><div>&nbsp; &nbsp; <span style="white-space:pre">	</span> &nbsp;p.load(is); &nbsp; &nbsp; &nbsp; //Properties 对象已生成，包括文件中的数据</div><div>&nbsp; &nbsp; &nbsp; }catch(IOException e){</div><div>&nbsp; &nbsp; &nbsp; &nbsp;e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; String refFp=p.getProperty("xzql.refFilePath");<br /><br /></div></span><img src ="http://www.blogjava.net/17learning/aggbug/378378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2012-05-17 11:02 <a href="http://www.blogjava.net/17learning/archive/2012/05/17/javaproperties.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java  遍历结点</title><link>http://www.blogjava.net/17learning/archive/2011/09/27/359625.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Tue, 27 Sep 2011 08:29:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2011/09/27/359625.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/359625.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2011/09/27/359625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/359625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/359625.html</trackback:ping><description><![CDATA[<div><div>&nbsp;try {</div><div><span style="white-space:pre">			</span>File[] roots=File.listRoots();</div><div><span style="white-space:pre">			</span> &nbsp;System.out.println("Available drivers");</div><div><span style="white-space:pre">			</span> &nbsp;for(int i=0;i&lt;roots.length;i++){</div><div><span style="white-space:pre">				</span> &nbsp;System.out.println(roots[i].getAbsolutePath()+"");</div><div><span style="white-space:pre">				</span> &nbsp;System.out.println("");</div><div><span style="white-space:pre">			</span> &nbsp;}</div><div><span style="white-space:pre">			</span> &nbsp;</div><div><span style="white-space:pre">			</span> &nbsp;File path=new File(".");</div><div><span style="white-space:pre">			</span> &nbsp;String[] list;</div><div><span style="white-space:pre">			</span> &nbsp;list=path.list();</div><div><span style="white-space:pre">			</span> &nbsp;System.out.println("Files in current &nbsp;dir:");</div><div><span style="white-space:pre">			</span> &nbsp;for(int i=0;i&lt;list.length;i++){</div><div><span style="white-space:pre">				</span> &nbsp;System.out.println(list[i]);</div><div><span style="white-space:pre">			</span> &nbsp;}</div><div><span style="white-space:pre">		</span>} catch (Exception e) {</div><div><span style="white-space:pre">			</span></div><div><span style="white-space:pre">			</span>e.printStackTrace();</div><div><span style="white-space:pre">		</span>}</div></div><img src ="http://www.blogjava.net/17learning/aggbug/359625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2011-09-27 16:29 <a href="http://www.blogjava.net/17learning/archive/2011/09/27/359625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>StringBuffer中lenth()和capacity()的区别</title><link>http://www.blogjava.net/17learning/archive/2011/09/26/359555.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Mon, 26 Sep 2011 13:27:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2011/09/26/359555.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/359555.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2011/09/26/359555.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/359555.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/359555.html</trackback:ping><description><![CDATA[<div><div>初始化一个StringBuffer后，给字符串增加一个长度。&nbsp;<br />&nbsp;str.setLength(50);</div><div>&nbsp;System.out.println("---"+str.capacity());</div><div>&nbsp;System.out.println("----"+str.length());</div></div><br />当Length&gt;capacity时候，capacity=capacity+50；<br /><div>当Length&lt;=capacity时候，capacity不变；<br /><br /><br /><br /><br /></div><img src ="http://www.blogjava.net/17learning/aggbug/359555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2011-09-26 21:27 <a href="http://www.blogjava.net/17learning/archive/2011/09/26/359555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>This关键字的使用</title><link>http://www.blogjava.net/17learning/archive/2011/09/25/359442.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 25 Sep 2011 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2011/09/25/359442.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/359442.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2011/09/25/359442.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/359442.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/359442.html</trackback:ping><description><![CDATA[<div><div>package com.gxf.basic;</div><div></div><div>public class ThisDemo {</div><div>&nbsp;&nbsp; int i=1;</div><div>&nbsp;&nbsp; public ThisDemo(){</div><div><span style="white-space:pre">	</span> &nbsp; Thread thread=new Thread(){</div><div><span style="white-space:pre">		</span> &nbsp; public void run(){</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp; for(;;){</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">	</span> ThisDemo.this.run();</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">	</span> try{</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">		</span> &nbsp; sleep(1000);</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">	</span> }catch(Exception e){</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">		</span> e.printStackTrace();</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp;<span style="white-space:pre">	</span> }</div><div><span style="white-space:pre">			</span> &nbsp; &nbsp; }</div><div><span style="white-space:pre">		</span> &nbsp; }</div><div><span style="white-space:pre">	</span> &nbsp; };</div><div><span style="white-space:pre">	</span> &nbsp; thread.start();</div><div>&nbsp;&nbsp; }</div><div>&nbsp;&nbsp;public void run(){</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;System.out.println(i);</div><div><span style="white-space:pre">	</span> &nbsp; &nbsp;i++;</div><div>&nbsp;&nbsp;}&nbsp;</div><div>&nbsp;&nbsp; public static void main(String[] args) {</div><div><span style="white-space:pre">	</span>new ThisDemo();</div><div>}</div><div>}</div></div><div></div><img src ="http://www.blogjava.net/17learning/aggbug/359442.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2011-09-25 11:07 <a href="http://www.blogjava.net/17learning/archive/2011/09/25/359442.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java匿名类的使用</title><link>http://www.blogjava.net/17learning/archive/2011/09/25/359440.html</link><dc:creator>管先飞</dc:creator><author>管先飞</author><pubDate>Sun, 25 Sep 2011 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/17learning/archive/2011/09/25/359440.html</guid><wfw:comment>http://www.blogjava.net/17learning/comments/359440.html</wfw:comment><comments>http://www.blogjava.net/17learning/archive/2011/09/25/359440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/17learning/comments/commentRss/359440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/17learning/services/trackbacks/359440.html</trackback:ping><description><![CDATA[<div><div>abstract class AnonymousDemo{</div><div><span style="white-space:pre">	</span>abstract void go();</div><div>}</div><div>public class AnAnonymousDemo {</div><div>&nbsp;&nbsp; public static void main(String[] args) {</div><div>&nbsp;&nbsp; &nbsp; &nbsp; final String str="guanxianfei is great!";</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;new &nbsp;AnonymousDemo(){</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<span style="white-space:pre">	</span>void go(){</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<span style="white-space:pre">	</span>System.out.println(str);<span style="white-space:pre">	</span></div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;<span style="white-space:pre">	</span>}</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}.go();</div><div>}</div><div>}</div></div><div></div><img src ="http://www.blogjava.net/17learning/aggbug/359440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/17learning/" target="_blank">管先飞</a> 2011-09-25 10:50 <a href="http://www.blogjava.net/17learning/archive/2011/09/25/359440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>