﻿<?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-lyyb2001-随笔分类-J2EE技术</title><link>http://www.blogjava.net/lyyb2001/category/20180.html</link><description>只是为方便自己找记录而已</description><language>zh-cn</language><lastBuildDate>Tue, 19 Sep 2017 08:29:56 GMT</lastBuildDate><pubDate>Tue, 19 Sep 2017 08:29:56 GMT</pubDate><ttl>60</ttl><item><title>easyui validate对单个输入框的验证</title><link>http://www.blogjava.net/lyyb2001/archive/2017/09/19/432827.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Tue, 19 Sep 2017 07:59:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2017/09/19/432827.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/432827.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2017/09/19/432827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/432827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/432827.html</trackback:ping><description><![CDATA[表单里面先对某一个控件有效性验证(如手机号码，当手机号码输入正确，才发送验证码，最后才是对表单验证)
<div>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #3933ff;"><span style="color: #009193">&lt;</span><span style="color: #4e9192">input</span><span style="color: #000000"> </span><span style="color: #932192">type</span><span style="color: #000000">=</span>"text"<span style="color: #000000"> </span><span style="color: #932192">id</span><span style="color: #000000">=</span>"mobile"<span style="color: #000000"> </span><span style="color: #932192">name</span><span style="color: #000000">=</span>"mobile"&nbsp;<span style="color: #932192;">placeholder</span><span style="color: #000000;">=</span>"请输入您的手机号码"&nbsp;<span style="color: #932192;">class</span><span style="color: #000000;">=</span>"easyui-validatebox form-control"&nbsp;<span style="color: #932192;">data-options</span><span style="color: #000000;">=</span>"required:true,validType:'mobile'"<span style="color: #000000;"> </span><span style="color: #009193;">/&gt;</span></p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #3933ff;"><span style="color: #009193;">validateType自己扩展规则</span></p>
<div>对单个输入框的验证为：<span style="font-family: Monaco; font-size: 11px;">$(</span><span style="color: #3933ff; font-family: Monaco; font-size: 11px;">"#mobile"</span><span style="font-family: Monaco; font-size: 11px;">).validatebox(</span><span style="color: #3933ff; font-family: Monaco; font-size: 11px;">'isValid'</span><span style="font-family: Monaco; font-size: 11px;">) 通过返回true</span></div>
</div><img src ="http://www.blogjava.net/lyyb2001/aggbug/432827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2017-09-19 15:59 <a href="http://www.blogjava.net/lyyb2001/archive/2017/09/19/432827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cxf 客服端调用设置超时</title><link>http://www.blogjava.net/lyyb2001/archive/2016/12/08/432062.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Thu, 08 Dec 2016 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2016/12/08/432062.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/432062.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2016/12/08/432062.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/432062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/432062.html</trackback:ping><description><![CDATA[<p>try{</p> <p>			JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();</p> <p>			factoryBean.getInInterceptors().add(new LoggingInInterceptor());</p> <p>			factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());</p> <p>			factoryBean.setServiceClass(AutoPackServiceIntf.class);</p> <p>			factoryBean.setAddress("http://10.241.0.105:17000/TEST");</p> <p>			AutoPackServiceIntf factory = (AutoPackServiceIntf) factoryBean.create();</p> <p>			Client client = ClientProxy.getClient(factory);</p> <p>			HTTPConduit conduit = (HTTPConduit) client.getConduit();</p> <p>			HTTPClientPolicy policy = new HTTPClientPolicy();</p> <p>			policy.setConnectionTimeout(30000); 	//连接超时时间</p> <p>			policy.setReceiveTimeout(120000);	//请求超时时间.</p> <p>			conduit.setClient(policy);</p> <p>			System.out.println(factory.getFirstUnitCramp("1"));</p> <p>		}catch(WebServiceException ex){</p> <p>			long l2 = System.currentTimeMillis();</p> <p>			System.out.println((l2-l1)+"ms");</p> <p>			System.out.println("连接异常");</p> <p>		}</p><img src ="http://www.blogjava.net/lyyb2001/aggbug/432062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2016-12-08 14:19 <a href="http://www.blogjava.net/lyyb2001/archive/2016/12/08/432062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java8 stream groupingby多个条件的问题</title><link>http://www.blogjava.net/lyyb2001/archive/2016/03/22/429766.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Tue, 22 Mar 2016 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2016/03/22/429766.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/429766.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2016/03/22/429766.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/429766.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/429766.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">Map&lt;Integer,Map&lt;String,List&lt;DocLotDetail&gt;&gt;&gt; <span style="color: #7e504f">amp</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span>=&nbsp;<span style="color: #7e504f;">docLotDetailLists</span>.parallelStream().collect(Collectors.groupingBy(DocLotDetail::getGroupOrder,Collectors.groupingBy(DocLotDetail::getBaseValueName)));</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span style="color: #7e504f">amp</span>.forEach((<span style="color: #7e504f">key</span>,<span style="color: #7e504f">value</span>)-&gt;{</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre"> </span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span>System.<span style="color: #0326cc;">out</span>.println(<span style="color: #7e504f;">key</span>);</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span class="Apple-tab-span" style="white-space: pre;"> </span><span style="color: #7e504f;">value</span>.forEach((<span style="color: #7e504f;">key2</span>,<span style="color: #7e504f;">value2</span>)-&gt;{</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre"> </span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span>System.<span style="color: #0326cc;">out</span>.println(<span style="color: #7e504f;">key2</span>);</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre"> </span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span><span style="font-family: verdana, 'courier new'; font-size: 14px;">&nbsp; &nbsp;&nbsp;</span>});</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre"> </span>});</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">最终返回的结果</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">2</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">随机光盘</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">3</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">资料袋附件</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">4</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">资料盒附件</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">5</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">包装辅料</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">8</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">前工序物料</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.blogjava.net/lyyb2001/aggbug/429766.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2016-03-22 16:14 <a href="http://www.blogjava.net/lyyb2001/archive/2016/03/22/429766.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>登陆用户名的加密与解密</title><link>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423881.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Fri, 27 Mar 2015 02:50:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423881.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/423881.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/423881.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/423881.html</trackback:ping><description><![CDATA[package com.skycity.framework.utility;<br />
<div>import javax.crypto.Cipher;</div>
<div>import javax.crypto.KeyGenerator;</div>
<div>import javax.crypto.SecretKey;</div>
<div>import javax.crypto.spec.SecretKeySpec;</div>
<div><br />
</div>
<div>import sun.misc.BASE64Decoder;</div>
<div>import sun.misc.BASE64Encoder;</div>
<div><br />
</div>
<div>import com.skycity.framework.Constant;</div>
<div><br />
</div>
<div>public class EncryptUtil {</div>
<div>&nbsp; &nbsp; // 加密字符串</div>
<div>&nbsp; &nbsp; public static String encryptMode(String keybyte, String src) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; try { // 生成密钥</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SecretKey deskey = new SecretKeySpec(new BASE64Decoder().decodeBuffer(keybyte), Constant.ALGORITHM); // 加密</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cipher c1 = Cipher.getInstance(Constant.ALGORITHM);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c1.init(Cipher.ENCRYPT_MODE, deskey);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] result = c1.doFinal(src.getBytes());</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return new BASE64Encoder().encode(result);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (java.security.NoSuchAlgorithmException e1) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e1.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (javax.crypto.NoSuchPaddingException e2) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e2.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (java.lang.Exception e3) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e3.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; return null;</div>
<div>&nbsp; &nbsp; }</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp; // 解密字符串</div>
<div>&nbsp; &nbsp; public static String decryptMode(String keybyte, String encryStr) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; try { // 生成密钥</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SecretKey deskey = new SecretKeySpec(new BASE64Decoder().decodeBuffer(keybyte), Constant.ALGORITHM); // 解密</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Cipher c1 = Cipher.getInstance(Constant.ALGORITHM);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c1.init(Cipher.DECRYPT_MODE, deskey);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte[] result = c1.doFinal(new BASE64Decoder().decodeBuffer(encryStr));</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return new String(result);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (java.security.NoSuchAlgorithmException e1) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e1.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (javax.crypto.NoSuchPaddingException e2) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e2.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; } catch (java.lang.Exception e3) {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e3.printStackTrace();</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; return null;</div>
<div>&nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; //创建一个密钥</div>
<div>&nbsp; &nbsp; public static byte[] createSecretKey() {</div>
<div><span class="Apple-tab-span" style="white-space:pre">		</span>KeyGenerator keygen = null;</div>
<div><span class="Apple-tab-span" style="white-space:pre">		</span>try {</div>
<div><span class="Apple-tab-span" style="white-space:pre">			</span>keygen = KeyGenerator.getInstance(Constant.ALGORITHM);</div>
<div><span class="Apple-tab-span" style="white-space:pre">			</span>SecretKey deskey = keygen.generateKey();</div>
<div><span class="Apple-tab-span" style="white-space:pre">			</span>return deskey.getEncoded();</div>
<div><span class="Apple-tab-span" style="white-space:pre">		</span>} catch (Exception e) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">			</span>LogUtil.error("NoSuchAlgorithmException!");</div>
<div><span class="Apple-tab-span" style="white-space:pre">		</span>}</div>
<div><span class="Apple-tab-span" style="white-space:pre">		</span>return null;</div>
<div><span class="Apple-tab-span" style="white-space:pre">	</span>}</div>
<div>&nbsp; &nbsp;&nbsp;</div>
<div>&nbsp; &nbsp; public static void main(String[] args){&nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; final byte[] keyBytes = createSecretKey(); &nbsp; &nbsp;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; String key= new BASE64Encoder().encode(keyBytes);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; String szSrc = "admin";</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("加密前的字符串:" + szSrc);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; String password = encryptMode(key,szSrc);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("加密后的字符串:" + password);</div>
<div><span class="Apple-tab-span" style="white-space:pre">	</span>String result = decryptMode(key, password);</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("解密后的字符串:" + result);</div>
<div>&nbsp; &nbsp; }</div>
<div>}</div>
<div><br />
</div>
<div>数据库表中有一个字段用于保存Key，一个字段用于保存password,更改密码的时候，重新生成一个KEY,然后生成一个PASSWORD,匹配保存到数据库中。</div>
<div>当登陆时，用数据库保存的KEY和password进行解密，然后与登陆时输入的password进行比较，如果相等，则成功。</div>
<div>算法支持<span style="color: #4e9072; font-family: Monaco; font-size: 11px; line-height: normal;">AES,DES,DESede,Blowfish等算法</span></div><img src ="http://www.blogjava.net/lyyb2001/aggbug/423881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2015-03-27 10:50 <a href="http://www.blogjava.net/lyyb2001/archive/2015/03/27/423881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正则匹配</title><link>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423879.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Fri, 27 Mar 2015 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423879.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/423879.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2015/03/27/423879.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/423879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/423879.html</trackback:ping><description><![CDATA[@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #3933ff;"><span style="color: #931a68">public</span><span style="color: #000000"> </span><span style="color: #931a68">static</span><span style="color: #000000"> String </span><span style="color: #0326cc">readString</span><span style="color: #000000"> = </span>"Print([QDT],[Read([SQLServer#10.176.1.178#Mas2006],[select top 1 print_model + '.jasper' as reportname from tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])],[Read([SQLServer#10.176.1.178#Mas2006],[select&nbsp; Machine_No, Check_Code, Model_Packing, Start_Date, Material_Name, Material_No, IIPC_part_code, Material_Qty, Print_Order, Machine_Product_No, print_model, SoftWareName, SoftWare_No, SoftWareQty from dbo.tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])])"<span style="color: #000000">;</span></p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; min-height: 15px;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">	</span><span style="color: #931a68">public</span> <span style="color: #931a68">static</span> <span style="color: #931a68">void</span> splitScriptWithMethod(String <span style="color: #7e504f">script</span>) {</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #4e9072;"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">		</span></span>// check if <span style="text-decoration: underline">args</span></p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>String <span style="color: #7e504f">subMethodReg</span> = <span style="color: #3933ff">""</span>;</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #931a68">if</span>(<span style="color: #7e504f">script</span>.indexOf(<span style="color: #3933ff">"Read(["</span>) !=<span style="color: #7e504f">script</span>.lastIndexOf(<span style="color: #3933ff">"Read(["</span>)){</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #3933ff;"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">			</span></span><span style="color: #7e504f">subMethodReg</span><span style="color: #000000"> = </span>"(.+)\\(\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\],\\[(.+\\(\\[.+\\]\\))\\]"<span style="color: #000000">;</span></p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>}<span style="color: #931a68">else</span>{</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco; color: #3933ff;"><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">			</span></span><span style="color: #7e504f">subMethodReg</span><span style="color: #000000"> = </span>"(.+)\\(\\[(.+)\\],\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\]"<span style="color: #000000">;</span></p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>Pattern <span style="color: #7e504f">p</span> = Pattern.compile(<span style="color: #7e504f">subMethodReg</span>);</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>Matcher <span style="color: #7e504f">matcher</span> = <span style="color: #7e504f">p</span>.matcher(<span style="color: #0326cc">readString</span>);</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span><span style="color: #931a68">while</span> (<span style="color: #7e504f">matcher</span>.find()) {</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">			</span><span style="color: #931a68">for</span> (<span style="color: #931a68">int</span> <span style="color: #7e504f">i</span> = 1; <span style="color: #7e504f">i</span> &lt;= <span style="color: #7e504f">matcher</span>.groupCount(); <span style="color: #7e504f">i</span>++) { &nbsp;</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">	</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span style="color: #0326cc">out</span>.println(<span style="color: #3933ff">"grp "</span> + <span style="color: #7e504f">i</span> + <span style="color: #3933ff">" :"</span> + <span style="color: #7e504f">matcher</span>.group(<span style="color: #7e504f">i</span>)); &nbsp;</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">	</span>&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">		</span>}</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><span class="Apple-tab-span" style="white-space:pre">	</span>}</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;"><br />
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">grp 1 :Print</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">grp 2 :QDT</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">grp 3 :Read([SQLServer#10.176.1.178#Mas2006],[select top 1 print_model + '.jasper' as reportname from tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">
</p>
<p style="margin: 0px; font-size: 11px; line-height: normal; font-family: Monaco;">grp 4 :Read([SQLServer#10.176.1.178#Mas2006],[select&nbsp; Machine_No, Check_Code, Model_Packing, Start_Date, Material_Name, Material_No, IIPC_part_code, Material_Qty, Print_Order, Machine_Product_No, print_model, SoftWareName, SoftWare_No, SoftWareQty from dbo.tbl_mas_print_stru where Machine_No='SS110521Z8'],['@@Lang'])</p>
<div><br />
</div>
<div><span style="color: #3933ff; font-family: Monaco; font-size: 11px; line-height: normal;">其中，用于匹配(.+)\\(\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\],\\[(.+\\(\\[.+\\]\\))\\],print([],[Read([],[],[])],[Read([],[],[])])这样的结构</span></div>
<div><span style="color: #3933ff; font-family: Monaco; font-size: 11px; line-height: normal;">而(.+)\\(\\[(.+)\\],\\[(.+)\\],\\[(.+\\(\\[.+\\]\\))\\]，用于匹配print([],[],[Read([],[],[])]这样的结构</span></div><img src ="http://www.blogjava.net/lyyb2001/aggbug/423879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2015-03-27 10:41 <a href="http://www.blogjava.net/lyyb2001/archive/2015/03/27/423879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDepend学习</title><link>http://www.blogjava.net/lyyb2001/archive/2015/03/20/423658.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Fri, 20 Mar 2015 01:40:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2015/03/20/423658.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/423658.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2015/03/20/423658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/423658.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/423658.html</trackback:ping><description><![CDATA[JDepend 一个开放源代码的可以用来评价Java程序质量的优秀工具，它遍历Java class的文件目录，以Java包（package）为单位，为每一个包/类自动生成 包的依赖程度，稳定性，可靠度等的评价报告，根据这些报告，我们可以得到包或类之间的依赖关系，并分析出包的稳定程度，抽象程度，是否存在循环依赖关系 等。
<div>我们可以根据JDepend给出的报告数据，分析出我们的包是否是可靠的，稳定的，健壮的包，是否符合面向对象的设计原则。
<div>
<div>JDepend 一个开放源代码的可以用来评价Java程序质量的优秀工具，它遍历Java class的文件目录，以Java包（package）为单位，为每一个包/类自动生成 包的依赖程度，稳定性，可靠度等的评价报告，根据这些报告，我们可以得到包或类之间的依赖关系，并分析出包的稳定程度，抽象程度，是否存在循环依赖关系 等。</div>
<div>我们可以根据JDepend给出的报告数据，分析出我们的包是否是可靠的，稳定的，健壮的包，是否符合面向对象的设计原则。</div>
<div>一个具有稳定性，扩展性，可维护性的软件系统要求系统设计遵循面向对象的设计原则。一般来说，面向对象的设计原则要求满足高聚合，低耦合，禁止循环依赖等基本原则。</div>
<div>JDepend生成的Java包的质量评价报告主要包括：</div>
<div>Number of Classes and Interfaces(TC)：实现类与抽象接口的数目</div>
<div>CC:包内具体的实现类的数目</div>
<div>AC:包内抽象类和接口类的数目</div>
<div>Abstractness (A)：包的抽象度。指一个包内包含的抽象类或接口占整个包中的类的比重。即A=AC/TC,该值处于0，1之间，若A=0，说明包内不包含任何抽象类或接口；若A=1,说明包内全部是抽象类或接口。</div>
<div>Efferent Couplings (Ce)：离心耦合。被该包依赖的外部包的数目（i.e. outgoing dependencies），该数值越大，说明该包越不独立（因为依赖了别的包），也越不稳定。</div>
<div>Afferent Couplings (Ca)：向心耦合。依赖该包（包含的类）的外部包（类）的数目（i.e. incoming dependencies），该数值越大，说明该包的担当的职责越大，也就越稳定。</div>
<div>Instability (I)：衡量一个包的不稳定程度。I=Ce/(Ce+Ca)。它的值处于[0，1]之间。I=0时，没有依赖外部包，此时包是最稳定的，反之I=1，没有外部依赖&#8220;我&#8221;，则说明包极不稳定。</div>
<div>Distance from the Main Sequence (D)： 该指标主要用来评价包的抽象程度与稳定程度的平衡关系，它可以用二维直线图 A + I = 1 来表示。D=abs((A + I) - 1)，也就是说D为 一个包的抽象度 + 包的不稳定程度 - 1 的绝对值。一个理想的包是：完全抽象的（A=1,I=0），非常稳定的(I=0)，这时D=0；或者是：完全具体类构成的包（A=0,I=1），非常不稳定的 (I=1)，这时同样也有D=0。D=0说明包的抽象程度与稳定程度是平衡的，反之D=1说明包的平衡程度被严重破坏。D值越大，越需要受到关注。 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div>
<div>面向的设计原则之一The Stable Abstractions Principle (SAP)：稳定抽象等价原则指出了包的稳定程度与它的抽象程度（接口的数目）成正比，也就是说，一个包内包含的接口所占的比重越大，这个包就越稳定。</div>
</div>
</div><img src ="http://www.blogjava.net/lyyb2001/aggbug/423658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2015-03-20 09:40 <a href="http://www.blogjava.net/lyyb2001/archive/2015/03/20/423658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>freemaker select处理</title><link>http://www.blogjava.net/lyyb2001/archive/2008/12/18/247220.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Thu, 18 Dec 2008 13:59:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2008/12/18/247220.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/247220.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2008/12/18/247220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/247220.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/247220.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2008/12/18/247220.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/247220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2008-12-18 21:59 <a href="http://www.blogjava.net/lyyb2001/archive/2008/12/18/247220.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2 checkbox问题</title><link>http://www.blogjava.net/lyyb2001/archive/2008/12/16/246568.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Tue, 16 Dec 2008 02:24:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2008/12/16/246568.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/246568.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2008/12/16/246568.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/246568.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/246568.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2008/12/16/246568.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/246568.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2008-12-16 10:24 <a href="http://www.blogjava.net/lyyb2001/archive/2008/12/16/246568.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eXtremeComponents指南</title><link>http://www.blogjava.net/lyyb2001/archive/2008/03/04/183801.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Tue, 04 Mar 2008 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2008/03/04/183801.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/183801.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2008/03/04/183801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/183801.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/183801.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2008/03/04/183801.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/183801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2008-03-04 22:19 <a href="http://www.blogjava.net/lyyb2001/archive/2008/03/04/183801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>extremetable应用</title><link>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182944.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Fri, 29 Feb 2008 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182944.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/182944.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/182944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/182944.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2008/02/29/182944.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/182944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2008-02-29 15:30 <a href="http://www.blogjava.net/lyyb2001/archive/2008/02/29/182944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eXtremeComponents代码结构解读</title><link>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182917.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Fri, 29 Feb 2008 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182917.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/182917.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2008/02/29/182917.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/182917.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/182917.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2008/02/29/182917.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/182917.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2008-02-29 14:33 <a href="http://www.blogjava.net/lyyb2001/archive/2008/02/29/182917.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>导入EXCEL的方法</title><link>http://www.blogjava.net/lyyb2001/archive/2007/12/20/169181.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Thu, 20 Dec 2007 15:31:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2007/12/20/169181.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/169181.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2007/12/20/169181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/169181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/169181.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2007/12/20/169181.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/169181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2007-12-20 23:31 <a href="http://www.blogjava.net/lyyb2001/archive/2007/12/20/169181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp读取excel表中的内容</title><link>http://www.blogjava.net/lyyb2001/archive/2007/03/29/107287.html</link><dc:creator>skycity</dc:creator><author>skycity</author><pubDate>Thu, 29 Mar 2007 09:43:00 GMT</pubDate><guid>http://www.blogjava.net/lyyb2001/archive/2007/03/29/107287.html</guid><wfw:comment>http://www.blogjava.net/lyyb2001/comments/107287.html</wfw:comment><comments>http://www.blogjava.net/lyyb2001/archive/2007/03/29/107287.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/lyyb2001/comments/commentRss/107287.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lyyb2001/services/trackbacks/107287.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/lyyb2001/archive/2007/03/29/107287.html'>阅读全文</a><img src ="http://www.blogjava.net/lyyb2001/aggbug/107287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lyyb2001/" target="_blank">skycity</a> 2007-03-29 17:43 <a href="http://www.blogjava.net/lyyb2001/archive/2007/03/29/107287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>