[置顶] Who am I?

生活离不开谷歌帐户——google.com被和谐了!附反域名劫持方法

June 25, 2009 Views
Comments 0

        最近国家互联网反低俗斗争愈演愈烈,前段时间GFW把blogger.com、youtube.com屏蔽了,接着把bing.cn等网站开玩笑似的屏蔽了几天,后来某某部门又高价购买“笑话软件”绿坝①。这不,前段时间央视多次指责谷歌搜索含有低俗内容②,在昨天晚上,在某些地区,突然③,google.com不能访问了,而google.cn能正常访问。这样,谷歌国际的搜索功能就不能使用了,谷歌中国的搜索仍能使用。因为谷歌中国按“当地政策法规”对搜索结果做了过滤,但谷歌国际的搜索却没有这个过滤功能。某某部门觉得你在谷歌中国搜索不到低俗内容,在谷歌国际能搜索到,这怎么行呢!所以就让google.com不能访问了。

        由于谷歌帐户功能是使用google.com域名的,因此这google.com不能访问,导致绝大部分谷歌帐户功能不能使用,包括Gmail、Google Talk等。生活离不开谷歌帐户!好在这次不能访问只是因为google.com被域名劫持了,而没有像blogger、youtube完全被和谐了,所以只要绕过国内的DNS解析,google.com就能访问了。为防止不必要的麻烦,我引用某前辈的方法,点击这里可以找到解决方案。

        关于GFW或类似的屏蔽事件,大众媒体是不会直说的,往往用当事人“正在调查了解”、某某部门“未给出回应”来敷衍。有些客观媒体指出,百度以前竞价排名被央视批评,后来它在央视花了大概4000万做广告和赞助,所以“网民提出或许央视是想跟谷歌也达成类似的交易”④。无论如何,有媒体报道谷歌正在与相关部门解决这件事。

        从如此多的反低俗斗争中我们可以看到以下几点:1.低俗内容不仅包括色情内容,还包括中国政治敏感内容,并且很难说哪个是主要的,哪个是次要的。我认为,反色情暴力内容主要应该针对未成年人,其最佳做法应该从良好的家庭教育做起,让家长和老师进行引导和监督,不要过于依赖过滤软件。如果是以反政治敏感内容为主,请不要打着反色情反暴力、保护未成年人的幌子,更不要混为一谈、同时过滤!我不对中国政府反政治敏感内容的做法发表评论。2.宁愿牺牲优秀的内容,也要禁止低俗内容。不知有多少优秀的国外Web2.0网站被和谐了,仅仅是因为它们可能有低俗内容(特别是政治敏感内容),就让他们其他的、大多数的优秀内容一同被过滤掉,这种过分追求完美的做法违反任何事物的发展规律,犯了以偏概全的错误。当然,外国的Web2.0网站被和谐了,国内对应山寨版的网站倒是发展壮大了,这可能算得上是民族保护主义。3.可能有严重的贪污行为。做软件这一行的都知道,在中国向企业卖软件,肯定是要给回扣的。某某部门以天价收购一个不值钱的“笑话软件”绿坝,并且没有经过正规招标,谁知道这其中隐藏着什么秘密。友情提示:千万不要在你的电脑上装绿坝,装了后你的电脑极容易被黑客攻击!

        最后,希望反低俗斗争继续加强,这样我以后可以靠卖代理服务器赚大钱了!

注释:

①“笑话软件”:源自某人的一篇文章《“绿坝-花季护航”是一个笑话》

②此新闻参加http://chinese.wsj.com/gb/20090623/chj103046.asp

③突然:经过了大概1个小时的断网之后,事情就发生了。

④参见注释②

阅读全文电脑网络google  谷歌.GFW  低俗  绿坝  

将java web程序发布到Google App Engine上(Windows,命令行)

June 12, 2009 Views
Comments 0

        Google开放了App Engine的java平台,供java爱好者们把自己的程序发布到网上。最重要的一点是:它是免费的!下面将讲解如何将java程序发布到App Engine上去。(Windows,命令行)

        在Google官方的英文的文档(http://code.google.com/intl/en/appengine/docs/java/gettingstarted/uploading.html)中有详细的讲解,你英文好的话,可以去那里看看。如果你在发布的过程中遇到了问题,再回到这里也不迟。

        首先你要注册你的应用,即开通App Engine功能(http://appengine.google.com/)。记住你的application-id

        打包你的程序之前,你需要在WEB-INF文件夹下添加一个appengine-web.xml文件,把下面内容中application-id换成你的实际id就可以了:

<?xml version="1.0" encoding="utf-8"?><appengine-web-app xmlns="http://appengine.google.com/ns/1.0">    <application>application-id</application>    <version>1</version></appengine-web-app>

        建议你把UTF-8作为所有文件的编码,否则可能会出现意外效果。

        建立工程并打包之后,你会得到一个app.war,由它解压出来的目录比如为E:\app,现在下载并解压Google提供的SDK,用记事本打开,把@java换成@你的JDK路径,形如:(引号在路径中有空格的时候不能去掉)②

@"C:\Program Files\Java\jdk1.6.0_14\bin\java" –cp …

        保存后,用命令行进入到它的解压文件夹下的bin文件夹,附带参数为“空格update E:\app”,例如:

E:\Program Files\appengine-java-sdk-1.2.1\bin>appcfg.cmd update E:\app

        接着会提示你输入邮箱名和密码,看见“Success.”就说明成功了。

        之后访问http://appengine.google.com/就可以看到你的应用列表了。

        由于最多有10个应用,还不能删除,所以当你下次更新的时候就不要改appengine-web.xml中的version了,以免浪费应用个数。Google App Engine有很多特性不支持,比如数据库不能用Hibernate(除非你封装JPA),然而你可以试试用其他的数据库,比如你现在的空间的数据库,远程连接就可以了。你也可以去专门买个数据库试试。如果你使用工厂模式开发数据库的DAO的话,你也可以重写一个DAO实例。

       有问题欢迎留言。

注释:

①有些朋友在设为其他编码是会出现jsp中文乱码的问题,但我测试的时候没有碰到,可能已经被fix了

②如果你装了jre,那么App Engine会自动用它的java.exe而不是JDK的,这样就会出现找不到javac.exe错误(cannot find javac executable based on java.home)。解决办法如上,引用:http://code.google.com/p/googleappengine/issues/detail?id=1226#makechanges。错误信息如下:

java.lang.IllegalStateException: cannot find javac executable based on java.home, tried "C:\Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bin\javac.exe"Unable to upload app: cannot find javac executable based on java.home, tried "C:\Program Files\Java\jre6\bin\javac.exe"and "C:\Program Files\Java\bin\javac.exe"

报考武汉大学国际软件学院的好处

June 11, 2009 Views
Comments 0

        本人是武汉大学国际软件学院(以下简称国软)2008级的学生,正值2009年高考报考之际,写一篇博客反映一下我所在学院的情况,供考生和家长们参考。

        专业前途可能是考生和家长们最关心的。据学院领导向我们通报,学院2005级学生大概300人中,有70人左右出国,超过90%毕业生出国、找到了工作或继续读研①。数字是比较乐观的。我认为软件方向是很有前途的,软件产业是一个在所有产业链末端的绿色环保产业,在中国是一个充满活力和机遇的朝阳产业,特别是随着政府打击盗版软件的力度加大,软件产业将迎来真正复兴。中国人口众多,许多跨国大型软件或硬件公司都想进入这个市场,但由于中国国情的特殊性而普遍碰壁。所以国内的软件人才既可以在国内公司工作或自主创业,又可以在跨国公司的分部求职,可谓机会多多。

        你可能要说了:现在软件学院太多了,随便什么学历的人,交点学费,上个软件或计算机培训班,就可以工作了,并且就业率很高。确实如此,但从那些三流学院培养出来的学生绝对和我们不是一个档次(除非你进学校后天天玩游戏)。学院在大一开设有外教口语课②,并与武汉环球雅思学校合作,开办雅思培训班③(收费大概每学期仅100元书费的样子),并且要求学生达到英语6级或雅思6分(或6.5分,我不记得了)才能毕业。说白了,学院是强化你英语的,并计划在将来进行英语教学(现在的部分软件课程是双语教学④)。或者,你强化日语也可以。英语不是学习软件的必要条件,但却是学好软件的必要条件。另外,软件专业课的老师偶尔有个“武汉算法第一人”之类的头衔,偶尔还有外国软件学校的老师来讲座甚至长期授课。非专业课的老师都是武大教务部统一安排的,不一定是让学生满意的老师⑤,但一定是合格的老师。总之,国软师资力量是绝对强大的。

        上面谈了些软件情况,下面谈些硬件情况。国软是有钱的,来源可能包括一些赞助商的补给⑥,以及“乱”开设的中印班、第二学士学位班等等。虽然软件学院在第三、四年学费贵很多,但这是全国统一标准,不是武汉大学的国际软件学院独有的。国软的占地范围是一个院子,而不像很多学院只是一栋楼,这个院子是购买以前“商专”和湖北经济学院的部分地盘而来的,目前在武大的地图上还没有这个地区⑦。国软是有钱的,还因为它在大搞院子的建设,比如加大宿舍宽度、为教学楼配备设备、改造宿舍楼朝向等等,但这些不是在表扬它,这些大搞建设只是它以前应该做的、没做好的地方,现在在亡羊补牢而已。到现在,我在一个超烂的寝室⑧住了大半年,最近搬了一次寝室,而在一个月后将再次搬寝室,并且我不知道我会到哪个寝室楼去。为教学楼配备设备,比如饮水机和空调:饮水机最近倒是有了;为一楼的自习室配了空调,但由于“同时开的时候电网受不了”所以一直没开,倒是办公楼的N个空调天天开着。国软现在的体育馆、活动室、体育场、实验室很多很多地方都亟需修补,学校向我们做了通报和承诺,但还不见动静,只听见机器轰轰的盖宿舍声⑨。国软的硬件条件只能说有美好的前景,而到现在还不能令人满意。

        想读其他好专业但分数不够的学生们建议报考国软。在我们这一届转专业是无条件的,只要你愿意离开国软,国软都将放你走,不会像某些学院那样收取高额的“转院费”⑩。国软在湖北招生的分数历来都是进校最低分⑾,只要你报,是很容易报上的(当然不能排除他们看到“服从调剂”就乱分配而把你放到其他专业去的情况)。另外,转院是从大一下学期开始的,而大一上学期在国软学的“高等数学”和“线性代数”都是除数学专业外课时最高的,不用你转专业之后重修或新学,节约时间。国软大一时几乎没讲开始编程的内容,能保证你专业课也不挂(不挂,即会及格)。当然,即使你读了软件专业,以后也不一定要从事这方面工作,也可以向某个2005级的前辈那样去考北大的心理系研究生。

        国软的学习风气很差。这点不能全怪学校,主要怪电脑。高等数学的老师说过,高等数学课不及格的学生要重修,一般有三个重修班,第一个是计算机科学与技术专业的,第二个是软件专业的,第三个是武大其他专业加起来的。可能说得有些夸张,但突出了国软的学风问题。只要寝室里有电脑,学生是管不住自己的,无论学习还是玩,每天总要花几个小时在电脑上。有不少寝室是通宵玩游戏的(尤其是高年级),甚至有同学因为不玩游戏而遭到室友的排斥。其次,宿舍管理员和辅导员对学生管教不严也是原因之一,特别是对晚上寝室作息时间和上课到课人数不管。你可以想像一下你睡觉时聆听同学在黑暗中敲打鼠标和键盘的声音,也可以想像一下本来应该坐满的教室只有一半人来上课。第三,学习的进度太慢,效果太差。软件编程学习对于新手来说极容易产生诸多问题,一旦新手没有好的室友为他答疑,他十有八九进入不了门道,以至于无法自学,无所事事,上电脑就玩游戏。建议学校开展一帮多的学习模式,发动学生组建开发小组,由组长帮助组员辅导专业课程以及学习额外内容,并给予组长奖励。我先所在的寝室有3人,而我把那两人引导到每天花2小时或4小时在电脑上学习编程的状态,虽然不一定有效率,但至少没把时间荒废在网游、聊天或开心网上。最重要的一点是:学风只是将学习成绩非常差的人大大增加了,而学习成绩非常好的人没减少多少。只要你是个肯学的人,学风差不会影响你的。

        由于国软在信息学部,所以这里有着所有非主校区所共有的缺点:消息闭塞。讲座、表演、比赛等学生活动,只要是校级的往往在武大本部举行,然而连这些活动的海报宣传都很难到达信息学部,使我们不得而知。有人说,其实,在武大本部的学生也有很多人不知道这些活动。我最近在着手打造这样一个海报发布平台,使得全校的学生活动能集中起来,并且能方便查看,特别是用短信或手机上网的方式查看。苦于没有学校的支持,我的进展很慢。希望消息闭塞这个缺点能在将来得到解决。

        提最后一点:国软的男女比例失衡,男女约4:1。虽说如此,但国软毕竟是在武大,女生相对来说是不少的。像华科或浙大这类学校,我的在那些学校的同学都说男女失衡更加严重,比如某电子信息专业每个班只有1个女生。所以想报那些超高分学校的男生们注意了:没有多少女生其分数能上那些学校的,也没有多少女生会偏好华科而不选武大这种充满人文气息的学校。

        先到这里,欢迎提出各种意见!如有你不同意的请留言!以上内容仅代表个人观点,仅作参考,无法保证其内容100%真实性、准确性,

注释:

①这些数字仅作参考,不保证其可靠性、权威性、真实性

②所谓“外教口语课”,实际上没几节课有趣,并且文化冲突大,老外的黑色幽默常不被我们接受

③实际上没多少人愿意去上这门课,它没有被学生及学院领导与其他课程同等对待

④双语教学在这里是指:讲话用汉语,教材和考试用英语

⑤有的老师讲方言完全听不懂,有的老师只会打击学生的进取心

⑥给公司好的学生可能要拿回扣吧!猜的

⑦以前的国软位于南望山,现在的位置在群光广场对面,才搬过来的

⑧有11人住一间的寝室……幸好我住的是3人间

⑨注释⑧提到的宿舍在被扩建中,已经没住人了

⑩学生每少一人,学校拨给学院的费用就会少一人的,所以学院都不愿意自己的学生出去,然而国软有钱……

⑾不保证官方的说法和这里相同

谷歌中国的CEO——李开复在卡内基梅隆大学的演讲视频:Google in China

June 7, 2009 Views
Comments 0

        2008年2月1日,谷歌中国的CEO在他的母校卡内基梅隆大学有一次关于谷歌公司如何发展中国市场的讲座。讲座虽然离现在有些时候了,不过很值得一看。他透彻的分析了跨国公司进入中国并扩大市场所需要注意的问题以及谷歌中国是怎样做的。长达一个多小时的讲座也是联系听力的好材料,并且因为是中国人说的英语,腔调和我们类似,所以较容易听懂。在卡内基梅隆大学官网上的视频是youtube的,所以只好放上优酷网的(你应该知道为什么):

 

李开复一直是中国大学生的励志导师,常常到各个大学去讲座。网上有很多他在其他大学的讲座视频,推荐这一个主要是因为它是英文的,并且李开复所讲的是在外国企业和人眼中,怎样看待中国市场。其中有一些中美信息文化的对比,让我印象颇深。如果你是读计科、软件工程或类似专业的学生,强烈建议你看一看。这也值得想在互联网上创业的年轻人看看,想想。

让Hibernate自动重新连接数据库——使用c3p0连接池

June 7, 2009 Views
Comments 0

        Hibernate没有自动重新连接数据库,原因很可能是因为你使用了Hibernate内置的连接池,这个连接池不会自动重新连接。使用Mysql时,默认过8小时没有数据交换,Mysql就会单方面断开数据库连接,所以有些时候你会发现过了8小时(或者一晚上)再访问网站,程序就会抛出数据库链接错误,而重启服务器容器(Tomcat等)之后程序又恢复正常。

        细心的你应该会发现,如果使用默认的连接池,在Hibernate的日志记录(INFO级别)中会提示:Using Hibernate built-in connection pool (not for production use!)(“你现在使用的是Hibernate内置的连接池,请不要在产品中使用它!”)如果你不听劝告,仍然使用它,就会出现上面所说的数据库单方面断开连接而无法访问的问题。

        解决此方法就是使用其他的连接池,比如此c3p0,在Hibernate官网的参考手册(reference)的3.3节中有简单的介绍①:

/**********引用开始*********/

Hibernate's own connection pooling algorithm is however quite rudimentary. It is intended to help you get started and is not intended for use in a production system or even for performance testing. You should use a third party pool for best performance and stability. Just replace the hibernate.connection.pool_size property with connection pool specific settings. This will turn off Hibernate's internal pool. For example, you might like to use C3P0.

C3P0 is an open source JDBC connection pool distributed along with Hibernate in the lib directory. Hibernate will use its org.hibernate.connection.C3P0ConnectionProvider for connection pooling if you set hibernate.c3p0.* properties. If you'd like to use Proxool refer to the packaged hibernate.properties and the Hibernate web site for more information.

Here is an example hibernate.properties file for C3P0:

hibernate.connection.driver_class = org.postgresql.Driverhibernate.connection.url = jdbc:postgresql://localhost/mydatabasehibernate.connection.username = myuserhibernate.connection.password = secrethibernate.c3p0.min_size=5hibernate.c3p0.max_size=20hibernate.c3p0.timeout=1800hibernate.c3p0.max_statements=50hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
/**********引用结束*********/
到这里还没结束,如果你按上面的方法添加了,不一定可以成功使用c3p0连接池(至少我测试时没有成功),你还需要添加一句话:

hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider

官方参考文档指出connection.provider_class属性是在自定义连接提供者时使用的,并没有说使用c3p0时也要加这句话。但我测试时不加这句话就没有效果,所以还是加上吧!

完整的设置方法:

(属性文件)

/*************排版开始**************/

# Database connection settings
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/mydb
hibernate.connection.username=username
hibernate.connection.password=password
# configuration pool
hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=15
hibernate.c3p0.timeout=3600
hibernate.c3p0.max_statements=50
# SQL dialect
hibernate.dialect=org.hibernate.dialect.MySQLDialect
# Enable Hibernate's automatic session context management
hibernate.current_session_context_class=thread
# Echo all executed SQL to stdout
hibernate.show_sql=true
# Drop and re-create the database schema on startup
hibernate.hbm2ddl.auto=update

/*************排版结束**************/

如果你想把properties放到xml中,使用hibernate.c3p0.min_size等4项,(而不是c3p0.min_size)不然可能会扔出警告。

/*********排版开始***********/

<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">15</property>
<property name="hibernate.c3p0.timeout">3600</property> <!-- seconds -->
<property name="hibernate.c3p0.max_statements">50</property>

/**********排版结束****************/

关于更多c3p0的用法请你自己到网上搜索吧!这里不再重述。

注释:

①引用的出处(2008年9月10日 18:26:56修改版):http://docs.jboss.org/hibernate/stable/core/reference/en/html/configuration-hibernatejdbc.html

阅读全文JAVA开发java  hibernate  s2sh  数据库  

“国软资讯平台”——我参与开发的第一个完整网站程序

June 5, 2009 Views
Comments 0

        前不久学校某部门搞了一个“软件文化节”①活动。所谓“节”实际上是几项软件、网络相关的比赛,其中有一个被称作U-WEB的比赛②内容是做一个完整的网站程序。这段时间我正在学习java web的开发,书看了不少,但缺少实践,正好碰到了这一年一度的比赛,能让我动动手。于是,

阅读全文一路走过java  网站  程序  第一次  

flickr,twitter,blogger,youtube被和谐了……

June 4, 2009 Views
Comments 0

【2009年6月9日重大更新:2009年6月8日左右,twitter、flickr和Live space都被解禁,bing也可以访问了,但Blogger和Youtube仍然被禁。】

【以下内容发布于6月4日,有部分内容已过时】

        听说bing不能访问,上网查了一下,才发现bing被和谐了。更重要的是,flickr,twitter,blogger,youtube都被和谐了。

        微软的新搜索引擎bing刚推出一两天,我还没来得看看,同学就说已经不能访问了。各大媒体的报道均称原因未知,但提到有不健康内容,并提到连同twitter等在内的网站无法访问。我ping了bing.com一下,出了个ip,然后到google搜索了一下,才发现bing被和谐了。之后继续试flickr,twitter,blogger,结果相同。youtube是老早就被和谐了的,现在它多了几个伙伴。

        这里和谐指的是G_F_W(去google的时候把下划线去掉),一个在2002年左右中国政府启动的“帮助”大陆网络避免访问“不良网站”的内容监管和过滤系统①,说白了就是通过屏蔽域名或IP来禁止你访问某些政治上不向着中国目前的执政党,或内容可能不健康的网站。像BBC、VOA这类新闻性的、有一些报道中国负面现象文章的网站,早在n年前(往前不超过2002年)就被G_F_W封杀了;而现在,G_F_W的封杀矛头指向了外国的新兴web2.0网站,包括flickr,twitter,blogger,youtube等优秀的网站,其中twitter(不知道flickr、blogger是什么时候)是在6月2日左右才被封的。

        Web2.0时代来临使得网民更多的成为网上内容的发布者。发布博客、上传照片、分享视频、唠叨“废话”(twitter)等越来越多成为网民们最爱,这些被封的外国网站是Web2.0网站的领跑者,可谓大获成功。在这些网站出土之后,中国有很多本地的、类似的Web2.0网站如雨后春笋般冒了出来。不过很多爱好者们更偏向于去外国的那些网站。最近,中国的互联网反低俗建设在积极进行中,所有Web2.0类网站的开设都需要专项备案,并且大型博客服务网站要求有专人看守,以确保发布在网上的信息“不低俗”。如果你常看新闻联播的话,应该有注意到某博客网站那由N个大监视液晶屏组成的监视平台。在“不低俗”的要求下,本地的Web2.0网站能很好的达到要求来避免被封(这里封指的是封服务器),但外国的Web2.0网站可不会理会中国的“不低俗”国情,照样提供充足的发布自由,并且他们“不低俗”的定义和我国是不一样的。这样,外国的Web2.0网站的不是“不低俗”的内容就有可能流入境内。因此,为了保证中国互联网世界的“不低俗”,某某部门就把它们封了,所用的技术叫做G_F_W。不过,在某一方面来说,它促进了本地网站的发展,也可以看作是促进民族工业的发展吧……

        而对于搜索平台,微软的live和bing均不能幸免。你时常用google就会发现,很多时候搜索结果会出现“据当地法律法规和政策,部分搜索结果未予显示。”字样②,意思就是说,google已经根据中国某部门的意思,屏蔽了不是“不低俗”的内容,使得它们不会出现在搜索结果中。几个星期前google的某人来学校做讲座,就提到遵守当地法规是一切发展的前提。所以,微软的搜索引擎想要进入中国市场,必须先过政治这一关,做一个有中国特色的搜索结果。推广言之,互联网服务想要进入中国市场,必须要符合中国特色,最好为中国市场定制产品,特别是要注意“不低俗”的定义和诠释。不过有一点是矛盾的:访问bing.com和bing.cn均无效,但google.cn搜索不到的结果用google.com就可以搜索到,所以G_F_W封杀应该只封杀bing.cn吧!

        你如果到网上搜索教你翻墙的文章,会发现绝大部分已经被删除了。甚至6月2日网上普遍发布的某博客文章(教你继续访问twitter)在现在已经被删除殆尽了。还好google的缓存还没有删,我有幸看到了。当然你也可以用你原先知道的翻墙方法。有一博客主气愤之下把他以前做的翻墙代理公布了出来,google几页纸就能找到,在这里就不公布出来了,以免被封掉。只要你有耐心,总能搜索到的。注意:多用用google.com。

        我好久没写博客了,但发生了这么大的事,还是忍不住要写一点。

        另:好友aifreedom(http://aifreedom.com)才在博客上写了介绍flickr,twitter的文章③,现在,这两个网站再难以使用和推广了。你总不会让所有人都去翻墙吧……

 

参考资料:

① G_F_W的介绍:http://zh.wikipedia.org/wiki/防火长城

② 在这个网址可以看到这句话:http://www.google.cn/search?hl=zh-CN&q=gfw+翻墙

③ 这文章的网址:http://aifreedom.com/technology/147

阅读全文电脑网络flickr  twitter  blogger  youtube  

武大的樱花开了

March 19, 2009 Views
Comments 0

        今天下午和几个同学到武大看樱花。正值樱花盛开之际,值得一看。

        武大是公认的全国最美丽的大学,其主要原因自然是学校的樱花了。各个学校甚至马路两旁都可能看到樱花的身影,但唯有武大的樱花,纵深几里,锦簇相拥,而两旁历史文物般的建筑,更增添了人文色彩和历史的沧桑韵味。走过樱顶,仰望老图书馆,穿梭于上世纪三十年代的建筑之中,还有一种大学氛围萦绕其中,别有滋味。除了樱园,武大还有桂园、梅园等,几乎每个季节都有花开。珞珈山旁,狮子山上,武大樱顶,欢迎你来!

        今天下午人挺多的,照相都要把握好时机。仅仅是星期四,就如此多人,所以星期天人会更多,所以别在星期天来。来的同学都说,武大的路,高低起伏,时上时下。还有同学说武大挺大的。武大大门口有义务导游,会带着人一路参观建筑、碑文、雕塑等,不过没多少人对这些感兴趣。樱花集中在樱顶,不知何故许多樱花树的主干都有被砍过的痕迹。有讽刺意味的是,从樱顶上去本来有个古老的铁门,现在只剩固定门的柱子了,因为门在“那个时代”被拿去大炼钢铁了。刚进大门东边的草坪是值得休息的地方,草被修建得很整齐。大门的门票是10元,不过侧门是没人管的,免费进去。如果你想给武大发展作出贡献的话,走大门也不错。

        我胡乱拍了几张相,放到网络相册里了(见下)。鉴于隐私,所有人都是路人(唯有一张有我的同学远远的出现)。鉴于樱花的美是团结之美,所以没有照樱花特写。鉴于时间关系和所感所想有限,就此结尾,完。过段时间去拍樱花落的照片(起风的时候),再贴上来。

网络相册:我照的樱花照片

阅读全文一路走过武大  樱花  学校  

Struts2学习笔记(不定期更新)

March 18, 2009 Views
Comments 0

        最近一直在学struts2,为了给以后做网站打下基础。到官网去看文章,内容很多,顾用此日志当作笔记本,记录一下自己的收获。由于之前看了一个电子版的struts2介绍(2.0.x版本),所以以下主要涉及那本书没有讲到的或2.1.x版已经更新的内容。本文内容不保证正确性,并不定期更新,对一切后果不负责!

Get Started文档:

  • <result type="redirectAction">SomeAction</result>中如果SomeAction不存在,则会渲染SomeAction.jsp。
  • 2.1.X版本在<s:url …>中改用var。(2.0.x中用<s:url id="xxx">)

struts-2-spring-2-jpa-ajax文档:

  • 数据库字段映射类需要用@Entity、@Id、@GeneratedValue注解。(这是Hibernate的配置)
  • CRUD服务类需要用@Transactional、@PersistenceContext等注解。(这是Spring注入框架的配置)
  • 配置JPA、Spring、Dojo。(struts2要用到的技术,分别是关于数据库、bean注入、Ajax)

crud-demo-i:

  • <s:action name="department!list" id="allDepartments">来调用某Action。解决了列表显示问题。例如,用#和%{}来用它:<s:select name="gender" list="%{#allDepartments.departments}" /> 。
  • 直接用<s:textfield name="employee.name">传值,struts2会在相应的Action中创建一个Employee类,再调用getEmployee.setName方法。(Note:可以限制哪些东西可以被注入)
  • %{employee.name} 如果没有employee,那么Struts2会实例化一个Employee,然后调用它的getName()。结果还是null,除非有默认值。在<s:textfiled value="…">里像这样用有助于重用表单。
  • 一个例子:<s:select name="gender" list="%{#{'male':'Male', 'female':'Female'}}" />
  • 验证器调用的是Action中的getter,而不是request值。这就是说,验证器调用的是,request值注入Action后,再用getter得到的值。

其他:

  • 在Action之后执行验证器:

    public String intercept(ActionInvocation act) throws Exception {

    //在Action之前执行的代码
    ......
    //开始执行Action
    String result=actionInvocation.invoke();//
    //在Action之后的代码
    ......
    //结束拦截器
    return result;

    }

  •  

未完待续……

阅读全文JAVA开发java  struts2  框架  建站  编程  

局域网共享ADSL上网疑难解答

March 5, 2009 Views
Comments 0

        寝室刚装ADSL不久,在多机器用路由共享上网方面曾碰到了一些问题,现在总结一下,给碰到同样问题的朋友一些参考。        在寝室上网一般都是多台机器连路由器,然后路由器通过“猫”拨号上网,上网方式为ADSL。大概步骤

阅读全文电脑网络

分页:[«]1[2][3][4][5][6][7][8][9][»]