新闻发布系统,B/S模式下的三层应用

简介: <pre><span style="font-family:KaiTi_GB2312; font-size:24px"> 三层的学习已接触四五个月了,最早是在学习VB.NET视频中开始接触的,那时候跟着视频敲了两个例子。再后来,个人机房重构的时候,从三层进步到了七层,此后就觉得我们不能仅仅局限于三层之上。 不过,那些都是C/S模式之下的编程。到现在,接触了B/S模式也一个多月
    三层的学习已接触四五个月了,最早是在学习VB.NET视频中开始接触的,那时候跟着视频敲了两个例子。再后来,个人机房重构的时候,从三层进步到了七层,此后就觉得我们不能仅仅局限于三层之上。
    不过,那些都是C/S模式之下的编程。到现在,接触了B/S模式也一个多月了,第一个牛腩新闻发布系统觉得很是有趣,还是从最基本的开始,下面就一起看看B/S模式下,三层是怎样应用的。这篇博客就以添加新闻的实例来总结。
    对于三层的整个过程大家都是很熟悉的了,那么在这里就不再赘述了,直接一层一层来分析。
    一.思路整理。
    U层:给参数赋值,实例化B层添加新闻的方法,最后做出相应的提示。
    B层:实例化D层的添加新闻的方法。
    D层:利用SQLHelper,执行有参数的增加操作。
    二.编写代码
    U层:

protected void btnAdd_Click(object sender, EventArgs e)
        {
            //给参数赋值
            string title = txtTitle.Text.Trim();
            string content = ftbContent.Text.Trim();
            string caid = ddlCategory.SelectedValue;
            //实例化新闻实体类
            News n = new News(title, content, caid);
            //实例化B层添加新闻方法
            bool b = new NewsManager().Insert(n);
            //进行相应的判断并提示
            if (b)
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('新闻添加成功!');</script>");
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('新闻添加失败,请联系管理员!');</script>");
            }
            // 清空标题和内容
            txtTitle.Text = "";
            ftbContent.Text = "";
        }

 B层

public bool Insert(News n)
        {
            return ndao.Insert(n);
        }  
    D层:
 public bool Insert(News n)
        {
            //TODO:增加新闻
            bool flag = false;
            string cmdText = "news_insert";
            //实例化参数
            SqlParameter[] paras = new SqlParameter[]
            {
                new SqlParameter ("@title",n.Title ),
                new SqlParameter ("@content",n.Content ),
                new SqlParameter ("@caid",n.CaId )
            };
            //执行有参数的增加新闻的存储过程
            int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);
            if (res > 0)
            {
                flag = true;
            }
            return flag;
        }  

    以上都是和我们C/S模式下相同的地方,若是C/S模式下,这也就完工了。而B/S模式下,我们还需要进一步对前台网页进行设计。下面就都是对网页设计需要进行的相应的操作:
    这部分的代码都比较简单,只是因为第一次接触,可能都觉得陌生。这里就简单解释几个代码段的含义:

1.<--添加网页标题-->
    <%@ Page Title="添加新闻_后台管理_牛腩新闻发布系统">
2.<--显示标题-->
    <h3>添加新闻</h3>

    注:h1、h2、h3、h4、h5及h6标签的作用是显示标题(这里的h是“标题(heading)”的意思)。其中h1是一级标题,字体最大;h2是二级标题,字体比一级标题略小;而h6是六级标题,它是最后一级标题,字体也最小
3.<--新闻分类下拉列表控件设置-->
    <p>
        新闻分类:<asp:DropDownList ID="ddlCategory" runat="server" DataSourceID="SqlDataSource1" DataTextField="name" DataValueField="name"></asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:newssystemConnectionString %>" SelectCommand="SELECT [name] FROM [category]"></asp:SqlDataSource>
    </p>
4.<--新闻标题文本框控件设置-->
    <p>新闻标题:<asp:TextBox ID="txtTitle" runat="server" CssClass="newstitle"></asp:TextBox></p>  
5.<--新闻内容外部控件设置-->
    <p>新闻内容:</p>
        <p>
            <FTB:FreeTextBox Text="" Language="zh-CN" ToolbarStyleConfiguration="OfficeMac" ID="ftbContent" Width="500" Height="200" runat="server">
            </FTB:FreeTextBox>
        </p>
    注:标签<p>里的p是“段落(paragraph)”的意思,也就是一个文本段落。
    前台设计好后,我们就可以通过浏览器看到此部分了:

学习心得:
    虽然学习了三层很长时间,但换一种模式,又发现了许多新鲜的东西,这也正好激发了自己学习的兴趣。同样,我们的学习还是需要积累,B/S的学习继续。。



目录
相关文章
|
6月前
|
开发框架 前端开发 Java
MVC架构模式
MVC架构模式
66 0
|
6月前
|
设计模式 网络协议 Java
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式
65 0
|
9月前
|
存储 数据采集 数据库
【机房重构】三层
【机房重构】三层
|
9月前
|
数据库
三层架构——三层登录
三层架构——三层登录
62 0
|
网络协议 API C语言
网络聊天程序的设计与实现
网络聊天程序的设计与实现
224 0
网络聊天程序的设计与实现
|
存储 设计模式 缓存
架构设计30-架构模式07-命令查询指责分离模式
架构设计30-架构模式07-命令查询指责分离模式
123 0
架构设计30-架构模式07-命令查询指责分离模式
|
存储 消息中间件 算法
还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !
DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。在正确实现的情况下,我们通过DDD完成的设计恰恰就是软件的工作方式。UL(Ubiquitous Language,通用语言)是团队共享的语言,是DDD中最具威力的特性之一。不管你在团队中的角色如何,只要你是团队的一员,你都将使用UL。
还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !
|
存储 弹性计算 5G
5G 网络重构关键技术 | 带你读《5G时代的承载网》之十五
5G 网络架构的重构是以一系列新技术的引入作为先决条件的,例如,基于 SDN 实现控制与转发的分离,基于 NFV 实现软硬件解耦。另外,还需要引入 网络切片、边缘计算、D2D 通信等技术方向,以形成针对所有场景的解决方案。 本节将对几个主要的 5G 使用技术做简单介绍。
5G 网络重构关键技术  | 带你读《5G时代的承载网》之十五
带你读《好设计,有方法:我们在搜狐做产品体验设计》之二:有源设计
那些激动人心、让人拍手叫好的设计,到底有没有方法可循?背后到底有没有设计理论支撑?答案是肯定的!本书作者是资深体验设计专家,拥有超过10年的产品体验设计和团队管理经验,他们将试图为大家总结和揭示那些优秀设计背后的理论和方法。
|
SQL 存储 .NET
三层架构之我见 —— 不同于您见过的三层架构。
我从02年开始了编程的工作,开始接触一些简单的网站,下半年写了个小的自助建站程序(asp和asp.net),比较简陋没有使用。03年开始正式做网站(asp)。03年下半年开始改版三好在线(www.sanhaoonline.com   asp.net ),03年底、04年初才知道了三层架构的相关东东,一开始是很不了解的,所以呢根本就没有理睬,依旧按照我自己的思路写网站。
1217 0