<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>JavaEye站务讨论</title>
    <description>JavaEye站务圈子</description>
    <link>http://javaeye-admin.group.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>MoinMoin的初始化设置</title>
        <author>sc_1028</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://baomw.javaeye.com">sc_1028</a>&nbsp;
          链接：<a href="http://javaeye-admin.group.javaeye.com/group/blog/148220" style="color:red;">http://javaeye-admin.group.javaeye.com/group/blog/148220</a>&nbsp;
          发表时间: 2007年12月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: darkred"><span style="font-size: 12pt"><strong>注册和修改用户配置</strong></span></span><br />登录到MoinMoin首页,点击登录,注册新用户;<br />用户注册完毕需要点击'清除此提示信息'链接, 否则可能不能成功注册.<br />用户的配置文件在[moin-desktop]\moin-desktop\wiki\data\user目录下,以纯文本方式保存,可以手工修改.<br /><br /><span style="color: darkred"><span style="font-size: 12pt"><strong>修改站点名称</strong></span></span><br />在[moin-desktop]/moin-desktop/wikiconfig.py中,修改:<br /><pre name="code" class="java">class Config(DefaultConfig):   
    sitename = u"BaoMW\u7684\u77E5\u8BC6\u7BA1\u7406"</pre><br />如果是中文,需要通过\u的编码转换.<br /><br />以上内容前加u"...", 表示是unicode编码,'\u7684\u77E5\u8BC6\u7BA1\u7406'是中文的知识管理,需要自行解决,比如使用java的native2ascii;<br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>修改提交次数的限制</strong></span></span><br />wikiconfig.py中, 增加:<br /><pre name="code" class="java">class Config(DefaultConfig):   
...   
    surge_action_limits = { 'default': (100, 1) } # max. 100 requests in 1 second   
    surge_lockout_time = 60 # secs you get locked out when you ignore warnings</pre> <br />...   <br />以上配置提交的限制,默认情况下提交多次后会提示要间隔一段时间才能再提交.<br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>本地化配置</strong></span></span><br /><em>系统页面和帮助的中文化</em><br /><br />访问: http://localhost:wiki_port/SystemPagesSetup,其中wiki_port是moinmoin的端口号,如果没有自行配置,默认是8080.<br /><br />在SimplifiedChinese行上, 点击'安装'链接即可,这时moinmoin的界面和帮助已经中文化(不需下载).<br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>时区的修改</strong></span></span><br /><br />moinmoin默认使用格林威治标准时间,国内市区是东8区,比标准时间早8小时(+8). <br />如果不修改, 时间戳很别扭.<br />修改办法:用户登录后点击'用户设置'链接,在时区选择....[+08:00]的选项即可;<br /><br /><br /><span style="color: darkred"><span style="font-size: 12pt"><strong>定制页面风格</strong></span></span><br /><br />Marshal Wu一般选用modern风格,并在此基础上修改了css样式,在[moin-desktop]\moin-desktop\wiki\htdocs\modern\css目录下.<br /><br /><span style="color: darkred"><span style="font-size: 12pt"><strong>定制首页</strong></span></span><br /><br />Marshal Wu定制的首页:<br /><br /><pre name="code" class="java">||"100%">||   
||&lt;^25%> [[Include(工作文档)]] ||&lt;^30%>  [[Include(生活文档)]] [[BR]] [[Include(学习文档)]]||&lt;^> [[Include(任务导航)]] [[BR]] [[Include(备忘录)]]||</pre>  <br /><br />第一行表示要使用整个浏览器宽度.<br />第二行是页面的布局,其中工作文档,生活文档...都是站内连接;<br /><br />Incluede是moinmoin的宏,表示包含页面;<br />具体解释,参见moinmoin的帮助文档有关宏的部分.<br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>在标题下增加左侧标题线和虚线的CSS</strong></span></span><br /><br />将以下CSS代码增加到{moin-desktop}\wiki\htdocs\modern\css\common.css文件中(modern代表个人所选用的主题):<br /><pre name="code" class="java">/*定义标题CSS样式*/
#title { 
 border: 0px dashed  #ddd; 
 margin-left : 1.6em; 
 font-family: Georgia,Tahoma,SimSun,serif;
 font-weight: lighter;
}

h1 a, h1 a:visited {
	text-decoration: none;    
	color: black;
}
/*color:#336699*/
H1,H2,H3,H4,H5,H6{
 margin-left : 0px 0px 5px 0px;
 color:#333333;
 padding : 4px;
 font-family: Tahoma,SimHei,SimSun,Georgia,serif;
 font-weight: lighter; 
 line-height: 1.2em;
}

/*border: 0px dashed  #ddd; 
background-color :transparent;*/
h1 { 
	font-size: 1.5em;
	font-weight: bold; 
 border-left : 5px solid #204070 ;
 border-bottom : 1px dashed  #204070 ;
}
h2 { 
 border-left : 5px solid #204070 ;
 border-bottom : 1px dashed  #204070 ;
 font-size: 1.4em;
}
h3 {
 border-left : 5px solid #336699 ;
 border-bottom : 1px dashed  #336699 ;
 font-size: 1.3em;
}

h4 {	
 border-left : 5px solid #3399CC ;
 border-bottom : 1px dashed  #3399CC ;
 font-size: 1.2em;
}
h5{	
 border-left : 5px solid #89CEFA ;
 border-bottom : 1px dashed  #89CEFA ;
 font-size: 1.1em;
}
h6{	
 border-left : 5px solid #183868 ;
 border-bottom : 1px dashed  #183868 ;
 font-size: 1.1em;
}</pre><br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>打开标题行自动编号功能默认值</strong></span></span><br />使用记事本打开{moin-desktop}/wikiconfig.py文件,将下列代码增加到最后一行即可打开标题行自动编号功能默认值:<br /><pre name="code" class="java">show_section_numbers = 1;</pre><br /><br /><span style="font-size: 12pt"><span style="color: darkred"><strong>注意事项</strong></span></span><br />尽量使用英文文件和目录名称, 中文文件名有时因为编码过长而出错<br /><br />此技术文章来源于Marshal Wu(<a href="http://marshal.javaeye.com/" target="_blank">http://marshal.javaeye.com/</a>),吴老师是我在开发行业一位非常重要的老师.
          <br/>
          <span style="color:red;">
            <a href="http://javaeye-admin.group.javaeye.com/group/blog/148220#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Dec 2007 02:36:46 +0800</pubDate>
        <link>http://javaeye-admin.group.javaeye.com/group/blog/148220</link>
        <guid>http://javaeye-admin.group.javaeye.com/group/blog/148220</guid>
      </item>
      <item>
        <title>JAVA基础:迭代与迭代器</title>
        <author>sc_1028</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://baomw.javaeye.com">sc_1028</a>&nbsp;
          链接：<a href="http://javaeye-admin.group.javaeye.com/group/blog/148199" style="color:red;">http://javaeye-admin.group.javaeye.com/group/blog/148199</a>&nbsp;
          发表时间: 2007年12月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          while,do-while和for用来控制循环,有时将它们划分为"迭代语句".语句会重复执行,直到起控制作用的布尔表达式(Boolean-expression)得到"假"的结果为止.<br /><br />    迭代器(也是一种设计模式)的概念可以用于达成不重写代码就可以应用于不同类型的容器.迭代器是一个对象,它的工作是遍历并选择序列中的对象,而客户端程序员不必知道或关心该序列底层的结构(也就是不同容器的类型).此外,迭代器通常被称为"轻量级"对象:创建它的代价小.<br /><br />    Java的Iterator就是一种迭代器(只能单向移动),它只能用来:<br />        1,使用方法iterator()要求容器返回一个Iterator.第一次调用Iterator的next()方法时,它返回序列的第一个元素;<br />        2,使用next()获得序列中的下一个元素;<br />        3,使用hasNext()检查序列中是否还有元素;<br />        4,使用remove()将迭代器新近返回的元素删除.<br /><br /><pre name="code" class="java">package iterator;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

/*
 * 通用的迭代器;
 * 将遍历一个序列的操作与此序列底层结构相分离;
 * 因为Iterator隐藏了容器底层的结构,所以,IteratorAll.printAll并不知道,也不关心此Iterator是从何容器而来;
 * 取得一个对象容器,遍历容器以对每个对象执行动作;
 * 该方法间接使用了Object.toString()方法,因为更具通用性;
 */
class IteratorAll {
	static void printAll(Iterator e) {
		while (e.hasNext()) {
			System.out.println("\t" + e.next());
			/*
			 * 虽然不必要,但仍然可以明确地进行类型转换,效果与调用toString()相同;
			 * System.out.println("\t" + (Integer)e.next());
			 * 通常Object提供的方法并不能满足需求,所以又要考虑类型转换的问题,
			 * 必须假设你已经取得了某个特定类型的序列的Iterator,并将对结果对象做类型转换(如果类型错误会得到一个运行时异常).
			 */
		}
	}
}

/*
 * 创建两种不同的容器,一个ArrayList和一个HashMap,均使用Integer填充
 */
public class IteratorDemo {
	public static void main(String[] args) {
		// 创建ArrayList,并填充Integer类型
		List&lt;Integer> list = new ArrayList&lt;Integer>();
		for (int i = 0; i &lt; 10; i++) {
			list.add(i);
		}
		// 创建HashMap,并填充Integer类型
		Map&lt;Integer, Integer> map = new HashMap&lt;Integer, Integer>();
		for (int i = 0; i &lt; 10; i++) {
			map.put(i, i);
		}
		System.out.println("List");
		// 调用上面的通用迭代器,打印ArrayList
		IteratorAll.printAll(list.iterator());
		System.out.println("Map");
		// 对HashMap而言,entrySet()方法生成一个由Map.entry对象组成的Set,Map.entry对象包含映射中每个元素的"键"和"值"
		// 调用上面的通用迭代器,打印HashMap
		IteratorAll.printAll(map.entrySet().iterator());
	}
}</pre>
          <br/>
          <span style="color:red;">
            <a href="http://javaeye-admin.group.javaeye.com/group/blog/148199#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 13 Dec 2007 23:46:38 +0800</pubDate>
        <link>http://javaeye-admin.group.javaeye.com/group/blog/148199</link>
        <guid>http://javaeye-admin.group.javaeye.com/group/blog/148199</guid>
      </item>
      <item>
        <title>JavaEE基础:JSP的9个内置对象</title>
        <author>sc_1028</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://baomw.javaeye.com">sc_1028</a>&nbsp;
          链接：<a href="http://javaeye-admin.group.javaeye.com/group/blog/147686" style="color:red;">http://javaeye-admin.group.javaeye.com/group/blog/147686</a>&nbsp;
          发表时间: 2007年12月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong><span style="font-size: 18pt">1,out:</span></strong><br />	out对象是JspWriter类的实例,是向客户端输出内容常用的对象;<br />	JSP的输出流,,等同于表达式;<br />	<pre name="code" class="java">out.println("test");</pre><br /><br /><strong><span style="font-size: 18pt">2,request:</span></strong><br />	客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应.它是HttpServletRequest类的实例.<br />	获取表单提交参数,在请求完成后,作用域结束,变量失效;<br />	<pre name="code" class="java">String userName = request.getParameter("userName");</pre><br /><br />	获取表单多个参数,返回数组, 比如checkbox多选的参数;<br />	<pre name="code" class="java">String[] chooseOs=request.getParameterValues("os");</pre><br /><br />	设置请求的编码;<br />	<pre name="code" class="java">request.setCharacterEncoding("UTF-8");</pre><br /><br />	设置和访问共享属性;<br />	<pre name="code" class="java">request.setAttribute("error", "用户名不能为空.");//设置request属性
request.getAttribute("error");//得到request属性
request.removeAttribute("error");//移除request属性</pre><br /><br />	得到访问用户的ip地址:<br />	<pre name="code" class="java">request.getRemoteAddr();</pre><br /><br />	得到当前目录或者jsp文件等的绝对路径(返回页面部署的路径,参数同样可以查找文件的路径);<br />	<pre name="code" class="java">request.getRealPath("");//当前目录
request.getRealPath("a.jsp");//jsp文件</pre><br /><br /><strong><span style="font-size: 18pt">3,response:</span></strong><br />	response对象包含了响应客户请求的有关信息.它是HttpServletResponse类的实例。<br />	服务器传给浏览器的文本信息;<br /><br />	增加header属性,比如通知浏览器不要缓存这个响应(运行后可通过TCPTrace观察响应头部的变化);<br />	<pre name="code" class="java">response.addHeader("pragma", "no-cache");
response.addHeader("cache-control", "no-cache");
response.addHeader("expires", "0");</pre><br /><br />	页面重定向(发送两次请求,返回两次响应);<br />	<pre name="code" class="java">response.sendRedirect("url地址");</pre><br /><br /><strong><span style="font-size: 18pt">4,session:</span></strong><br />	session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例.<br />	会话,session对象是每个访问用户专用的;<br /><br />	设置和访问共享属性;<br />	<pre name="code" class="java">session.getAttribute("bean");//得到session属性
session.setAttribute("bean",bean);//设置session属性
session.removeAttribute("bean");//移除session属性</pre><br /><br />	销毁session会话(键,值);<br />	<pre name="code" class="java">session.invalidate();</pre><br /><br /><strong><span style="font-size: 18pt">5,pageContext:</span></strong><br />	pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说它可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext;<br /><br />	页面转发请求(一次发送请求,返回一次响应,直接转发到该页面);<br />	<pre name="code" class="java">pageContext.forward("url地址");</pre><br /><br /><strong><span style="font-size: 18pt">6,application:</span></strong><br />	application对象实现了用户间数据的共享,可存放全局变量.它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问.服务器的启动和关闭决定了application对象的生命.它是ServletContext类的实例.<br />	配置全局信息,得到相关数据.该对象保存了一个应用系统中一些公用的数据,与session对象相比,application对象是所有客户共享的;<br /><br />	得到servlet的版本号;<br />	<pre name="code" class="java">application.getMajorVersion()+"."+application.getMinorVersion();</pre><br /><br />	可配置的全局信息(通过web.xml);<br />	<pre name="code" class="java">application.getInitParameter("company.name(&lt;param-name>属性)");
//在web.xml中加入:
	&lt;context-param>
		&lt;param-name>company.name&lt;/param-name>
		&lt;param-value>北京xxx信息技术有限公司&lt;/param-value>
	&lt;/context-param></pre><br /><br />	<pre name="code" class="java">.getMajorVersion();//得到servlet大版本号
.getMinorVersion();//得到servlet小版本号
.getServerInfo();//得到服务器信息
.setAttribute("","");//设置共享全局属性信息
.getAttribute("");//得到共享全局属性信息</pre><br /><br /><strong><span style="font-size: 18pt">7,config:</span></strong><br />	config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象);<br /><br />	设置jsp页面的常量(通过web.xml);<br />	<pre name="code" class="java">config.getInitParameter("page.title(&lt;param-name>属性)");
//在web.xml中加入:
	&lt;servlet>
		&lt;servlet-name>configServlet&lt;/servlet-name>
		&lt;jsp-file>/config.demo.jsp&lt;/jsp-file>
		&lt;init-param>
			&lt;param-name>page.title&lt;/param-name>
			&lt;param-value>config对象演示&lt;/param-value>
		&lt;/init-param>
	&lt;/servlet>
	&lt;servlet-mapping>
		&lt;servlet-name>configServlet&lt;/servlet-name>
		&lt;url-pattern>/config.demo.jsp&lt;/url-pattern>
	&lt;/servlet-mapping></pre><br /><br /><strong><span style="font-size: 18pt">8,page:</span></strong><br />	page对象就是指向当前JSP页面本身,JSP页面的this指针,它是java.lang.Object类的实例;<br /><br /><strong><span style="font-size: 18pt">9,exception:</span></strong><br />	JSP页面中的异常;<br />	exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象.如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译.他实际上是java.lang.Throwable的对象.
          <br/>
          <span style="color:red;">
            <a href="http://javaeye-admin.group.javaeye.com/group/blog/147686#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 11 Dec 2007 23:50:43 +0800</pubDate>
        <link>http://javaeye-admin.group.javaeye.com/group/blog/147686</link>
        <guid>http://javaeye-admin.group.javaeye.com/group/blog/147686</guid>
      </item>
      <item>
        <title>致亲爱的JavaEye博客用户</title>
        <author>JavaEye管理员</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://webmaster.javaeye.com">JavaEye管理员</a>&nbsp;
          链接：<a href="http://javaeye-admin.group.javaeye.com/group/blog/145538" style="color:red;">http://javaeye-admin.group.javaeye.com/group/blog/145538</a>&nbsp;
          发表时间: 2007年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在上周日晚上(12月2日)，我们对JavaEye的博客功能进行了一次版本升级，这次版本升级修复了很多博客的bug，并且进行了很多功能调整和改进，下面把主要的修改向大家说明一下：<br /><br />一、博客发贴功能重写了一遍，修复了保存草稿丢失的bug，现在你写博客文章保存草稿，不会再出现文章或者内容丢失的问题了。<br /><br />二、博客文章总数重新统计了一遍，过去在删除博客文章的时候，没有相应的减去计数，现在已经修复这个bug。<br /><br />三、博客的作者现在可以直接在删除博客文章的留言，不必进入博客管理界面的博客留言管理了，多余的博客留言管理功能删除。<br /><br />四、博客收藏功能现在可以收藏：论坛帖子、别人的博客文章、新闻，并且你也可以手工收藏任何其他URL链接。但是目前的收藏还不能够带有分类，我们会在元旦再次升级版本，将会带有分类功能。<br /><br />五、博客好友功能暂时关闭，目前博客好友功能没有发挥真正的好友交互的作用，和博客链接功能重叠了，我们将在明年重新设计和开发博客好友功能。<br /><br />六、博客统计功能删除，目前的博客统计带有误导性，只统计了本月和本周发表博客的在任意时间被点击的次数。<br /><br />七、博客导入功能暂时关闭。在元旦升级的版本当中，博客导入功能已经被全部重写<br /><br />八、博客导出和博客同步功能不再提供。博客导出和博客同步功能，我们建议用户使用抓虾、Google Reader等工具进行订阅，这些博客聚合工具提供了非常强大的博客备份、同步、导出等功能，比我们自己实现的功能要完美的多。如果有个别用户迁移博客的需要，希望博客文章的全部导出，请站内短信联系管理员。<br /><br />九、站内短信功能重写了一遍。在收件人没有阅读短信之前，发件人可以修改短信内容，也可以彻底删除短信，这样收件人将不会看到这封短信。此外，添加了清空站内短信的功能。<br /><br />十、很多小的bug修复和功能细节改进，例如页面title全部加上、博客分类功能改进等等。<br /><br />如果您发现博客有什么bug，或者你对博客有任何意见和建议，请到“<a href="http://javaeye-admin.group.javaeye.com/" target="_blank">JavaEye站务圈子</a>”报告，谢谢<br /><br />在12月份，我们还将添加一项大家期待已久的功能：博客广告功能。如果你已经申请到了Google Adsense广告账号，那么你可以在JavaEye博客开通你自己的Google Adsense广告，为你自己赚钱，如果你还没有Google Adsense账号，那么现在就赶紧申请吧。<br /><br />此外，我们本来预计上线的博客频道改版工作将推迟到2008年元旦上线，在2008年元旦上线的版本中，我们将把JavaEye2.0网站切换到JavaEye3.0的codebase上，在这次版本升级过程中，将有如下的功能改进：<br /><br />一、Rich Editor编辑器<br /><br />3.0的编辑器完全重写了一遍，将解决掉目前编辑器遇到的格式错乱、内容被截断等bug，并且提供了html代码的格式化。编辑器还将提供自动保存草稿功能，避免用户浏览器提交失败导致的文章内容丢失。此外，Rich Editor编辑器和bbcode编辑器之间的切换也进行了改进。<br /><br />二、博客收藏可以使用tag进行分类<br /><br />三、更好用、更多的博客导入功能<br /><br />四、博客相册可以使用tag进行分类<br /><br />当然，JavaEye的博客功能在元旦的版本升级之后，我们还将不断的改进和完善，在我们2008年上半年的计划当中，我们希望JavaEye的博客可以实现如下的功能：<br /><br />一、博客开放基于REST的API，便于用户通过其他网站调用博客的服务，或者通过支持REST的客户端离线使用博客服务<br /><br />二、让用户可以自己更换博客模板和CSS<br /><br />三、更好博客好友功能，让你可以关注好友在JavaEye网站上面的一举一动<br /><br />四、每个博客都拥有自己的wiki，可以建设自己的小知识库，可以把自己的知识分享到JavaEye的大知识库，也可以把JavaEye知识库当中自己感兴趣的内容提取出来构造自己的小知识库。
          <br/>
          <span style="color:red;">
            <a href="http://javaeye-admin.group.javaeye.com/group/blog/145538#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 03 Dec 2007 10:57:49 +0800</pubDate>
        <link>http://javaeye-admin.group.javaeye.com/group/blog/145538</link>
        <guid>http://javaeye-admin.group.javaeye.com/group/blog/145538</guid>
      </item>
  </channel>
</rss>