FastSpring学习笔记一

首先我们在http://www.springframework.cn/index.php官方网站下载FastSpring的源码 ,然后我们就可以开始我们的FastSpring学习之旅了。

在学习之前,本人先声明一下:本人学习.NET时间并不长,在开始写这篇文章的时候,我才使用了.NET不到一个月的时间,因此,很多东西都写得比较罗嗦或者有不正确的地方,欢迎各位指正。(我以前是用delphi7的)

到目前为止,我还不懂FastSpring这框架是如何构建的,我想,对于新手来说,关键是它能帮助我们快速架构一个比较正规的框架,因此,我们在源代码所附带的例子FastSpring.Net.AppWeb的基础上,加入我们的东西,它的这个例子是由另外一个项目FastSpring.App的类库基础上做出来的例子。不多说,我们找个目标的事情来做吧,我们先来做个网站吧,一些新闻之类的信息,下面我们开始了。

一、为了分清原来的作者所写的东西和我们所写的东西区分开,我们就像它的例子一样,也新建一个类库,名叫DZ_Portal.App。然后我们在它的FastSpring.NET.AppWeb的基础上为它添砖加瓦,在根目录下添加新项目,选择“Web窗体”,名称为:“Index.aspx”,语言选择“Visual C#”,右边两个选项都打勾吧(一个是“选择母版页”,一个是“将代码放在单独的文件中”),然后点击添加,它会提示我们选择母版页,我们选择FSMasterPage.master,然后点确定。

说明:为何要选择FSMasterPage.master呢?是因为在访问以FSMasterPage.master为母版页的网页时,FastSpring会自动为我们创建出FastSpring的整个框架出来,它不管你以哪个页面为起始页,只要第一次访问以FSMasterPage.master为母版页的时候,它就自动创建出来,这个我们不用管它是如何运作的哦。

二、我们选择根目录下的Index.aspx,点击鼠标右键,选择“设为起始页”,点击运行。

结果:出错,直接跳转到http://localhost:1837/FastSpring.Net.AppWeb/ErrorPage.aspx页面,为何会出现这个错误页面?是因为FSMasterPage.master母版页作怪,错误原因是Index页面创建的时候是继承系统的System.Web.UI.Page类,因此,我们需要修改它的父类,我们在Using部分输入:“using FastSpring.Web.Base;”,并修改FsLogin的父类为:BasePageSession。

现在的Index.aspx.cs的全部代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FastSpring.Web.Base;

public partial class Index : BasePageSession
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
然后我们点击运行,看看情况。出错,调试FSMasterPage.master单元的<title><%=this.SoftName + this.SoftVersion %></title>代码处停止,提示this为NULL,对象没有创建出来。为何对象没有创建?大家都知道Spring是一个IOC项目,它是根据xml的配置文件来生产出你所需要的对象的,因此,对象没创建出来的原因是没有配置文件告诉Spring去创建Index所需要的东西(我们在一开始运行例子的时候是没出错的,因此,我们不需要怀疑FSMasterPage.master的创建有问题,所以错误就只有这个了)。我们在下一步解决这个问题。

三、我们一开始的时候是创建了一个DZ_Portal.App类库项目的,因此,我们在DZ_Portal.App项目中添加一个Index页面的Spring配置文件,我们添加一个新项:“spring.net_bean_Index.xml”,这个配置文件的所有代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'>
 
  <!-- 页面定义 -->
  <object type="~/Index.aspx" parent="adminPageM">
  </object>
</objects>

说明:  <object type="~/Index.aspx" parent="adminPageM">,意思是说:“根目录/Index.asp”的页面创建时应用父类adminPageM的配置(Spring不知道是不是不会自动引用父类的配置进行创建的?要我们写那么多东西!要是哪位知道原因的,麻烦告诉我一下。)好了,我们运行一下看看会有什么结果。结果还是出错,为何?因为添加配置文件的是DZ_Portal.App项目,而不是网站的项目,所以,我们还要告诉网站项目去使用它的这个配置,因此,我们来下一步。

四、在web项目中引用DZ_Portal.App项目所生成的类库文件(怎么引用该会吧?在web项目的bin文件夹位置点击鼠标右键选择添加引用,找到DZ_Portal.App项目所生成的dll文件),然后在web.config配置文件中的spring节点下的context中加入下面一句:“<resource uri="assembly://DZ_Portal.App/DZ_Portal.App/spring.net_bean_Index.xml"/>”(<resource uri="assembly://程序集/命名空间/配置文件名称.xml"/>),原来的里面有很多类似的语句的了,看看就知道该如何写。好了,我们再运行一次。出现空白页面,到此为止,一个基本的页面终于创建出来了。本章也该宣告结束了。(有什么错误的请各位指正,谢谢。)

原创作品出自努力偷懒,转载请说明文章出处http://blog.csdn.net/kfarvid或 http://www.cnblogs.com/kfarvid/

posted @ 2007-11-03 16:10  努力偷懒  阅读(708)  评论(0编辑  收藏  举报