|
2008年2月21日
谢朓《王孙游》赏析
绿草蔓如丝①,杂树红英发②。无论君不归③,君归芳已歇④。
想要下载直接在地址栏输入:http://www.blogjava.net/Files/ash011/wangsunyou.mp3
【注释】①蔓:蔓延。 ②英:花。这两句是说地上长满了如丝的绿草,树上开满了各样的红花,已是暮春时节了。 ③无论:莫说。 ④歇:尽。这两句是说莫说你不回来,即使回来,春天也过去了。
【赏析】
这是一首乐府诗,《乐府诗集》收入“杂曲歌辞”一类。魏晋以来,文人创作乐府诗往往有一个特点:总是围绕着“古辞”(汉乐府)打转转,或拟古辞,或以古辞为引子生发开去(当然也有弃古辞于不顾而自铸伟辞的)。这种从古辞中寻找“母题”使创作上有所依傍的作法,已形成一个程式。南朝诗人写乐府诗虽然也依这一程式,但却出现另一种倾向,他们有时撇开汉乐府古辞,而直接上溯到《楚辞》中去寻找“母题”。比如,南齐王融和萧梁费昶都写过一首《思公子》,中心题旨就是采自《楚辞·九歌》:“风飒飒兮木萧萧,思公子兮徒离忧。”谢朓的这首诗也属于这种情况,其“母题”出于《楚辞·招隐士》:“王孙游兮不归,春草生兮萋萋。”也就是说,诗人的创作灵感获自《楚辞》,而所写内容则完全是现实生活中的感受。在古老的“母题”之中,贯注了活生生的现实内容。
蔓,蔓延;红英,即红花。春天,绿草如丝,葱葱茸茸,蔓延大地,绘写出一派绿的世界;各种各样的树上,红花竞放,绚丽夺目。绿的氛围,红的点染,在鲜明的对比之中,烘托出一派生机勃勃的景象。窈窕少女,目睹此景,心伤离情,不禁怦然心动,情思缱绻,不无惆怅地发出了感叹:“无论君不归,君归芳已歇。”且不要说心上的人儿不回来,即使等到他回来,那绚丽的花朵早已凋谢了,那大好春光早已白白地流逝了,我那美妙的年华也早巳悄然飘去了。红颜难久持啊!这里,诗人不主要写少女如何急切地等待着情人,如何急不可耐,而是着重写她对于红花的珍惜,对于大好春色的留恋,由此描写出她思君、恋君的春一般的情愫。如此写来,就把主人公的心态从一般的少女怀春,从感情的倾诉和渲泄,升华到了一种对春的珍惜、对时的留恋的理性高度,渗透出一种强烈的时间意识和生命意识。这样,从景的描绘,到情的抒发,再到理性的升华,三者水乳交融般地融汇在一起了。所以,这是一首充满了生命意识的景、情、理俱佳的好诗。
诗虽短小,艺术风格却颇具特色,体现了齐梁间诗歌创作雅俗结合的一种倾向。首先,从《楚辞》中生发出来的母题,显而易见带有文人的雅、艳色彩,暗示了它与文人文学的关系;但诗人却用南朝乐府民歌五言四句的诗歌形式,来表现这一古老“母题”,这便将原有华贵、雍雅的色彩悄悄褪去,淡化,使之在语言风格上呈现出清思婉转,风情摇曳的特色。其次,诗写春的景色逗引起春的情思,因景而生情,情景相生,短章逸韵,风姿绰约,这原是南朝乐府民歌的本色,是“俗”。然而在描写笔法上却颇具匠心,诗人在绿的氛围中缀以红花的点染,巧笔对比,着意渲染,流露出文人精心构制的痕迹,表现出“雅”。雅俗结合,创为佳构。另外,诗的用韵也值得一提。诗用仄韵,短促,急切,对表现出主人公惜春、惜时的时不我待的急切心情,起到很好的作用,呈现出语浅意深、韵短情长的艺术风貌。
我本人很喜欢,听了心里很平静的感觉~
Tuesday October 24, 2006 5:25PM
by Don Brown in Opinion
Listen: /Files/ash011/struts2.rar
Since arriving on the scene in 2000, Apache Struts has enjoyed a very successful run, by most any standard, helping to build many, if not most, of the Java-based web applications deployed today. Its history tells of how Struts provided a solid framework to organize the mess of JSP and Servlets to make developing applications, which used mostly server-generated HTML with a touch Javascript for client-side validation, easier to develop and maintain. As time moved forward, and customer demands of web applications grew and grew, Struts 1 pretty much stayed the same, leaving more and more plumbing to the web developer.
At JavaOne 2005, several of the Struts developers (Martin Cooper, Don Brown) sat down with Rich Feit (Apache Beehive) and a few Struts users to discuss the future of Struts. We came up with the Struts Ti proposal, which described a framework that brought together a lot of good things that were developing in the web framework community. The problem is that the Struts 1 code base didn’t lend itself to drastic improvements, and its feature set was rather limited, particularly lacking in features such as Ajax, rapid development, and extensibility.
At the same JavaOne, I sat down with Jason Carreira of the OpenSymphony WebWork 2 project to discuss how we could better work together. I was interested in building on XWork, the core of their command pattern implementation, but he suggested building on WebWork 2 directly. As Rich and I worked on the first few versions of Struts Ti, we decided to take Jason’s advice. We thought it was time for a framework to address higher level application needs, and by building on the proven WebWork 2 framework, we could spend our precious spare time where we felt it would make a difference. From then on, Rich and I worked mostly with Patrick Lightbody, also a core WebWork 2 developer, and found ourselves constantly “stealing” each others ideas for our respective code bases.
Around this time, Patrick and Keith Donald of the Spring WebFlow project were kicking around an idea of a web framework to bind them all, Clarity. Clarity brought together Spring WebFlow (Keith), Struts (Ted Husted and myself), WebWork (Patrick and Jason), and Beehive (Rich) to talk about the possibility of combining efforts into one framework. Unfortunately, the devil is in the details as soon as Beehive and WebFlow were unable to make progress on merging their wizard/conversion scope features, and questions about project ownership, brand, and identity soon broke up the party.
Not wanting to lose momentum, Ted and I started discussions with Patrick and Jason on how we could better work together, and after Patrick casually suggested the idea of a merger, Ted jumped on it and the Struts/WebWork merger was born. Since Struts Ti was already based on WebWork, it wasn’t that far a leap to bring the WebWork code into the Struts project. We started the Apache Incubator process for WebWork 2 in January and graduated the WebWork 2 code, developers, and community to Apache Struts that May.
At that time, Struts was struggling with the project’s core identity, whether it was an umbrella for multiple web frameworks or not. We had Apache Shale, a web framework based off JSF, as a Struts subproject, along side Struts Action 1 (now called Struts 1) and Struts Action 2 (the graduated WebWork 2 code). Unfortunately, these subprojects were confusion to the developer and user community, accustomed to the name “Struts” referring to a single framework. After an attempt to unify the Struts Action 2 and Shale subprojects into a single Struts 2 framework, the Shale developers felt it would be better if they were their own top level project (TLP) where they are today. Struts Action 2 was soon after renamed to simply Struts 2.
Today, the Apache Struts project has two major versions of its framework, but it is one action-based framework project. WebWork continues to deliver patch releases, and will certainly continue to do so until Struts 2 goes GA or final, but all new development takes place on the Struts 2 code. For those looking for drama or a controversy in the Struts/WebWork merger story, you’ll have to look elsewhere. Both groups of developers are working happily towards a Struts 2.0 GA release, trying to combine the stability and accessibility of Struts 1 with the elegant architecture of WebWork 2. Since the initial incubation, the Struts 2 code has added major features including a plugin framework, a new API, and better Ajax tags, and as promised in the Struts Ti proposal, we won’t stop there.
I decided to write this down to help clear up where this Struts 2.0 project came from and why it includes WebWork 2 code. Mergers are tricky things and it seems even in the Open Source community, one that champions collaboration, a merger between two projects is a rarity and needs to be defended. Amusing, because you’d be hard pressed to find a Java web developer that felt there are too few web frameworks. I think the WebWork and Struts communities pulled off something special in Struts 2, and hope the merger fever catches on in the Open Source world.
偶也是第一次配这东西,参考了许多网友的帖子,可半路上出现了很多报错,郁闷得死,
这里我把我自己最后成功的笔记分享给大家.
一 CVS服务器的安装:
1. 查看你的操作系统上是否安装了CVS:
#> rpm -qa|grep cvs
guile-1.8.0-8.20060831cvs
cvs-1.11.22-4
2. 建立cvs用户组:
/usr/sbin/groupadd cvs
3 建立cvs组的cvsroot用户和所属的目录:
#> /usr/sbin/useradd -g cvs -G cvs –d /cvsroot cvsroot
4 为cvsroot用户添加密码:
#> passwd cvsroot
密码:cvsroot123456
5 改变 /cvsroot/ 的目录属性:
#> chmod –R 770 /cvsroot
6改变用户登陆身份:
#> su cvsroot
7 开始创建单个项目:
#> cd /cvsroot
#> mkdir configuration
#>mkdir psgui
#>mkdir davinci
8 开始建立仓库:
#> cvs –d /cvsroot/configuration init
#> cvs –d /cvsroot/psgui init
#> cvs –d /cvsroot/davinci init
#> chmod -R 770 ./configuration/ ./psgui/ ./davinci/
9建立CVS服务启动文件,我们使用xinetd方式:
#> [Crtl]+[d] 切换到root用户身份
#> cd /etc/xinetd.d
#> vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot/configuration --allow-root=/cvsroot/psgui --allow-root=/cvsroot/davinci pserver
log_on_failure += USERID
}
注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
10 加入cvs服务:
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
已经存在了,如下:(没有添加了)
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations
11 启动cvs服务:
#> /etc/init.d/xinetd restart
12 检查cvspserver服务是否已经启动:
#> netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
已经有上面的显示结果
二CVS服务的用户管理:
上面我们已经建立了configuration和psgui、davinci三个CVS仓库,下面我们分别给这三个仓库建立cvs用户。
13创建可以登陆cvs服务器的用户名和密码:
#> su cvsroot
#> vi /cvsroot/configuration/CVSROOT/passwd
yujiabo:*****:cvsroot
#>vi /cvsroot/psgui/CVSROOT/passwd
lianghuoyan:*****:cvsroot
yujiabo:*****:cvsroot
这两个文件的意思是有yujiabo,lianghuoyan两个cvs用户,lianghuoyan拥有psgui的使用权限,yujiabo拥有configuration和psgui的使用权限,登陆后的权限是cvsroot权限。
注意:这里的cvs用户和系统用户是不同的。
14 *****为密码,由以下文件生成:
#> vi /cvsroot/passwd.pl
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}
";
#>chmod a+x /cvsroot/passwd.pl
15 如果你想生成一个密码是“123456”,则:
#> /cvsroot/passwd.pl “123456”
回车即可得到加密密码,用其替换passwd文件中的*****
16 Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有psgi的权限,你就在/cvsroot/psgui/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有psgui和davinci的权限,你就给/cvsroot/psgui/CVSROOT/passwd和/cvsroot/davinci/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
#> cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/psgui login
敲入命令回车后提示输入yujiabo的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是168.68.73.122)
客户端测试:
用ash用户登陆168.68.73.123
运行#
cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/configuration login
123456(输入的密码)
出现错误:2401 failed: No route to host
客户端连接不上,放开服务器防火墙2401端口,方法如下:
在168.68.73.122用root登陆后,运行#system-config-securitylevel
选择“定制”,其它端口处输入:2401,然后“确定”设置。
现在客户端可以连接了。
Windows下的客户端软件WinCvs1.3配置如下:
CVSROOT
认证方式:pserver
路径:/cvsroot/configuration
用户名:yujiabo
CVSROOT:yujiabo@168.68.73.122:/cvsroot/configuration
安装好TestLink 和Mantis后,所有配置好以后,发现测试相关的BUG标题中文是乱码,网上找了若干文章没有解决,自己摸索出一下方法。
Mantis版本: 1.1.0(RC2)
TestLink版本:1.7.1
PHP版本:5.2.5
MySQL版本:5.0.22
需要修改TestLink的文件:lib\bugtracking\int_mantis.php
function getBugSummaryString($id)
{
if (!$this->isConnected())
return false;
//$this->m_dbConnection->aaa();
$this->m_dbConnection->exec_query("set names 'GB2312'"); //<-新增加的
$status = null;
// 20070302 - {$this->m_dbName}.mantis_bug_table -> mantis_bug_table
// Problems with MS-SQL
$query = "Select summary FROM mantis_bug_table Where id='" . $id."'";
$result = $this->m_dbConnection->exec_query($query);
if ($result)
{
$summary = $this->m_dbConnection->fetch_array($result);
// 20070302 - BUGID - on MS-SQL fetch_array() does not returns numeric indexes, then
// only choice is accessing my field name (IMHO better)
if ($summary)
$summary = iconv("GB2312",TL_TPL_CHARSET,$summary['summary']);//<-修改的
else
$summary = null;
}
return $summary;
}
源文出自:http://www.joyblog.cn/article.asp?id=463
TestLink中集成Mantis bug 管理系统
相信大家在选择测试管理工具的时候,除了Free这个重要因素之外,是否也想让其功能更全呢?如果功能不够全,那么就想着是否能集成其他系统的功能进而完善呢?下面要说的就是一个集成功能的运用,希望对大家有帮助。
简述
在TestLink和bug 管理系统集成必须具备以下特点:
1. 在TestLink和bug 管理系统之间所有的信息交流都是在数据库中完成。
2. TestLink(现在版本)既不能发信息给bug 管理系统,也不能从bug 管理系统接收信息,只是单纯的调用。
在配置完成之后运行,TestLink用户的使用步骤如下:
1. 当执行某个测试失败。
2. 用户点击链接打开bug 管理系统,将issue提交。
3. 当issue提交完毕之后,用户必须将bug 管理系统的issue ID记录到TestLink。
4. 用户返回到TestLink的测试执行页面,将issue ID记录到Bug问题的地方。
5. 在用户保存执行结果之后,Testlink将显示从Bug 管理系统获取的数据。
环境要求示例:
l TestLink和Mantis安装在同一台服务器上
l Mantis的链接:http://168.68.73.29/mantis/
l TestLink的链接:http://168.68.73.29/TestLink/
l Mantis数据库名字:mantis
l Mysql登录名字:mantis_user
l 登录密码:Mantis_passwd
第一步:编辑config.inc.php
找到$g_interface_bugs='NO';
改成$g_interface_bugs='MANTIS';
第二步:在mantis上设置匿名登录权限
l 匿名登录的设置需要打开。
l Mantis的匿名用户具备对所有的项目都可以浏览的权限。
Change the following in your mantis config_inc.php (replace dummy with your created user)
# --- anonymous login -----------
# Allow anonymous login
$g_allow_anonymous_login = ON;
$g_anonymous_account = 'dummy';
注:这个dummy用户需要administrator在后台添加,注册不了的
第三步:在TestLink里配置mantis的界面参数。
你必须编辑TL_ABS_PATH/cfg/mantis.cfg.php,如下所示:
/** The DB host to use when connecting to the mantis db */
define('BUG_TRACK_DB_HOST', 'localhost');
/** The name of the database that contains the mantis tables */
define('BUG_TRACK_DB_NAME', 'manti');
/** The DB type being used by mantis
values: mysql,mssql,postgres
*/
define('BUG_TRACK_DB_TYPE', 'mysql');
/** The DB type being used by mantis */
define('BUG_TRACK_DB_USER', 'mantis_user');
/** The DB password to use for connecting to the mantis db */
define('BUG_TRACK_DB_PASS', 'mantis_passwd');
/** link to the bugtracking system, for viewing bugs */
define('BUG_TRACK_HREF', "http://168.68.73.29/mantis/view.php?id=");
/** link to the bugtracking system, for entering new bugs */
define('BUG_TRACK_ENTER_BUG_HREF'," http://168.68.73.29/mantis/");
测试配置:
首先在TestLink里面执行一条测试用例,执行之后,如果发现问题,则点击“Create New Bug”,则打开mantis页面,将发现的问题报告至mantis上,报告成功之后,回到TestLink,将Issue ID填写到“Bug/Problem Report”的文本框里,然后点击“Save Result”,这样,Testlink就能把Mantis上的issue数据显示在执行测试用例页面下方了。
此外,你还可以TestLink的bug报表功能,点击“Total Bugs For Each Test Case”,则在右边的页面里显示该项目所有测试用例下的bug列表。
摘要:
<?php
# Mantis - a php based bugtracking system
# Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@... 阅读全文
可惜不是java 写的,用的php
在本机装好两天了,
今天一天都在用这个系统,
可是发现里面的用户权限有些乱.
搞不清楚项目经理应该分配什么权限,
项目组员分什么权限,
项目总经理应该是什么权限来的,
中文资料也很少,在opensorce里找到英文手册看不懂,
有个中文手册讲得不清不楚的~~~晕
看样子要自己慢慢摸索了
去年8月份做的"房地产案件管理系统"
到现在为止,客户那边已经上线,
这两天客户反映的问题比较多,
由此,对这个项目有些感慨,现在记录下来,
以便往后借鉴:
1 需求不稳定,从一开始,需求就没有完全确定过,直到现在,需求还在增加或变动。
感觉现在整个系统就像在打补丁,客户那这突然想起哪里缺了什么,就要补什么,
不会顾及系统架构,这样子多多少少会破坏之前搭建好的系统架构.
2 我自己犯的错,在实施过程中,发现某些需求有歧义,但未反馈给客户确认,
自己下了结论,按自己的想法做,结果并不是客户的意思.
3 这个是最烦人的,整个系统代码一个月多一点就全部完成,但那时一直打电话要求客户那边协助测试,
因为客户的业务很复杂,也有很多特例,系统哪里有问题,只要他们自己一用就会发现的,可那时客户那边
没有专门负责这方面的人,一直都拖着,直到现在他们没有怎么测试,就上线,发现问题较多。
要导入的需求xml文件requirement.xml内容如下:
<?xml version="1.0" encoding="gb2312"?>
<requirements>
<requirement>
<docid><![CDATA[需求001]]></docid>
<title><![CDATA[需求001标题]]></title>
<discription><![CDATA[需求001的描述]]></discription>
</requirement>
<requirement>
<docid><![CDATA[需求002]]></docid>
<title><![CDATA[需求002标题]]></title>
<discription><![CDATA[需求002的描述]]></discription>
</requirement>
<requirement>
<docid><![CDATA[需求003]></docid>
<title><![CDATA[需求003标题]]></title>
<discription><![CDATA[需求003的描述]]></discription>
</requirement>
</requirements>
但不知道什么原因,我导入时总是报错:
"please check the file format,seems is not possible get any requirement"
这是为何,请有经验的朋友帮我解答一下下,呵呵
操作系统: windows xp
需要安装的软件:
ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
apache_2.2.6-win32-x86-no_ssl.msi
mysql-5.0.22-win32_Setup.exe
bugzilla-3.0.2.tar.gz
bugzilla-bundle.zip
win下搭建bugzilla确实太难了,因为本来就不是为工作在win下而设计的,bugzilla也是在最近几个版本才加强了对win的支持。
我的环境是:
ActivePerl-5.8.8.817-MSWin32-x86-257965.msi安装为F:\Perl目录
mysql-5.0.22-win32_Setup.exe安装为F:\MySQL
apache_2.2.6-win32-x86-no_ssl.msi安装为F:\Apache2目录
下面开始安装:
1. 配置数据库
打开mysql的command line client
输入之前设置好的root密码,创建数据库bugs,用户bugs,密码为空。并赋予这个用户一定的权限。(因为bugzilla配置文件中默认是数据库bugs,用户bugs,密码为空,所以我们在这里设置好后往下进行就会较方便了。)
创建数据库:
mysql>create database bugs;
创建用户并赋予权限:
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX, ALTER,CREATE,DROP,REFERENCES,LOCK TABLES,CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY '';
刷新一下:
mysql> FLUSH PRIVILEGES;
mysql的设置就完成了。
2 安装bugzilla
将bugzilla 2.20.1文件夹所有文件全部拷贝到E:\php\bugzilla\下。在 开始-〉程序-〉运行 中输入CMD,进入E:\php\bugzilla目录下,运行
perl checksetup.pl 检查bugzilla安装所需模块是否都已找到,默认情况下是需要安装许多模块的。bugzilla-bundle.zip解压缩这个zip包,放到E:\php,打开CMD,定位到这里,运行ppm,在ppm>下依次输入并回车:
install AppConfig.ppd
install DBI.ppd
install GD.ppd
install GDTextUtil.ppd
install MailTools.ppd
install PatchReader.ppd
install Template-Toolkit.ppd
install TimeDate.ppd
install Chart.ppd
install DBD-mysql.ppd
install GDGraph.ppd
install MIME-tools.ppd
即可安装完所有模块
中间可能某一个模块会提示安装失败,这时请安装完其他模块后再重新安装失败的模块
在安装之前失败的模块时,请带上路径安装,如:
ppm intsall http://www.brides.org/perl/ppm/PerlMagick.ppd
ppm uninstall mod_perl 将之前安装的mod_perl卸载,
由于版本不正确,所以可能会报已经安装了mod_perl,但还报mod_perl需要ppm install,
所以先卸载再用下面的命令重装一次
ppm install http://theoryx5.uwinnipeg.ca/ppm/mod_perl.ppd
ppm install http://trouchelle.com/ppm/Email-MIME-Creator.ppd安装这个时会报还有它的依赖包未安装,
这时就用这个网址路径安装相应的依赖包之后,再用以上命令安装这个包就行了.
再从命令行到E:\php\bugzilla\下运行 perl checksetup.pl,检查是否需要的模块都已经安装并找到了。是的话则会在目录下生成一个localconfig文件,这个文件是bugzilla运行时的配置文件。打开这个文件我们只需看一下用户名和密码那块是否和我们在mysql中设置的一样即可。
再次运行 perl checksetup.pl 会生成bugzilla需要的模版和数据库中的表。
输入exchange服务器(这个不要输入错误,因为bugzilla以后很多的操作都是需要发送邮件的,比如新建一个account后初始密码是发送到你的邮箱里的)。接着会让你输入管理员的邮箱地址,名字,密码
确认输入后即完成bugzilla的安装了。
再次输入perl checksetup.pl 确认数据库已经连接正常。修改E:\php:\bugzilla\目录下所有cgi,pl文件,将执行文件最前面的!#路径改成perl .exe的路径。
上一篇windowsxp 下安装php是为了安装TestLink而配的,
TestLink的安装有两种方式,一是自动安装,二是手工安装的方式。
我用的是自动安装
在上篇配置好的php环境下,按如下步骤安装TestLink
1.将TestLink文件夹拷贝到F:\phpweb目录下。
2.在浏览器输入访问地址http://168.68.73.97/testlink/
若没有安装就会自动跳到http://168.68.73.97/testlink/install/index.php安装页
3.选择new install,在进入的页面中,输入登录MySQL的用户名和密码,如root,如果没有为TestLink新建一个专用的用户,也可以输入初始用户root。但是因为root权限过多,所以,建议为TestLink新建专用的用户,并为该用户赋予ALTER、SELECT、INSERT、UPDATE、INDEX、CREATE、DELETE和DROP权限。
3.提示安装成功。系统为testlink创建一个默认管理员账号,用户名和密码为:admin/admin。你可以使用这个账号访问TestLink
在自动安装过程中,安装程序主要做了以下事情:
1.检查web server的参数、php配置、数据库版本
2.创建数据库和表,并导入初始数据
3.完成安装
我是第一次在xp下配置php
在网上找了很多资料,按照上面的一步步配,总会在半路出现一些问题,
以下是我综合几个网友的资料配置成功的步骤:
操作系统:windows xp
apache_2.2.6-win32-x86-no_ssl.msi http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.6-win32-x86-openssl-0.9.8e.msi
php-5.2.5-win32-installer.msi
http://cn2.php.net/distributions/php-5.2.5-win32-installer.msi
PHP 5.2.5 zip package
http://cn.php.net/get/php-5.2.5-Win32.zip/from/cn2.php.net/mirror(这里面有需要的dll文件)
mysql-5.0.22-win32_Setup.exe
http://www.mysql.com/
开始安装
一、安装Apache2.2.6
1 运行安装程序 图1
2 下一步,图2 安装协议
3 下一步,图3 Apache HTTP Server的一些说明
4 下一步,图4 填写服务信息
Network Domain 域名 ,这里填写 localhostServer Name 服务器名,这里填写 localhost
Administrator‘s Email Address 管理员邮箱
5 安装类型
选择自定义安装 Custom,图5
6 自定义安装设置,图6
修改安装目录,这里我把目录修改到F:\Apache2\图7
7 安装确认,图8
8 开始安装,图9
安装最后会出现几个命令行窗口。
9 安装完毕,图10
10 右下角出现图标,图11
11 双击显示服务器监控信息,图12
12 测试,图13
在浏览器地址栏输入 http://localhost,回车显示 “It works!”。
如图,表示安装成功了!
这样 Apache就安装完毕了。
二、安装PHP5.2.5
1 拷贝需要的组件
解压php-5.2.5-Win32.zip到“G:/PHPTemp”。这里主要是拷贝一些以后需要的组件。
2 运行安装程序php-5.2.5-win32-installer.msi
3 接受 安装协议
4 选择安装目录,
选定目录.我设置的是F:\php\
5 选择服务器设置
6 选择Apache配置文件目录,按我之前的配置,这里我选的是F:\Apache2\
7 安装设置
8 准备安装
9 安装完毕
10 从G:/PHPTemp拷贝libmysql.dll及ext文件夹到F:/PHP
并在F:/PHP/php.ini中修改成
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;
; ... or under UNIX:
将F:/PHP/php.ini文件拷贝到C:\WINDOWS目录下
将F:/PHP/libmysql.dll文件拷贝到 C:\WINDOWS\system32目录下
将F:/PHP/ext/php_mysql.dll 文件拷贝到 C:\WINDOWS\system32目录下
将F:/PHP/ext/php_mysqli.dll文件拷贝到 C:\WINDOWS\system32目录下
11 对Apache进行设置
在F:\下建立phpweb子目录,即“F:/phpweb”目录。
修改目录F:\Apache2\conf下的文件“ httpd.conf”。
搜索DocumentRoot "F:/Apache2/htdocs"把冒号中的F:/Apache2/htdocs,替换成“F:/phpweb";
搜索<Directory "F:/Apache2/htdocs"> 把冒号中的F:/Apache2/htdocs,替换成“F:/phpweb";
上面这两行可以不改,那么以后添加的论坛程序就要放在f:/Apache2/htdocs下面,就是以这个目录作为根目录。改的目的就是不想把所有网站程序都放在Apache的目录下面。
搜索DirectoryIndex index.html 增加为DirectoryIndex index.html index.php
上面这句为了能够运行缺省的页面,这里增加了 index.php作为缺省页面。
修改完毕,保存,并重新启动Apache服务器,也许会启动不成功,这时要不按Ctrl+Alt+Del删除Apache相关程序,要不重新启动计算机。
12 测试
在“f:/phpweb”目录中,创建文件 test.php
<html>
<head>
<title>PHP Tes</title>
</head>
<body>
<?php echo "<p>Hello World</p>"; ?>
</body>
</html>
在浏览器地址栏中输入 http://localhost/test.php,显示如下,
显示:
Hello World
那么你安装Apache和PHP成功了。
最近网站总是打开太慢,到后来干脆就不能打开了,
进到服务器重启tomcat服务时,竟然报了jvm内存设置太大
ps一看,发现了很多mysqld进程,
占内存,也占了很多CPU,
我是用的二进制包安装的mysql,网上一查,有很多朋友说,这属正常,
可我担心过几天服务器还会出现同样的问题,怎么办
看了apache+iis+tomcat可以让asp,jsp同时跑,
不知道再加个.net,php,cgi的项目站点,
又该怎么配置呢?
${sessionScope.user}
这是我在<sturts2权威指南>里看见的语法
说是jsp2.0的语法, 我用jsp这么久怎么不知道有这样的语法?
难道jsp1升级到jsp2后,语法也有改变吗?
sturts1升级到struts2后就有很大不同,
版本升级这么快,感觉自己要是不勤加学习,真的太容易被淘汰掉了.
现在还处于自学struts2阶段,所以很多文章都是从网上转了网友的, 呵呵,
看见好的文章就想自己收藏一份,以备忘.
原文出处:http://bbs.8isp.cn/simple/index.php?t1002.html
struts.action.extension
The URL extension to use to determine if the request is meant for a Struts action
用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。
struts.configuration
The org.apache.struts2.config.Configuration implementation class
org.apache.struts2.config.Configuration接口名
struts.configuration.files
A list of configuration files automatically loaded by Struts
struts自动加载的一个配置文件列表
struts.configuration.xml.reload
Whether to reload the XML configuration or not
是否加载xml配置(true,false)
struts.continuations.package
The package containing actions that use Rife continuations
含有actions的完整连续的package名称
struts.custom.i18n.resources
Location of additional localization properties files to load
加载附加的国际化属性文件(不包含.properties后缀)
struts.custom.properties
Location of additional configuration properties files to load
加载附加的配置文件的位置
struts.devMode
Whether Struts is in development mode or not
是否为struts开发模式
struts.dispatcher.parametersWorkaround
Whether to use a Servlet request parameter workaround necessary for some versions of WebLogic
(某些版本的weblogic专用)是否使用一个servlet请求参数工作区(PARAMETERSWORKAROUND)
struts.enable.DynamicMethodInvocation
Allows one to disable dynamic method invocation from the URL
允许动态方法调用
struts.freemarker.manager.classname
The org.apache.struts2.views.freemarker.FreemarkerManager implementation class
org.apache.struts2.views.freemarker.FreemarkerManager接口名
struts.i18n.encoding
The encoding to use for localization messages
国际化信息内码
struts.i18n.reload
Whether the localization messages should automatically be reloaded
是否国际化信息自动加载
struts.locale
The default locale for the Struts application
默认的国际化地区信息
struts.mapper.class
The org.apache.struts2.dispatcher.mapper.ActionMapper implementation class
org.apache.struts2.dispatcher.mapper.ActionMapper接口
struts.multipart.maxSize
The maximize size of a multipart request (file upload)
multipart请求信息的最大尺寸(文件上传用)
struts.multipart.parser
The org.apache.struts2.dispatcher.multipart.
MultiPartRequest parser implementation for a multipart request (file upload)
专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart.MultiPartRequest解析器接口(文件上传用)
struts.multipart.saveDir
The directory to use for storing uploaded files
设置存储上传文件的目录夹
struts.objectFactory
The com.opensymphony.xwork2.ObjectFactory implementation class
com.opensymphony.xwork2.ObjectFactory接口(spring)
struts.objectFactory.spring.autoWire
Whether Spring should autoWire or not
是否自动绑定Spring
struts.objectFactory.spring.useClassCache
Whether Spring should use its class cache or not
是否spring应该使用自身的cache
struts.objectTypeDeterminer
The com.opensymphony.xwork2.util.ObjectTypeDeterminer implementation class
com.opensymphony.xwork2.util.ObjectTypeDeterminer接口
struts.serve.static.browserCache
If static content served by the Struts filter should set browser caching header properties or not
是否struts过滤器中提供的静态内容应该被浏览器缓存在头部属性中
struts.serve.static
Whether the Struts filter should serve static content or not
是否struts过滤器应该提供静态内容
struts.tag.altSyntax
Whether to use the alterative syntax for the tags or not
是否可以用替代的语法替代tags
struts.ui.templateDir
The directory containing UI templates
UI templates的目录夹
struts.ui.theme
The default UI template theme
默认的UI template主题
struts.url.http.port
The HTTP port used by Struts URLs
设置http端口
struts.url.https.port
The HTTPS port used by Struts URLs
设置https端口
struts.url.includeParams
The default includeParams method to generate Struts URLs
在url中产生 默认的includeParams
struts.velocity.configfile
The Velocity configuration file path
velocity配置文件路径
struts.velocity.contexts
List of Velocity context names
velocity的context列表
struts.velocity.manager.classname
org.apache.struts2.views.velocity.VelocityManager implementation class
org.apache.struts2.views.velocity.VelocityManager接口名
struts.velocity.toolboxlocation
The location of the Velocity toolbox
velocity工具盒的位置
struts.xslt.nocache
Whether or not XSLT templates should not be cached
是否XSLT模版应该被缓存
摘要: 这篇文章是从网友http://www.blogjava.net/sterning/archive/2007/09/30/149775.html转来的,
他真是一位大好人,虽然在别的网站有很多转走的这篇文章,但我也想在自己的BLOG上再转一次,
理由很简单,想自己收藏一份,感谢原创sterning
Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到广泛的应用。作为... 阅读全文
|