﻿<?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-重复容易，改变很难</title><link>http://www.blogjava.net/jiangjf/</link><description>java,,,不错的玩具</description><language>zh-cn</language><lastBuildDate>Sat, 02 May 2026 14:55:38 GMT</lastBuildDate><pubDate>Sat, 02 May 2026 14:55:38 GMT</pubDate><ttl>60</ttl><item><title>使用quartz有感</title><link>http://www.blogjava.net/jiangjf/archive/2009/05/12/270276.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Tue, 12 May 2009 12:37:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2009/05/12/270276.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/270276.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2009/05/12/270276.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/270276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/270276.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近有个项目需要做一些定时的任务，就像linux的crontab一样的功能。就在网站找了一些资料，发现quartz不错，就一个quartz.jar包外加一个common-logging.jar<br />
和jta.jar，挺轻量级的小东东。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 于是在网上找了一些资料，照葫芦画瓢，在本机上把环境是搭建起来了。定时任务也挺顺利地跑起来了。心里挺美！！！<img alt="" src="/CuteSoft_Client/CuteEditor/images/emteeth.gif" align="absMiddle" border="0" /><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 到了上线的日子，我当然是轻车熟路的在运营环境把服务给搭上。结果一跑服务，问题出来了。发现每到定时任务到点启动时，就会同时起两个任务。<br />
网上一搜，发现不少难兄难弟，但他们都是spring，而我就是普通的servlet，好像不是一回事。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 于是到处找资料、到处查文档，最后我把quartz的源码拿了过来，加上调试语句（俺只会system.out调试，嘿嘿！！<img alt="" src="/CuteSoft_Client/CuteEditor/images/emsmilep.gif" align="absMiddle" border="0" />）。然后重新打包，加入部署到tomcat环境中<br />
发现，我的quartz的Scheduler起了两次，也就是说，web容器中有两个triger服务起来了。所以任务被执行时，当然也就出现两次。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原因是找到了，但为什么servlet的init方法会被调用两次，这是不可能的啊。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后又到网上一通乱搜，在网友的启发下，我发现原来是我的server.xml文件配置有问题。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原因在于，我有个ww.fff.com.cn的域名，我同时也希望fff.com.cn的域名也指向同一个地方，于是我在server.xml中配了两个host，他们的appBase指向同一个地方。<br />
这就导致tomcat服务启动时，会两次调用web.xml，做两次初始化。也就导致servlet的init的方法调用两次，而在web容器中产生两个Scheduler。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 哎，这么个错误，差点让我放弃使用quartz。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 看来，开发环境和真实环境还是有很大区别，要用好一个开源项目，如果缺少其他技术基础，也是寸步难行，web系统是一个大的生态系统，往往加入一些元<br />
素，也会对其他元素造成影响，而新加入的元素也不见得就能和已有元素和谐生存。使用新技术还是有很大的风险的。但新技术的引入会让你的系统更加饱满、<br />
丰富、完善。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 问题搞定，终于可以轻松回家了。 
 <img src ="http://www.blogjava.net/jiangjf/aggbug/270276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2009-05-12 20:37 <a href="http://www.blogjava.net/jiangjf/archive/2009/05/12/270276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在web.xml文件中引入其他的xml文件</title><link>http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Thu, 09 Apr 2009 10:34:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/264685.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/264685.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/264685.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最近在做一个Servlet+javaBean的项目，服务器用的是tomcat。因此，所有的页面都是servlet请求，而且很多，需要在web.xml文件中进行配置。导致web.xml文件特别大，而且这个系统以后会做大，并且会出现系统拆分，为了便于以后拆分，于是想到将web.xml文件中的servlet和servlet-mapping能够从web.xml脱离出来，用其他xml文件保存然后在web.xml文件中引入这些文件，就想类似引入struts.config一样。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在网上找了半天也没找到，还是学哥厉害，找到了答案，在此向他致敬。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;具体做法如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1，按模块将servelet从web.xml中拷贝出来，放到一个test.xml中，如test.xml中内容如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;testA&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-class&gt;TestA&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;testA&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;/testA.do&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2，在我的WEB-INF/web.xml中引入test.xml<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!DOCTYPE web-app<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&lt;!ENTITY <span style="color: red">test </span>SYSTEM&nbsp; "<span style="color: red">file:///D:/eclipse/workspace/Test/WebRoot/WEB-INF/test.xml</span>"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!ENTITY admin SYSTEM&nbsp; "admin.xml"&gt;]&gt;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;web-app version="2.5"&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns="http://java.sun.com/xml/ns/j2ee"&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;<span style="color: red">test</span>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;<span style="color: red">admin</span>;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上修改即可，web.xml会在开头引入你的test.xml.然后&nbsp;&nbsp;&amp;<span style="color: red">test</span>;表示你放的地方。&nbsp;<br />
如果设定的是相当路径，可以如此设定：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果test.xml和web.xml在同一个文件夹，则&nbsp;&nbsp;&nbsp;[&lt;!ENTITY <span style="color: red">test </span>SYSTEM&nbsp; "<span style="color: red">test.xml</span>"&gt;]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果test.xml在web.xml所在文件夹的ccc文件夹中，则&nbsp;&nbsp;[&lt;!ENTITY <span style="color: red">test </span>SYSTEM&nbsp; "<span style="color: red">ccc/</span><span style="color: red">test.xml</span>"&gt;]<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的servlet是2.5，2.4应该也管用，其他版本没试过。&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样，我可以在系统开始设计时，将各个模块分开，便于以后系统拆分。 
<img src ="http://www.blogjava.net/jiangjf/aggbug/264685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2009-04-09 18:34 <a href="http://www.blogjava.net/jiangjf/archive/2009/04/09/264685.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql 中一些关于日期的获取方式</title><link>http://www.blogjava.net/jiangjf/archive/2009/02/06/253640.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Fri, 06 Feb 2009 13:58:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2009/02/06/253640.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/253640.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2009/02/06/253640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/253640.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/253640.html</trackback:ping><description><![CDATA[<div class="blog_content">当前week的第一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 1 DAY) <br />
<br />
当前week的最后一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) - 5 DAY) <br />
<br />
前一week的第一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 8 DAY) <br />
<br />
前一week的最后一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 2 DAY) <br />
<br />
前两week的第一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 15 DAY) <br />
<br />
前两week的最后一天： <br />
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) + 9 DAY) <br />
<br />
<br />
当前month的第一天： <br />
SELECT concat(date_format(LAST_DAY(now()),'%Y-%m-'),'01') <br />
<br />
当前month的最后一天： <br />
SELECT LAST_DAY(now()) <br />
<br />
前一month的第一天： <br />
SELECT concat(date_format(LAST_DAY(now() - interval 1 month),'%Y-%m-'),'01') <br />
<br />
前一month的最后一天： <br />
SELECT LAST_DAY(now() - interval 1 month) <br />
<br />
前两month的第一天： <br />
SELECT concat(date_format(LAST_DAY(now() - interval 2 month),'%Y-%m-'),'01') <br />
<br />
前两month的最后一天： <br />
SELECT LAST_DAY(now() - interval 2 month) <br />
<br />
<br />
当前quarter的第一天： <br />
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01') <br />
<br />
当前quarter的最后一天： <br />
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month) <br />
<br />
前一quarter的第一天： <br />
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-6 month),'%Y-%m-'),'01') <br />
<br />
前一quarter的最后一天： <br />
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-4 month) <br />
<br />
前两quarter的第一天： <br />
select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-9 month),'%Y-%m-'),'01') <br />
<br />
前两quarter的最后一天： <br />
select LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-7 month) </div>
<img src ="http://www.blogjava.net/jiangjf/aggbug/253640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2009-02-06 21:58 <a href="http://www.blogjava.net/jiangjf/archive/2009/02/06/253640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql常用命令</title><link>http://www.blogjava.net/jiangjf/archive/2008/12/14/246265.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Sun, 14 Dec 2008 12:50:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/12/14/246265.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/246265.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/12/14/246265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/246265.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/246265.html</trackback:ping><description><![CDATA[1. 导出数据： <br />
mysqldump --opt test &gt; mysql.test <br />
即将数据库test数据库导出到mysql.test文件，后者是一个文本文件 <br />
如：mysqldump -u root -p123456 --databases dbname &gt; mysql.dbname <br />
就是把数据库dbname导出到文件mysql.dbname中。 <br />
2. 导入数据: <br />
mysqlimport -u root -p123456 &lt; mysql.dbname。 <br />
不用解释了吧。 <br />
3. 将文本数据导入数据库: <br />
文本数据的字段数据之间用tab键隔开。 <br />
use test; <br />
load data local infile "文件名" into table 表名<br />
如：LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; <br />
5.导入.sql文件命令（例如D:/mysql.sql） <br />
&nbsp; mysql&gt;use database; <br />
&nbsp; mysql&gt;source d:/mysql.sql;&nbsp; <br />
6.备份数据库 <br />
mysqldump -u root 库名&gt;xxx.data <br />
<br />
<img src ="http://www.blogjava.net/jiangjf/aggbug/246265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-12-14 20:50 <a href="http://www.blogjava.net/jiangjf/archive/2008/12/14/246265.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bad version number in .class file异常的解决</title><link>http://www.blogjava.net/jiangjf/archive/2008/10/24/236361.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Fri, 24 Oct 2008 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/10/24/236361.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/236361.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/10/24/236361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/236361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/236361.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 今天开发中遇到了Bad version number in .class file的Exception。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 后来发现Eclipse用的是jdk1.6，而我的web服务器用的是jdk1.5，我在Eclipse上用jdk1.6编译的class文件放在jdk1.5的web服务器上运行就会出问题，将Eclipse的jdk版本改为1.5重新编译后，问题就解决了
<img src ="http://www.blogjava.net/jiangjf/aggbug/236361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-10-24 11:33 <a href="http://www.blogjava.net/jiangjf/archive/2008/10/24/236361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在resin服务器上使用gzip压缩</title><link>http://www.blogjava.net/jiangjf/archive/2008/10/22/235865.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Wed, 22 Oct 2008 02:09:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/10/22/235865.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/235865.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/10/22/235865.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/235865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/235865.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; web开发中可以通过gzip压缩页面来降低网站的流量，而gzip并不会对cpu造成大量的占用，只是几个百分点而已，但是对于页面却能压缩40%以上，非常划算。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; resin服务器具体配置方法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;修改resin/conf/resin.conf文件，在&lt;web-app&gt;中添加以下配置代码：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>&lt;filter filter-name="gzip"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filter-class="com.caucho.filters.GzipFilter"&gt;<br />
&nbsp;&nbsp; &lt;init&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;use-vary&gt;true&lt;/use-vary&gt;<br />
&nbsp;&nbsp; &lt;/init&gt;<br />
&nbsp; &lt;/filter&gt;</p>
<p>&nbsp; &lt;filter-mapping filter-name="gzip"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;exclude-pattern&gt;*.pdf&lt;/exclude-pattern&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;include-pattern&gt;/*&lt;/include-pattern&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/url-pattern&gt;<br />
&nbsp; &lt;/filter-mapping&gt;</p>
<br />
&nbsp; 
 <img src ="http://www.blogjava.net/jiangjf/aggbug/235865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-10-22 10:09 <a href="http://www.blogjava.net/jiangjf/archive/2008/10/22/235865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在两台机器上建立ssh和sftp信任</title><link>http://www.blogjava.net/jiangjf/archive/2008/07/28/218209.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Mon, 28 Jul 2008 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/07/28/218209.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/218209.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/07/28/218209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/218209.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/218209.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果要在A、B两台机器上建立A到B的信任，假设B的机器的ip是192.1.1.1。<br />
配置步骤如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1，在A机器以root用户登录，输入cd /root/.ssh。进入/root/.ssh目录，如果在该目录不存在id_rsa.pub文件，<br />
则输入ssh-keygen -t rsa命令、建立该文件。这实际上是产生A机器公钥的过程。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2，然后以root用户登陆到B机器、cd /root/.ssh。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（1）如果在该文件夹存在authorized_keys文件，则说明B机器已经和别的机器建立过信任、<br />
则将A机器的id_rsa.pub文件中的内容手动拷贝到B机器的authorized_keys文件中；则信任就建立起来了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;（2）如果B机器没有authorized_keys文件。说明该机器还没有和其他机器建立过信任，则以root用户<br />
登录A机器中，在命令行输入：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scp /root/.ssh/id_rsa.pub 192.1.1.1:/root/.ssh/authorized_keys ，输入B机器的密码。则信任建立起来了。</p>
<img src ="http://www.blogjava.net/jiangjf/aggbug/218209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-07-28 23:16 <a href="http://www.blogjava.net/jiangjf/archive/2008/07/28/218209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在javascript中得到浏览器的当前窗口的高和宽</title><link>http://www.blogjava.net/jiangjf/archive/2008/07/10/214130.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Thu, 10 Jul 2008 14:23:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/07/10/214130.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/214130.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/07/10/214130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/214130.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/214130.html</trackback:ping><description><![CDATA[在javascript中得到当前窗口的高和宽&nbsp; <br />
&lt;body&gt;&lt;SCRIPT&nbsp; LANGUAGE="JavaScript"&gt;&nbsp; <br />
var&nbsp;&nbsp;&nbsp; s&nbsp; =&nbsp; "网页可见区域宽："+&nbsp; document.body.clientWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.clientHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetWeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetHeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文宽："+&nbsp; document.body.scrollWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文高："+&nbsp; document.body.scrollHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的高："+&nbsp; document.body.scrollTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的左："+&nbsp; document.body.scrollLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分上："+&nbsp; window.screenTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分左："+&nbsp; window.screenLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的高："+&nbsp; window.screen.height;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的宽："+&nbsp; window.screen.width;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区高度："+&nbsp; window.screen.availHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区宽度："+&nbsp; window.screen.availWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n页面高度："+document.documentElement.clientHeight;<br />
alert(s);&nbsp; <br />
&lt;/SCRIPT&gt;<br />
<br />
在取得document.body时，也要注意html页面的DOCTYPE声明，<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1，如果!DOCTYPE声明为&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;，document.body.clientHeight在我机器页面上取得就是1206，这显然比&#8220;网页可见区域高&#8221;高了许多，而document.documentElement.clientHeight显示是610。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 2，如果!DOCTYPE声明为&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;，document.body.clientHeight的值是610，<br />
而document.documentElement.clientHeight显示是0。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 所以我们得根据!DOCTYPE声明来选择document.body.clientHeight和document.documentElement.clientHeight来取得页面高度。<br />
<br />
<span style="color: red">以下是测试页面的html代码：<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;代码1:
<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html&gt;<br />
&nbsp;&lt;HEAD&gt;<br />
&nbsp; &lt;TITLE&gt; New Document &lt;/TITLE&gt;<br />
&nbsp; &lt;META NAME="Generator" CONTENT="EditPlus"&gt;<br />
&nbsp; &lt;META NAME="Author" CONTENT=""&gt;<br />
&nbsp; &lt;META NAME="Keywords" CONTENT=""&gt;<br />
&nbsp; &lt;META NAME="Description" CONTENT=""&gt;<br />
&nbsp;&lt;/HEAD&gt;</p>
<p>&nbsp;&lt;BODY1&gt;<br />
&nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sssssssssssssssssssssssss<br />
&nbsp; sssssssssssssss<br />
&nbsp; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; cvsavasvasvc&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;</p>
<p>&nbsp; gggggggggggggggggggggggggggggg<br />
&nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; errrrrrrrrrrrrrr<br />
&nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; 43tgerga<br />
&nbsp;&lt;/BODY1&gt;<br />
&nbsp;&lt;SCRIPT&nbsp; LANGUAGE="JavaScript"&gt;&nbsp; <br />
var&nbsp;&nbsp;&nbsp; s&nbsp; =&nbsp; "网页可见区域宽："+&nbsp; document.body.clientWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.clientHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetWeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetHeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文宽："+&nbsp; document.body.scrollWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文高："+&nbsp; document.body.scrollHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的高："+&nbsp; document.body.scrollTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的左："+&nbsp; document.body.scrollLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分上："+&nbsp; window.screenTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分左："+&nbsp; window.screenLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的高："+&nbsp; window.screen.height;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的宽："+&nbsp; window.screen.width;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区高度："+&nbsp; window.screen.availHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区宽度："+&nbsp; window.screen.availWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n行高度："+document.documentElement.clientHeight;<br />
alert(s);&nbsp; <br />
&lt;/SCRIPT&gt;</p>
<p>&lt;/HTML&gt;<br />
</p>
<p><br />
代码2:<br />
</p>
<p>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;HTML&gt;<br />
&nbsp;&lt;HEAD&gt;<br />
&nbsp; &lt;TITLE&gt; New Document &lt;/TITLE&gt;<br />
&nbsp; &lt;META NAME="Generator" CONTENT="EditPlus"&gt;<br />
&nbsp; &lt;META NAME="Author" CONTENT=""&gt;<br />
&nbsp; &lt;META NAME="Keywords" CONTENT=""&gt;<br />
&nbsp; &lt;META NAME="Description" CONTENT=""&gt;<br />
&nbsp;&lt;/HEAD&gt;</p>
<p>&nbsp;&lt;BODY1&gt;<br />
&nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sssssssssssssssssssssssss<br />
&nbsp; sssssssssssssss<br />
&nbsp; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; cvsavasvasvc&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;</p>
<p>&nbsp; gggggggggggggggggggggggggggggg<br />
&nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; errrrrrrrrrrrrrr<br />
&nbsp; &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;<br />
&nbsp; 43tgerga<br />
&nbsp;&lt;/BODY1&gt;<br />
&nbsp;&lt;SCRIPT&nbsp; LANGUAGE="JavaScript"&gt;&nbsp; <br />
var&nbsp;&nbsp;&nbsp; s&nbsp; =&nbsp; "网页可见区域宽："+&nbsp; document.body.clientWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.clientHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetWeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页可见区域高："+&nbsp; document.body.offsetHeight&nbsp; +"&nbsp; (包括边线的宽)";&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文宽："+&nbsp; document.body.scrollWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文全文高："+&nbsp; document.body.scrollHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的高："+&nbsp; document.body.scrollTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页被卷去的左："+&nbsp; document.body.scrollLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分上："+&nbsp; window.screenTop;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n网页正文部分左："+&nbsp; window.screenLeft;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的高："+&nbsp; window.screen.height;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕分辨率的宽："+&nbsp; window.screen.width;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区高度："+&nbsp; window.screen.availHeight;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n屏幕可用工作区宽度："+&nbsp; window.screen.availWidth;&nbsp; <br />
s&nbsp; +=&nbsp; "\r\n行高度："+document.documentElement.clientHeight;<br />
alert(s);&nbsp; <br />
&lt;/SCRIPT&gt;<br />
&lt;/HTML&gt;<br />
</p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/jiangjf/aggbug/214130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-07-10 22:23 <a href="http://www.blogjava.net/jiangjf/archive/2008/07/10/214130.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于referer的获取问题</title><link>http://www.blogjava.net/jiangjf/archive/2008/05/19/201339.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Mon, 19 May 2008 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/05/19/201339.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/201339.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/05/19/201339.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/201339.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/201339.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在上一页面做跳转操作，可以在下一页面获得上一页面的Referer从而判断页面的来路。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前web开发有以下几种页面跳转方式：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)使用RequestDispatcher跳转。该方式不支持跨域目的页面也无法取得referer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RequestDispatcher rd = request.getRequestDispatcher(url);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rd.forward(request, response);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)该方式支持跨域但目的页面也无法取得referer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.setHeader("Location",url);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (3)该方式支持跨域但目的页面也无法取得referer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.sendRedirect(url);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)使用form表单提交，并且用post方法提交，既可跨域又能得到referer，并且支持form表单的action属性中url使用参数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(5)使用form表单提交，用get方法提交，既可跨域又能得到referer，但不支持form表单的action属性中url使用参数<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这种方式下会将action的值后面添加"?"提交到web服务器。如果actio中的url就含有"?"则会将"?"后的数据忽略掉。而post方式不存在这个问题。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(6)使用html中href来跳转页面，下一页面，可以获得referer。 
 <img src ="http://www.blogjava.net/jiangjf/aggbug/201339.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-05-19 10:54 <a href="http://www.blogjava.net/jiangjf/archive/2008/05/19/201339.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nabble让我1分钟轻松建立自己的论坛</title><link>http://www.blogjava.net/jiangjf/archive/2008/03/01/183063.html</link><dc:creator>分享爱的空间</dc:creator><author>分享爱的空间</author><pubDate>Fri, 29 Feb 2008 19:49:00 GMT</pubDate><guid>http://www.blogjava.net/jiangjf/archive/2008/03/01/183063.html</guid><wfw:comment>http://www.blogjava.net/jiangjf/comments/183063.html</wfw:comment><comments>http://www.blogjava.net/jiangjf/archive/2008/03/01/183063.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangjf/comments/commentRss/183063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangjf/services/trackbacks/183063.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天发现了一家名为Nabble的网站(http://<a href="http://www.nabble.com/">www.nabble.com</a>)，它可以给用户提供自建论坛的功能，你要做的是注册一个帐户，就可以定制自己的论坛了，在论坛中，你可以设置论坛页面的heard和foot还可以增加css改变论坛的风格。对中文支持挺不错的。它还能给你一段内嵌代码，让你可以将论坛整个加入到自己的网站上，这样你的网站就可以它提供的论坛服务了。不过产生的论坛页面中还是有深刻的Nabble的烙印，给人的感觉好像进了论坛页面就好像进了别人网站一般。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;它还有一个好玩的东西叫Archieve Mailing List ,能将mailList加入进论坛，这样你就可以想看帖子一样看mailList，还能给mailList上的人发邮件了。真实很方便。这帮老外真是啥都敢想。可能这也中国互联网所缺乏的一种敢想敢干的创新精神。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<img src ="http://www.blogjava.net/jiangjf/aggbug/183063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangjf/" target="_blank">分享爱的空间</a> 2008-03-01 03:49 <a href="http://www.blogjava.net/jiangjf/archive/2008/03/01/183063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>