﻿<?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>IT博客-魔のkyo的工作室-随笔分类-JAVA</title><link>http://cnitblog.com/luckydmz/category/7566.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 03 Apr 2019 07:30:13 GMT</lastBuildDate><pubDate>Wed, 03 Apr 2019 07:30:13 GMT</pubDate><ttl>60</ttl><item><title>在Spring Boot构建的项目中如何在代码任意位置执行任意的SQL</title><link>http://www.cnitblog.com/luckydmz/archive/2018/01/16/90855.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Tue, 16 Jan 2018 03:57:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2018/01/16/90855.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90855.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2018/01/16/90855.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90855.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90855.html</trackback:ping><description><![CDATA[按照之前Struts + Spring + Hibernate的项目经验，可以通过Hibernate的sessionFactory创建SQL，而sessionFactory可以从applicationContext通过getBean得到，因为sessionFactory肯定声明在了applicationContext.xml中。<br />
在Spring Boot构建的项目中没有applicationContext.xml所以需要别的方法，我的思路还是想办法找到sessionFactory，方法如下：<br />
先创建这样一个文件<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.jm.ims.config;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.persistence.EntityManagerFactory;<br />
<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.boot.autoconfigure.EnableAutoConfiguration;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.context.annotation.Bean;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.context.annotation.Configuration;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.data.jpa.repository.config.EnableJpaAuditing;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.data.jpa.repository.config.EnableJpaRepositories;<br />
</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;org.springframework.orm.jpa.vendor.HibernateJpaSessionFactoryBean;<br />
<br />
@Configuration<br />
@EnableAutoConfiguration<br />
@EnableJpaAuditing<br />
@EnableJpaRepositories<br />
</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;HibernateConfig&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Bean<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;HibernateJpaSessionFactoryBean&nbsp;sessionFactory(EntityManagerFactory&nbsp;emf)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HibernateJpaSessionFactoryBean&nbsp;fact&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;HibernateJpaSessionFactoryBean();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fact.setEntityManagerFactory(emf);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000;">&nbsp;fact;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
</span></div>
<br />
在其他地方就可以直接使用<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;@Autowired<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;SessionFactory&nbsp;sessionFactory;</span></div>
得到sessionFactory<br />
<br />
上面的代码在我的项目里可以正常工作，但是后来发现更简单的方法是直接使用<br />
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;@PersistenceContext<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000;">&nbsp;EntityManager&nbsp;entityManager;</span></div>得到entityManager后就可以createNativeQuery和createQuery<img src ="http://www.cnitblog.com/luckydmz/aggbug/90855.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2018-01-16 11:57 <a href="http://www.cnitblog.com/luckydmz/archive/2018/01/16/90855.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从request(HttpServletRequest)中获取url的各个成分，拼接成url</title><link>http://www.cnitblog.com/luckydmz/archive/2016/03/08/90386.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Tue, 08 Mar 2016 03:00:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/03/08/90386.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90386.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/03/08/90386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90386.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90386.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;url&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;request.getScheme()</span><span style="color: #000000; ">+</span><span style="color: #000000; ">"</span><span style="color: #000000; ">://</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">request.getServerName();<br />
</span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(request.getServerPort()&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">80</span><span style="color: #000000; ">)&nbsp;{<br />
</span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">:</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">request.getServerPort();&nbsp;<br />
</span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;request.getContextPath();<br />
</span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;request.getServletPath();<br />
</span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(request.getQueryString()&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />
</span><span style="color: #008080; ">8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;</span><span style="color: #000000; ">+=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">?</span><span style="color: #000000; ">"</span><span style="color: #000000; ">+</span><span style="color: #000000; ">request.getQueryString();<br />
</span><span style="color: #008080; ">9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
url:http://127.0.0.1/qipei/orders.do?p=listOrdersByPage<br />request.getScheme():http<br />request.getServerName():127.0.0.1<br />request.getServerPort():80<br />request.getContextPath():/qipei<br />request.getServletPath():/orders.do<br />request.getQueryString():p=listOrdersByPage<br /><br />注意<br />1. contextPath和servletPath都是以'/'开头的，所以拼接时不需要再加'/'。特别地，当网站部署在ROOT目录时，contextPath是空字符串<br />2. 当没有queryString时，getQueryString返回null而不是空字符串，没有以'?'开头，需要自己加。<img src ="http://www.cnitblog.com/luckydmz/aggbug/90386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-03-08 11:00 <a href="http://www.cnitblog.com/luckydmz/archive/2016/03/08/90386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Spring框架中配置Quartz</title><link>http://www.cnitblog.com/luckydmz/archive/2016/02/01/90364.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Mon, 01 Feb 2016 04:39:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/02/01/90364.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90364.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/02/01/90364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90364.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90364.html</trackback:ping><description><![CDATA[applicationContext.xml
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;Job&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="couponExpiringNoticeJob"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="com.ff.job.CouponExpiringNoticeJob"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;定义目标bean和bean中的方法&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="springQtzJobMethod"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="targetObject"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">ref&nbsp;</span><span style="color: #FF0000; ">bean</span><span style="color: #0000FF; ">="couponExpiringNoticeJob"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="targetMethod"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;要执行的方法名称&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">value</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">execute</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">value</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">bean</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;调度触发器&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="cronTriggerBean"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="org.springframework.scheduling.quartz.CronTriggerBean"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="jobDetail"</span><span style="color: #FF0000; ">&nbsp;ref</span><span style="color: #0000FF; ">="springQtzJobMethod"</span><span style="color: #0000FF; ">&gt;&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="cronExpression"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="0&nbsp;46&nbsp;10&nbsp;*&nbsp;*&nbsp;?"</span><span style="color: #0000FF; ">&gt;&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">bean</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;调度工厂&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="springJobSchedulerFactoryBean"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="org.springframework.scheduling.quartz.SchedulerFactoryBean"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">property&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="triggers"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">list</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">ref&nbsp;</span><span style="color: #FF0000; ">bean</span><span style="color: #0000FF; ">="cronTriggerBean"</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">list</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">property</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">bean</span><span style="color: #0000FF; ">&gt;</span></div>
<br />
java<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.ff.job;<br /><br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.util.Date;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;CouponExpiringNoticeJob&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;execute()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">long</span><span style="color: #000000; ">&nbsp;ms&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;System.currentTimeMillis();&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\t\t</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">+</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;Date(ms));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span></div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-02-01 12:39 <a href="http://www.cnitblog.com/luckydmz/archive/2016/02/01/90364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决JSP中文乱码</title><link>http://www.cnitblog.com/luckydmz/archive/2016/01/16/90347.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Sat, 16 Jan 2016 09:42:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/01/16/90347.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90347.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/01/16/90347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90347.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90347.html</trackback:ping><description><![CDATA[<div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="background-color: inherit;">要解决中文乱码首先要清楚有哪些地方可以指定编码，最简单粗暴的方式就是把所有可以指定编码的地方都指定成统一的编码比如utf-8，如果不指定成统一的也要清楚知道在每个步骤中编码是什么格式，以便从一个步骤到另一个步骤时正确转换编码。</div><div style="background-color: inherit;"></div><div style="background-color: inherit;">有以下这些地可以分别决定编码格式</div><div style="background-color: inherit;">&#183;JSP文件实际保存的编码</div><div style="background-color: inherit;">&#183;告知web容器JSP文件保存的编码</div><div style="background-color: inherit;">&#183;告知web容器通过POST方式提交的内容编码</div><div style="background-color: inherit;">&#183;告知web容器通过GET方式提交的内容编码</div><div style="background-color: inherit;">&#183;告知浏览器服务器返回的页面内容编码</div><div style="background-color: inherit;"></div><div style="background-color: inherit;"><strong><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">&#183;JSP文件实际保存的编码</span></strong></div><div style="background-color: inherit;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">一般编辑器保存时都可以指定，这个没什么好说的，中文系统默认的ANSI是GB2312格式，很多编辑器默认使用这个，也有一些编辑器默认UTF-8，UTF-8是扩展性比较强的编码，包含中文日文韩文，它的设计上的扩展性使得它没有最大编码容量，是比较好的编码格式。</span></div><div style="background-color: inherit;"><br /></div><div style="background-color: inherit;"><strong><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">&#183;告知web容器JSP文件保存的编码</span></strong></div><div style="background-color: inherit;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">通过在JSP的头部写上</span></div><div style="background-color: inherit;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&lt;%</span><span style="color: #000000; ">@&nbsp;page&nbsp;language</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java.util.*</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;pageEncoding</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">UTF-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%&gt;</span></div><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;"></span></span></div><div style="background-color: inherit;">在MyEclipse中可以修改JSP创建模板中pageEncoding的编码，Window-Preferences-MyEclipse-Files and Editors-JSP</div><div style="background-color: inherit;">修改Encoding为ISO 10646/Unicode(UTF-8)</div></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br /></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><strong><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">&#183;告知web容器通过POST方式提交的内容编码</span></strong></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">和</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;"><strong><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">&#183;告知浏览器服务器返回的页面内容编码</span></strong><br style="background-color: inherit;" /></span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">分别是通过JSP中request和response对象的<span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">setCharacterEncoding方法完成</span></span></span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">可以通过在<span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">WEB-INF/</span><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">web.xml文件中添加</span><span style="background-color: inherit; line-height: 1.5;">Filter来完成</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">在web-app下级添加</div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;配置过滤器&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">filter</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">filter-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">filter</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">filter-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">filter-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">com.ff.filter.MyFilter</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">filter-class</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">filter</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">filter-mapping</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">filter-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">filter</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">filter-name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">url-pattern</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">/*</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">url-pattern</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">filter-mapping</span><span style="color: #0000FF; ">&gt;</span></div></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">com/ff.filter/MyFilter.java<br /><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;com.ff.filter;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;java.io.IOException;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.Filter;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.FilterChain;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.FilterConfig;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.ServletException;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.ServletRequest;<br /></span><span style="color: #0000FF; ">import</span><span style="color: #000000; ">&nbsp;javax.servlet.ServletResponse;<br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;MyFilter&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;Filter&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;destroy()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;doFilter(ServletRequest&nbsp;request,&nbsp;ServletResponse&nbsp;response,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FilterChain&nbsp;chain)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException,&nbsp;ServletException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setCharacterEncoding(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setCharacterEncoding(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">text/html;charSet=utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">和上面一句是等效的，但是据说在某些低版本的Servlet中上面一句无效</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chain.doFilter(request,&nbsp;response);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;init(FilterConfig&nbsp;arg0)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;ServletException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</span></div><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;"><br /></span></div><br /><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">&#183;告知web容器通过GET方式提交的内容编码</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">在Tomcat服务器的server.xml配置中指定<span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">URIEncoding="UTF-8"</span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">Connector&nbsp;</span><span style="color: #FF0000; ">port</span><span style="color: #0000FF; ">="80"</span><span style="color: #FF0000; ">&nbsp;protocol</span><span style="color: #0000FF; ">="HTTP/1.1"</span><span style="color: #FF0000; ">&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URIEncoding</span><span style="color: #0000FF; ">="UTF-8"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connectionTimeout</span><span style="color: #0000FF; ">="20000"</span><span style="color: #FF0000; ">&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;redirectPort</span><span style="color: #0000FF; ">="8443"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br />最后有一点补充，就是在下载文件的文件名中如果包含中文，通过</div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">response.setHeader("Content-Disposition",&nbsp;"attachment;&nbsp;filename=\"&nbsp;+&nbsp;fileNameISO&nbsp;+&nbsp;"\""&nbsp;);</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">指定的时候似乎不得不使用ISO8859-1，我还不知道如何将这里的编码设置改掉，所以下载文件名中包含中文时使用以下方法解决</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">&#183;指定下载文件名包含中文</div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">在指定下载文件名时如果要通过<span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">Content-Disposition</span>指定带有中文字符的文件名，必须转换成<span style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-weight: normal;">ISO8859-1编码来指定。</span></div><div style="background-color: #ffffff; color: #000000; font-family: 微软雅黑; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">String&nbsp;fileNameISO&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">new</span><span style="color: #000000; ">&nbsp;String(fileName.getBytes(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">),&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">ISO8859-1</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />response.setHeader(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Content-Disposition</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">attachment;&nbsp;filename=\</span><span style="color: #000000; ">""</span><span style="color: #000000; ">&nbsp;+&nbsp;fileNameISO&nbsp;+&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">\</span><span style="color: #000000; ">""</span><span style="color: #000000; ">&nbsp;);</span></div></div></div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-01-16 17:42 <a href="http://www.cnitblog.com/luckydmz/archive/2016/01/16/90347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate关联映射</title><link>http://www.cnitblog.com/luckydmz/archive/2016/01/13/90344.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Wed, 13 Jan 2016 06:34:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2016/01/13/90344.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/90344.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2016/01/13/90344.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/90344.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/90344.html</trackback:ping><description><![CDATA[<div><strong>多对一关联映射</strong>（基于<strong>外键</strong>的形式，并不一定要在数据库中真的建立外键约束）<br />&lt;many-to-one name="属性名" column="本表中的列名" class="对应表映射成的类名" /&gt;<br />本表中的列应该是对应表的主键。如果数据库中建立了外键约束似乎可以不配置class<br />例: 一个管理员属于一个角色，一个角色可以有多个管理员<br />&lt;hibernate-mapping&gt;<br />&nbsp; &lt;class name="com.hsg.pojos.Manager" table="Manager" catalog="qipei" schema="dbo"&gt;<br />&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp; &lt;many-to-one name="role" column="roleId" class="com.hsg.pojos.Role" cascade="none" /&gt;<br />&nbsp; &lt;/class&gt;<br />&lt;/hibernate-mapping&gt;<br /><br /><strong>多对多关联映射</strong>（基于<strong>关系表</strong>）<br />&lt;set name="属性名" table="关系表名" &gt;<br />&nbsp; &lt;key column="关系表中的列名（本表的主键）" &gt;&lt;/key&gt;<br />&nbsp; &lt;many-to-many column="对应表的主键在关系表中的列名" class="对应表映射成的类名"/&gt;<br />&lt;/set&gt;<br />例：一个角色有多个权限，一个权限可以赋予多个角色<br />&lt;hibernate-mapping&gt;<br />&nbsp; &lt;class name="com.hsg.pojos.Role" table="Role" catalog="qipei" schema="dbo"&gt;<br />&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp; &lt;set name="privileges" inverse="false" cascade="none" table="RolePrivilege" &gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column="roleId" &gt;&lt;/key&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;many-to-many column="privilegeId" class="com.hsg.pojos.Privilege"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/set&gt;<br />&nbsp; &lt;/class&gt;<br />&lt;/hibernate-mapping&gt;<br /><br /><strong>一对多关联映射</strong>（基于<strong>外键</strong>的形式，并不一定要在数据库中真的建立外键约束）<br />&lt;set name="属性名"&gt;<br />&nbsp; &lt;key column="对应表中的列名（本表的主键）" &gt;&lt;/key&gt;<br />&nbsp; &lt;one-to-many class="对应表映射成的类名" /&gt;<br />&lt;/set&gt;<br />例：一个产品有多张图片，一张图片只属于一个产品<br />&lt;hibernate-mapping&gt;<br />&nbsp; &lt;class name="com.hsg.pojos.Product" table="Product" catalog="qipei" schema="dbo"&gt;<br />&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp; &lt;set name="images" lazy="false" inverse="false" cascade="all"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;key column="productId" &gt;&lt;/key&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;one-to-many class="com.hsg.pojos.ProductImage" /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/set&gt;<br />&nbsp; &lt;/class&gt;<br />&lt;/hibernate-mapping&gt;<br /><br /><strong>一对一关联映射</strong><br />&lt;one-to-one name="属性名" class="对应表映射成的类名" property-ref="本表的主键在对应表映射成的类中的属性"/&gt;<br />例:经销商是一种特殊的仓库，一个经销商对应一个仓库，一个仓库至多对应一个经销商<br />&lt;hibernate-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;class name="com.hsg.pojos.Distributor" table="Distributor" schema="dbo" catalog="qipei"&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;...<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;one-to-one name="repertory" class="com.hsg.pojos.Repertory" property-ref="id" constrained="true" cascade="all" lazy="false" fetch="join"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/class&gt;<br />&lt;/hibernate-mapping&gt;<br /><br />constrained: 双向关联时一定要把constrained="true"。<br />property-ref: 如果property-ref是表的主键可以省略。<br />inverse: 谁来维护关系，无论是外键还是关系表，谁来维护谁负责更新，false表示自己维护，true表示对方维护。<br />cascade: 对属性内容的修改是不是要更新到对应的表中。<br />例如角色会添加或减少权限，但不会也不应该通过角色修改权限的名字，所以这里在角色的映射关系配置中inverse="false" cascade="none"<br />也正因为cascade="none"只有关系会得到维护，所以可以在添加权限的时候只给Privilege的id赋值即可<br />role.getPrivileges().add(new Privilege(privilegeId)); //这样关系表是可以正常被维护的，而Privielge表的内容不会被修改。<br /><br /></div><img src ="http://www.cnitblog.com/luckydmz/aggbug/90344.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2016-01-13 14:34 <a href="http://www.cnitblog.com/luckydmz/archive/2016/01/13/90344.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA中的高精度实数——BigDecimal</title><link>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48729.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Thu, 04 Sep 2008 16:23:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48729.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/48729.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/48729.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/48729.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.math.BigDecimal;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">高精度实数</span><span style="COLOR: #008000"><br>/*</span><span style="COLOR: #008000"><br>构造器<br>BigDecimal(double&nbsp;val)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translates&nbsp;a&nbsp;double&nbsp;into&nbsp;a&nbsp;BigDecimal.&nbsp;<br>BigDecimal(String&nbsp;val)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translates&nbsp;the&nbsp;String&nbsp;repre&nbsp;sentation&nbsp;of&nbsp;a&nbsp;BigDecimal&nbsp;into&nbsp;a&nbsp;BigDecimal.<br><br>常用方法<br>a.add(b);<br>a.subtract(b);<br>a.multiply(b);<br>a.divide(b,scale,BigDecimal.ROUND_HALF_UP);<br>a.compareTo(b);<br>a.doubleValue();<br>a.toString();<br></span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Main{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;Scanner&nbsp;cin</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Scanner(System.in);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;BigDecimal&nbsp;ONE</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BigDecimal(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BigDecimal&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BigDecimal(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1.000</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BigDecimal&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BigDecimal(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2.1111111111111111111111111111111111111111111</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a.multiply(b);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">a.divide(ONE,</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">,BigDecimal.ROUND_HALF_UP);</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">四舍五入到小数点后10位</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(b.toString());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(a.compareTo(b)</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&lt;b</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a&gt;=b</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<img src ="http://www.cnitblog.com/luckydmz/aggbug/48729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2008-09-05 00:23 <a href="http://www.cnitblog.com/luckydmz/archive/2008/09/05/48729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java中的大整数——BigInteger</title><link>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48728.html</link><dc:creator>魔のkyo</dc:creator><author>魔のkyo</author><pubDate>Thu, 04 Sep 2008 16:22:00 GMT</pubDate><guid>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48728.html</guid><wfw:comment>http://www.cnitblog.com/luckydmz/comments/48728.html</wfw:comment><comments>http://www.cnitblog.com/luckydmz/archive/2008/09/05/48728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/luckydmz/comments/commentRss/48728.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/luckydmz/services/trackbacks/48728.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.math.BigInteger;<br></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br>构造器<br>BigInteger(String&nbsp;val)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将&nbsp;BigInteger&nbsp;的十进制字符串表示形式转换为&nbsp;BigInteger<br>BigInteger(String&nbsp;val,&nbsp;int&nbsp;radix)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将指定基数的&nbsp;BigInteger&nbsp;的字符串表示形式转换为&nbsp;BigInteger<br><br>常用方法<br>add,subtract,multiply,divide,intValue,toString<br>BigInteger&nbsp;remainder(BigInteger&nbsp;val)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回其值为&nbsp;(this&nbsp;%&nbsp;val)&nbsp;的&nbsp;BigInteger&nbsp;<br>BigInteger&nbsp;negate()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;返回其值是&nbsp;(-this)&nbsp;的&nbsp;BigInteger&nbsp;<br>int&nbsp;compareTo(BigInteger&nbsp;val)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将此&nbsp;BigInteger&nbsp;与指定的&nbsp;BigInteger&nbsp;进行比较<br><br></span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Main{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000">&nbsp;Scanner&nbsp;cin</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Scanner(System.in);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(cin.hasNext()){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str1</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cin.next(),str2</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">cin.next();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BigInteger&nbsp;a</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BigInteger(str1),b</span><span style="COLOR: #000000">=</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BigInteger(str2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(a.add(b));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span></div>
<img src ="http://www.cnitblog.com/luckydmz/aggbug/48728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/luckydmz/" target="_blank">魔のkyo</a> 2008-09-05 00:22 <a href="http://www.cnitblog.com/luckydmz/archive/2008/09/05/48728.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>