小站恢复记

由于原来服务器被攻击,销售代表给我重新安排了一台主机,之前我做过一次数据备份,但是文件没有备份,左等右等,都不见服务器恢复,于是打定主意自己恢复自己的数据, 重建博客。

首先得确保手头有原始的数据,我当时在phpMyAdmin中导出了所有的数据保存为sql文档。

1.重新创建原始的WordPress,并把原来的一些插件和主题重新安装好。重新创建的数据库名称可能与原来的数据库名称有出入,就需要修改导出的sql文件。

2.比如我原始的数据库名称是alswl_wp,现在创建的数据库是dddspace_wp(记住哦,是全称,不是自己填的部分)。找到sql文件 ` --

-- 数据库: alswl_wp

CREATE DATABASE alswl_wp DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

USE alswl_wp;`

只保留 USE 'alswl_wp',并且修改为USE 'dddspace_wp',之所以不在这里创建,是因为一般空间管理器取消了phpMyAdmin创建数据库权限,只能在面板创建。

如果当初备份数据库是全部备份的话可能还会有其他的系统数据库,这些必须删除,保证sql文件只对dddspace_wp这个数据库进行增加表的操作

3.为了保证数据库数据正确,把WP自动创建的表删除,然后就可以导入sql文件执行了 ...

more ...

下雨天

很不喜欢下雨天啊,每每这个时候,心情总是比较低潮`

尤其记得小时候在电视屏幕前,红木沙发,黑洞洞的屋子里,我一个人在看着动画片,大凡这个时候作业是没做的,承受着心理的压力享受着片刻的欢娱`

博客搬过来两天了,还不太习惯使用个人博客,在hostshar.cn和wordpress.org.cn混迹着,今晚上还写了一篇帖子我的博客--- DDD的一亩三分地

订阅了好几个喜欢类型的博客,幸亏有Google Reader这个强大的在线订阅器,浏览很舒服.

看到网友都通过博客提供业界资讯,应该是他们感兴趣的,我吧,喜欢用iGoogle看资讯,IT资讯去cnBe ta看,社会新闻、八卦新闻去网易看,自己还没有养成自己发布信息的 良好习惯。

看了其他网友们的文字,感觉自己文学素养真是负数了,嗯,以后要适当加强了````

more ...

唉,工作室

明天应该有会计考试,要清空主楼自习的教室,所以自习室里考研的同学都把书搬到工作室来了

来就来了,都是同学,放放也无所谓,还把老乡带来放书。。。

我承认,我小气了```

小张的博客里看到他所在的工作室,衡天工作室,里面介绍说在当地业界小有名气,承接各种网站制作项目,真挺羡慕他们的

我不由想到我们自己的灵动工作室,今天晚上又只有我一个在工作室,上课的上课,自习的自习

工作室一直人员稀少,大多又考研去了,想招人,一看周围同学,好多还沉迷在游戏里,都大三的人了,大一又好多知识没学,进度这么慢,大二也没多有有学习、做项目的心。

记忆里当时大一刚加入工作室的时候,是多么兴奋,还挺崇拜里面的元老,现在工作室都成这样了

我把自己手头这个贴吧完成之后,到了11月份估计也得去找工作了,那时候就感觉真没人了

真无奈```

more ...

终于创建了自己的博客了

这个想法一直就有,不过没有付之于实践,这次Yo2服务器崩溃,终于促使我创建自己的DDDSpace.cn

在这里要感谢小张,呵呵,让我赶上了新手空间合租,享受了性价比很高的服务,还要感谢wordpress.org .cn,里面很多会员的帖子给我很多帮助,让我能够快速的创建这个博客

刚弄好这个博客,还有很多工作要做,先到这里了

测试一下codercolorer

package postbar.action;

import java.util.ArrayList;

import org.apache.log4j.Logger;

import com.opensymphony.xwork2.ActionContext;

import postbar.bean.Category;

import postbar.bean.Topic;

import postbar.dao.CategoryDAO;

public ...

more ...

OGNL中的操作符

使用此表达式,会生成一个文本框,并且,如果request.attribute中有loginNames属性,将会做为些文本框的默认值。

如果只使用#request.loginNames在struts2的标签内部,是不会显示任何值的,注意外面加上的%{}附号,才会被正常的使用。

如果希望如EL语言一样直接输出文件,如在一个之间的innerHTML文本为#request.loginNames的值,我们只要使用:使可以正常使用!

注:

1.${}是EL语言的 %{}这样的形式是ognl表过式语言的,在struts2的标签内部,使用%{}这样的形式,在标签外部可以使用${}EL语言的方式。如 果在struts2的标签内部使用${}这样的方式,会出现以下的错误提示:

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

2 ...

more ...

乱码!又见乱码!

今天解决了贴吧发帖的问题,可以正确的发送到正确的分类了。

随后遇到的问题是发帖完毕返回 Category.action 时候,无法读取争取的贴吧分类数据,经过在 struts.xml 里的Category.action 里的 result 后面的url加入参数,可以读取正确categoryId了

本来想在result中加入param元素而不是在url后面加 ?categoryId=0来实现,但是尝试了好久,Google和官方文档都没有什么解决方案

其中遇到的一个问题是「&」这个符号不能直接使用,需要进行转义,用「&」来替代。

最后是categoryName的问题了,本来以为很简单,却遇到了编码问题,之前从Home.action转到Category.action能正确编码,像 ht tp://localhost:8080/PostBar/Category.action?categoryId=4&categoryName=%E9%9F%B 3%E4%B9%90 ...

more ...

一个Action提交的问题

贴吧在提交帖子时候必须提供贴吧分类id categoryId,但是怎么把这个id提交到PostAction就比较麻烦了,在jsp页面中我试了好多办法,尝试使 用param和hidden(baidu用的hidden)标签,但是都不能读出cagegory.jsp页面的categoryId值。

最后我索性用试所有的表达式

<s:hidden name="topicCategoryId" value="%{#categoryId}" />
<s:hidden name="topicCategoryId" value="#categoryId" />
<s:hidden name="topicCategoryId" value="%{categoryId}" />

最后一个果然有效。。。

貌似记得这是OPGL表达式?****

more ...

解决 Null value was assigned to a property

晚上开始写贴吧分类,把class改成category,规避了关键字class,也显得更合理,百度的分类就是ct

然后在分类上遇到一个小问题,category_father在数据库是integer类型,可以为null,因为存在根分类,在这种情况下用Hibernate读取 Category时会产生错误

在jUnit单元测试中就通不过,错误为 org.hibernate.PropertyAccessException: Null value was assigned to a property

Google后,发现Category中定义categoryFather为int类型,是不支持null的,需要改为Wrapper类Interger

有人说只需要设定setXXX和getXXX的Integer的类型和.hbm.xml文件中个Type="java.lang.Integer"就可以了

但是经过我测试发现,categoryFather 这个成员也要定义成Interger,否则会报错 org.hibernate.PropertyAccessException: Exception occurred inside setter of ...

晚上写完分类,感慨到:框架先行,功能其后 ...

more ...

Struts2的编码问题

继续昨天的编码问题 我一直全部采用UTF-8格式,而且在jUnit测试中并没有问题,说明是在Struts进行数据收集时候出错。

Google之后,根据网上一些建议修改web.xml struts.xml 但都没有效果。

网上建议在web.xml中添加 :

<filter>
    <filter-name>struts-cleanup</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp
    </filter-class>
</filter>
<filter-mapping>
    <filter-name>struts-cleanup</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

来设定本地化和编码,然后在struts.xml中添加过滤器

<constant value="UTF-8" name="struts.i18n.encoding"></constant>
<constant value="UTF-8" name="struts.locale"></constant>

根据我测试 ...

more ...

学习使用log4j

今天用Log4j时候,感觉只显示message讯息太少了,直觉上这些流行的工具应该会提供更强大的定制功能,就去google了一下

果不其然:相关配置参数如下

Pattern to output the caller's file name and line number.

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为「rn」,Unix平台为「n」

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd

HH:mm ...

more ...