<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ChenTaoqian&#039;s Blog &#187; 计算机</title>
	<atom:link href="http://www.chentaoqian.com/archives/category/compute/feed" rel="self" type="application/rss+xml" />
	<link>http://www.chentaoqian.com</link>
	<description>主机,企业邮箱,域名,空间,服务器,Java,Oracle,PHP,Linux,JS,MySQL,Apache</description>
	<lastBuildDate>Wed, 30 Nov 2011 14:35:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Javascript跨域和Ajax跨域解决方案</title>
		<link>http://www.chentaoqian.com/archives/788</link>
		<comments>http://www.chentaoqian.com/archives/788#comments</comments>
		<pubDate>Sat, 02 Jul 2011 08:46:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[跨域]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=788</guid>
		<description><![CDATA[ajax跨域和JS的跨域通信(Cross The Site)的几种解决方案
最近做的一个项目中需要ajax跨域取得数据,如果是在本域中确实没有问题，但是放到二级域和其他域下浏览器直接就弹出提示框:“该页正在访问其控制范围之外的数据，这有些危险，是否继续”
1.什么引起了ajax跨域不能的问题
ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互，而浏览器出于安全考虑，不允许js代码进行跨域操作，所以会警告。
2.有什么完美的解决方案么？
没有。解决方案有不少，但是只能是根据自己的实际情况来选择。
具体情况有:
一、本域和子域的相互访问: www.aa.com和book.aa.com
二、本域和其他域的相互访问: www.aa.com和www.bb.com 用 iframe
三、本域和其他域的相互访问: www.aa.com和www.bb.com 用 XMLHttpRequest访问代理
四、本域和其他域的相互访问: www.aa.com和www.bb.com 用 JS创建动态脚本
解决方法：
一、
如果想做到数据的交互，那么www.aa.com和book.aa.com必须由你来开发才可以。可以将book.aa.com用iframe添加到
www.aa.com的某个页面下,在www.aa.com和iframe里面都加上document.domain =
“aa.com”，这样就可以统一域了，可以实现跨域访问。就和平时同一个域中镶嵌iframe一样，直接调用里面的JS就可以了。（这个办法我没有尝
试，不过理论可行）
二、当两个域不同时,如果想相互调用，那么同样需要两个域都是由你来开发才可以。用iframe可以实现数据的互相调用。解决方案就是用window.location对象的hash属性。hash属性就是http://domian/web/a.htm#dshakjdhsjka
里面的#dshakjdhsjka。利用JS改变hash值网页不会刷新，可以这样实现通过JS访问hash值来做到通信。不过除了IE之外其他大部分浏
览器只要改变hash就会记录历史，你在前进和后退时就需要处理，非常麻烦。不过再做简单的处理时还是可以用的，具体的代码我再下面有下载。大体的过程是
页面a和页面b在不同域下,b通过iframe添加到a里，a通过JS修改iframe的hash值，b里面做一个监听（因为JS只能修改hash，数据
是否改变只能由b自己来判断），检测到b的hash值被修改了，得到修改的值，经过处理返回a需要的值，再来修改a的hash值（这个地方要注意，如果a
本身是那种查询页面的话比如http://domian/web/a.aspx?id=3,在b中直接parent.window.location是无法取得数据的，同样报没有权限的错误，需要a把这个传过来，所以也比较麻烦），同样a里面也要做监听，如果hash变化的话就取得返回的数据，再做相应的处理。
三、
这种情形是最经常遇到的，也是用的最多的了。就是www.aa.com和www.bb.com你只能修改一个，也就是另外一个是别人的，人家告诉你你要取
得数据就访问某某连接参数是什么样子的，最后返回数据是什么格式的。而你需要做的就是在你的域下新建一个网页，让服务器去别人的网站上取得数据，再返回给
你。domain1下的a向同域下的GetData.aspx请求数据，GetData.aspx向domain2下的
ResponseData.aspx发送请求,ResponseData.aspx返回数据给GetData.aspx,
GetData.aspx再返回给a,这样就完成了一次数据请求。GetData.aspx在其中充当了代理的作用。具体可以看下我的代码。
四、
这个和上个的区别就是请求是使用&#60;script&#62;标签来请求的，这个要求也是两个域都是由你来开发才行。原理就是JS文件注入，在本域内的a
内生成一个JS标签，它的SRC指向请求的另外一个域的某个页面b，b返回数据即可，可以直接返回JS的代码。因为script的src属性是可以跨域
的。具体看代码，这个也比较简单。
code:
http://www.live-share.com/files/300697/Cross_The_Site_Test_code.rar.html
总结：
第一种情况：域和子域的问题，可以完全解决交互。
第二种情况：跨域，实现过程非常麻烦，需要两个域开发者都能控制，适用于简单交互。
第三种情况：跨域，开发者只控制一个域即可，实现过程需要增加代理取得数据，是常用的方式。
第四种情况：跨域，两个域开发者都需要控制，返回一段js代码。
PS:代码自己按照情况修改即可。
这是拿别人的参考链接，老美的文章比较多。
1. Security Considerations: Dynamic HTML
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/sec_dhtml.asp
2. About Cross-Frame Scripting and Security
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/xframe_scripting_security.asp
3. Cross-Domain Proxy
http://ajaxpatterns.org/Cross-Domain_Proxy
4. Cross Domain XMLHttpRequest using an IFrame Proxy
http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book75
5. Back Button Support for Atlas UpdatePanels
http://www.nikhilk.net/BackButtonSupport.aspx
6. Cross-document messaging hack
http://blog.monstuff.com/archives/000304.html
7. Building Mash-ups with “Atlas”
http://atlas.asp.net/docs/Walkthroughs/DevScenarios/bridge.aspx
8. Calling web services hosted outside of your application with “Atlas”
http://blogs.msdn.com/federaldev/archive/2006/07/31/684229.aspx
http://www.federaldeveloper.com/Shared%20Documents/Presentations%20by%20Marc%
20Schweigert/CallAtlasWebServiceInDifferentProject.zip
9. [...]]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/788/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>动态加载JS脚本的4种方法</title>
		<link>http://www.chentaoqian.com/archives/779</link>
		<comments>http://www.chentaoqian.com/archives/779#comments</comments>
		<pubDate>Wed, 09 Mar 2011 05:20:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/archives/779</guid>
		<description><![CDATA[1、直接document.write
&#60;script language=&#8221;javascript&#8221;&#62;
document.write(&#8220;&#60;script src=&#8217;test.js&#8217;&#62;&#60;\/script&#62;&#8221;);
&#60;/script&#62;
2、动态改变已有script的src属性
&#60;script src=&#8221; id=&#8221;s1&#8243;&#62;&#60;/script&#62;
&#60;script language=&#8221;javascript&#8221;&#62;
s1.src=&#8221;test.js&#8221;
&#60;/script&#62;
3、动态创建script元素
&#60;script&#62;
var oHead = document.getElementsByTagName(&#8216;HEAD&#8217;).item(0);
var oScript= document.createElement(&#8220;script&#8221;);
oScript.type = &#8220;text/javascript&#8221;;
oScript.src=&#8221;test.js&#8221;;
oHead.appendChild( oScript);
&#60;/script&#62;
这三种方法都是异步执行的，也就是说，在加载这些脚本的同时，主页面的脚本继续运行，如果用以上的方法，那下面的代码将得不到预期的效果。
要动态加载的JS脚本：a.js，以下是该文件的内容。
var str = &#8220;中国&#8221;;
alert( &#8220;这是a.js中的变量：&#8221; + str );
主页面代码：
&#60;script language=&#8221;JavaScript&#8221;&#62;
function LoadJS( id, fileUrl )
{
var scriptTag = document.getElementById( id );
var oHead = document.getElementsByTagName(&#8216;HEAD&#8217;).item(0);
var oScript= document.createElement(&#8220;script&#8221;);
if ( scriptTag ) oHead.removeChild( scriptTag );
oScript.id = id;
oScript.type = &#8220;text/javascript&#8221;;
oScript.src=fileUrl ;
oHead.appendChild( oScript);
}
LoadJS( &#8220;a.js&#8221; );
alert( &#8220;主页面动态加载a.js并取其中的变量：&#8221; + str );
&#60;/script&#62;
上述代码执行后 a.js [...]]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/779/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSP实现URL中文编码</title>
		<link>http://www.chentaoqian.com/archives/775</link>
		<comments>http://www.chentaoqian.com/archives/775#comments</comments>
		<pubDate>Sun, 08 Aug 2010 10:48:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JSP]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[编码]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=775</guid>
		<description><![CDATA[URL中传中文字符是件头疼事，本身URL不支持中文字符，但有些情况下又不得不传中文字当参数，若直接把中文字加上去，获取后势必会是乱码，这该怎么办呢？幸好JAVA提供一个URL中字符编码转换的API&#8211;URLEncoder，下面给段使用范例：
public class Common{
public static String encode(String s) {
try {
return URLEncoder.encode(s,JspRunConfig.CHARSET);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return s;
}
public static String decode(String s) {
try {
return URLDecoder.decode(s,JspRunConfig.CHARSET);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return s;
}
}
使用时，如果不做任何处理就直接传递，中文也许没有问题（但不保证），但空格肯定会有问题，到接收页面无法识别。
解决办法1：Common.encode(sContent,&#8221;utf-8&#8243;); 然后再传递。比如url是&#8221;accept.jsp?content=&#8221;+sContent;
读取时，使用
String sc = request.getParameter(&#8220;content&#8221;);
sc = new String(sc.getBytes(&#8220;iso-8859-1&#8243;),&#8221;utf-8&#8243;);
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/775/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关注wap用户-删除JSP编译后的空行</title>
		<link>http://www.chentaoqian.com/archives/772</link>
		<comments>http://www.chentaoqian.com/archives/772#comments</comments>
		<pubDate>Sun, 08 Aug 2010 07:54:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JSP]]></category>
		<category><![CDATA[wap]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=772</guid>
		<description><![CDATA[wap用户不同于HTTP用户，对于他们小小的屏幕来说，每一行都是很宝贵的，任何一行无效的空行都会导致用户体验差。对于这种情况该如何呢？
方案1.在Tomcat安装目录/conf/web.xml中找到名叫&#8221;jsp&#8221;的servlet，添加下面一段代码：
&#60;init-param&#62;
&#60;param-name&#62;trimSpaces&#60;/param-name&#62;
&#60;param-value&#62;true&#60;/param-value&#62;
&#60;/init-param&#62;
添加代码后删除work缓存
方案2.&#60;%@ page trimDirectiveWhitespaces=&#8221;true&#8221; %&#62;每个页面加上,此方法最有效,但是比较麻烦
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/772/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3种方式轻松解决administrator帐户不在用户登录内(windows xp)</title>
		<link>http://www.chentaoqian.com/archives/770</link>
		<comments>http://www.chentaoqian.com/archives/770#comments</comments>
		<pubDate>Sat, 31 Jul 2010 00:53:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=770</guid>
		<description><![CDATA[安装Windows XP时，如果设置了一个管理员账户，那么系统内置没有密码保护的Administrator管理员账户是不会出现在用户登录列表中的。虽然它身在幕后，可却拥有系统最高权限，为了方便操作及保证系统安全，可以先给它设置密码，然后再把它请到台前来。以下便介绍具体方法。
1.使用“传统登录提示”登录
启动系统到欢迎屏幕时，按两次“Ctrl+Alt+Delete”组合键，在出现的登录框中输入Administrator账户的用户名和密码即可。也可以单击“开始→控制面板”，双击“用户账号”图标，在弹出的“用户账号”窗口中，单击“更改用户登录或注销的方式”，去掉“使用欢迎屏幕”前的复选框，单击“应用选项”即可在启动时直接输入Administrator账户名及密码登录。

2.在登录的欢迎屏幕显示Administrator账户
单击“开始→运行”，输入regedit后回车，打开注册表编辑器，依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList”分支，将右边的Administrator的值改为1，即可让Administrator账户出现在登录的欢迎屏幕上。
3.自动登录到Administrator账户
单击“开始→运行”，输入control userpasswords2后回车，在打开的“用户账户”窗口去掉“要使用本机，用户必须输入密码”前的复选框，按“应用”后，在弹出的“自动登录”窗口中输入Administrator账户密码(如图1)，按两次“确定”即可。注意：如果原来就设置了其它账户自动登录，应该先选中“要使用本机，用户必须输入密码”前的复选框，按“应用”后再去掉选中的复选框。也可以修改注册表实现自动登录，不过没有以上方法方便。
当然，如果不需要Administrator账户，可以依次打开“开始→控制面板→管理工具→计算机管理”，在“计算机管理”窗口，展开“系统工具→本地用户和组→用户”，在“用户”右边窗口双击Administrator账户，在弹出的“属性”窗口中选中“账号已停用”前的复选框(如图2)，按“确定”即可停用Administrator账户。
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/770/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2种方式轻松解决windows系统自动登录</title>
		<link>http://www.chentaoqian.com/archives/768</link>
		<comments>http://www.chentaoqian.com/archives/768#comments</comments>
		<pubDate>Sat, 31 Jul 2010 00:51:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[登录]]></category>
		<category><![CDATA[自动]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=768</guid>
		<description><![CDATA[如何使系统自动登录的方法
1.control userpasswords2
2.  开始\运行输入Regedit进入hkey_local_machine\software\microsoft\windows nt\currentversion\winlogon主键下，单击“编辑”菜单的“新建”命令添加新值，数值名称为“defaultusername”，数据类型为字串值。然后双击该键，当出现“字符串编辑器”对话框时，在“字符串”文本框中将键值改为“administrator”或某超级用户。同理再添加一个名称为“defaultpassword”的字串值键，并将其值改为你的登录密码，最后再双击“autoadminlogon”数值的名称，将这个数据类型为reg_sz的键值改为1。退出注册表编辑器，重新启动就可大功告成。如果你某次突然不想让系统自动以“administrator”的身份登录的话，只要在启动时同时按住shift键就可以了!
开始\运行
Regedit
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
&#8220;DefaultUserName&#8221;=&#8221;Administrator&#8221;
&#8220;DefaultDomainName&#8221;=&#8221;domain&#8221;
&#8220;PowerdownAfterShutdown&#8221;=&#8221;1&#8243;
&#8220;DefaultPassWord&#8221;=&#8221;XXXX&#8221;
&#8220;AutoAdminLogon&#8221;=&#8221;1&#8243;
XXXX为你的密码
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/768/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java语音引擎-实现人声说话</title>
		<link>http://www.chentaoqian.com/archives/763</link>
		<comments>http://www.chentaoqian.com/archives/763#comments</comments>
		<pubDate>Sat, 17 Jul 2010 15:23:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[引擎]]></category>
		<category><![CDATA[语音]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=763</guid>
		<description><![CDATA[为应用程序加上语音能力有什么好处呢？粗略地讲，是为了趣味，它适合所有注重趣味的
应用，比如游戏。当然，从更严肃的角度来讲，它还涉及到应用的可用性问题。注意，这
里我考虑的不仅是可视化界面固有的不足，而且还有这样一些情形：一些时候，让双眼离
开当前的工作很不方便，甚至是不合法的。比如，假设有一个带语音功能的浏览器，你就
可以在外出散步或开车上班的同时，用听的方式浏览自己喜爱的网站。
从目前来看，邮件阅读器或许是语音技术更实际的应用，在JavaMail API的帮助下，
这一切已经可能。邮件阅读器可以定期地检查收件箱，然后用语音“You have new mail,
would you like me to read it to you?”引起你的注意。按照类似的思路，我们还可以
考虑一个带语音功能的提醒器，把它连接到一个日历应用：它会及时地提醒你“Don&#8217;t
forget your meeting with the boss in 10 minutes!”。
也许你已经被这些主意吸引，或者有了自己更好的主意，现在让我们继续。首先我将
介绍如何启用本文提供的语音引擎，这样，如果你认为语音引擎的实现细节过于复杂，就
可以直接使用它而忽略其实现细节。
一、试用语音引擎
要使用这个语音引擎，你必须在CLASSPATH中加入本文提供的javatalk.jar文件，然后从
命令行运行（或者从Java程序调用）com.lotontech.speech.Talker类。如果从命令行运
行，则命令为：
java com.lotontech.speech.Talker &#8220;h&#124;e&#124;l&#124;oo&#8221;
如果从Java程序调用，则代码为：
com.lotontech.speech.Talker talker=new com.lotontech.speech.Talker();
talker.sayPhoneWord(&#8220;h&#124;e&#124;l&#124;oo&#8221;);
现在，对于在命令行上（或者调用sayPhoneWord()方法时）提供的“h&#124;e&#124;l&#124;oo”字符串，你
或许有所不解。下面我就来解释一下。
语音引擎的工作原理是把细小的声音样本连接起来，每一个样本都是人的语言发音（英
语）的一个最小单位。这些声音样本称为音素（allophone）。每一个因素对应一个、二
个或者三个字母。从前面“hello”的语音表示可以看出，一些字母组合的发音显而易见，
还有一些却不是很明显：
h &#8212; 读音显而易见
e &#8212; 读音显而易见
l &#8212; 读音显而易见，但注意两个“l”被简缩成了一个“l”。
OO &#8212; 应该读作“hello”中的读音，不应读作“bot”、“too”中的读音。
下面是一个有效音素的清单：
a ： 如cat
b ： 如cab
c ： 如cat
d ： 如dot
e ： 如bet
f ： 如frog
g ： 如frog
h ： 如hog
i ： 如pig
j ： 如jig
k ： 如keg
l [...]]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/763/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>轻松解决&#8221;IE快捷方式无法删除&#8221;</title>
		<link>http://www.chentaoqian.com/archives/760</link>
		<comments>http://www.chentaoqian.com/archives/760#comments</comments>
		<pubDate>Thu, 15 Jul 2010 15:46:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=760</guid>
		<description><![CDATA[今天去&#8221;绿色软件联盟&#8221;下了个&#8221;winavi&#8221;转换软件，没想到刚解压出来，电脑就中招了 T_T ，一直以为绿盟的软件挺好的，没想到也有毒！后悔了！
中招后发现IE的首页被篡改，而且桌面上多了一个IE快捷方式，打开后直接跳转到http://www.91832.com(万恶的病毒作者，我恨你!). 本以为这快捷方式也没多么麻烦，谁知道这个快捷方式怎么也删不掉，右键点击后只出现“打开首页，创建快捷方式，属性”这三项，没有“删除”这项，这个方法失败。直接按&#8221;Delete&#8221;键，无效！按&#8221;Shift&#8221;+&#8221;Delete&#8221;，同样无效。无奈，马上杀毒，打开小红伞，360，在正常模式，安全模式下全杀一遍，其它病毒都杀了，就这个快捷方式还在，抓狂!!! 用360的IE修复，啊！还是没搞定，绝望ing。
上网搜索了一番，发现了一个很简单的方法！哈哈，没想到这么简单，得来全不费功夫！只要用Windows自带的桌面清理向导，把那个快捷方式清理掉就OK了！
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/760/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java编码转换-内存中字符串编码转换实例</title>
		<link>http://www.chentaoqian.com/archives/749</link>
		<comments>http://www.chentaoqian.com/archives/749#comments</comments>
		<pubDate>Sun, 11 Jul 2010 02:13:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[编码]]></category>
		<category><![CDATA[编码转换]]></category>
		<category><![CDATA[解码]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=749</guid>
		<description><![CDATA[Java编程时会遇到很多字符集编码转换的问题，当读取的字符在内存中如何执行编码转换？下面给出一个实例


import java.nio.ByteBuffer;
import java.nio.charset.Charset;

public class MainClass {
 public static void main(String[] argv) throws Exception {
 String input = &#8221;\u00bfMa\u00f1ana?&#8221;;

 // The list of charsets to encode with
 String[] charsetNames = { &#8221;US-ASCII&#8221;, &#8221;ISO-8859-1&#8243;, &#8221;UTF-8&#8243;, &#8221;UTF-16BE&#8221;, &#8221;UTF-16LE&#8221;, &#8221;UTF-16&#8243;,
 // &#8221;X-ROT13&#8243; // This requires META-INF/services
 };
 for (int i = 0; i &#60; charsetNames.length; i++) {
 doEncode(Charset.forName(charsetNames[i]), input);
 }
 }
 private static void doEncode(Charset cs, String input) {
 ByteBuffer bb = cs.encode(input);
 System.out.println(&#8220;Charset: &#8221; + cs.name());
 System.out.println(&#8220;  Input: &#8221; + input);
 System.out.println(&#8220;Encoded: &#8221;);

 for (int i = 0; bb.hasRemaining(); i++) {
 int b = bb.get();
 int ival = ((int) b) &#38; 0xff;
 char c = (char) ival;
 // print index number
 System.out.print(&#8220;  &#8221; + i + &#8221;: &#8221;);
 // print the hex value of the byte
 System.out.print(Integer.toHexString(ival));
 System.out.println(&#8220; (&#8220; + c + &#8221;)&#8221;);
 }
 }
}


java
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/749/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2个区别搞懂web.xml配置Session超时时间</title>
		<link>http://www.chentaoqian.com/archives/751</link>
		<comments>http://www.chentaoqian.com/archives/751#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:04:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[会话]]></category>

		<guid isPermaLink="false">http://www.chentaoqian.com/?p=751</guid>
		<description><![CDATA[为单个Web应用 配置超时时间可以在web.xml中使用&#60;session-config&#62;元素，如
&#60;web-app&#62;

&#60;!&#8211;filter.listener,servlet,and servlet- mapping等元素要在session-config之前&#8211;&#62;
 &#60;session-config&#62;
 &#60;session-timeout&#62;15 &#60;/session-timeout&#62;
 &#60;/session-config&#62;
 &#8230;

&#60;/web-app&#62;
这个时候的“15”单位是分钟！
 
如果在配置Servlet是指定初始化参数决定超时时间，例如下：
&#60;servlet&#62;
 &#60;servlet-name&#62;Example&#60;/servlet-name&#62;
 &#60;servlet-class&#62;exa.mp.le.Example2&#60;/servlet-class&#62;
 &#60;init-param&#62;
 &#60;param-name&#62;timeout&#60;/param-name&#62;
 &#60;param-value&#62;600&#60;/param-value&#62;
 &#60;/init-param&#62;
&#8230;
&#60;/servlet&#62;
这时候的“600”单位是秒钟！
另外，我们要注意HttpSession.getMaxInactiveInterval()方法返回的是与秒为单位的；
session.setMaxInactiveInterval(int seconds)方法参数的单位也是秒。
]]></description>
		<wfw:commentRss>http://www.chentaoqian.com/archives/751/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

