课程设计名称: Web课程设计课程设计时间: 2013.11-2014.1专业班级学生姓名学号指导老师课程设计报告(附页)《简单小说在线阅读》网站设计一、目的通过实践课程的学习,加强对基本理论知识的理解,巩固理论知识并将其应用于实际系统开发中。
经过该门课程的学习后,能基本掌握应用 进行Web开发的原理、方法和工具,并且能够巩固C#语言基础,养成按规范编写代码的习惯,逐步培养分析、解决问题的能力以及团队合作、与人沟通能力,为将来进一步学习和深造打下良好的基础。
通过实践主要巩固XHTML、CSS、JavaScript以及.NET框架下开发 Web应用等基本知识;掌握网页设计制作、Web服务器控件的使用、数据绑定及动态网页开发以及各种设计工具使用方法等基本技能;培养分析问题、解决问题的能力,并能够独立自主使用开发Web应用程序。
二、目标初级目标:1、熟悉XHTML的各种基本标签;2、熟练掌握CSS的设计以及在页面中的使用;3、熟练使用的各种服务器控件;4、熟练使用DataList、GrideView、SqlDataSource等控件实现数据绑定。
中级目标:除完成初级目标,还应该:1、熟练应用各种验证控件,自定义控件及用户控件;2、掌握使用对象访问数据库;3、掌握常用的数据绑定控件;4、掌握应用程序的调试和IIS配置。
高级目标:除完成初级目标和中级目标,还应该:1、理解并熟练应用三层架构技术进行系统开发;2、掌握并熟练应用AJAX;3、掌握安全性策略。
三、设计背景当计算机网络在人们生活的各个领域迅速曼延之时,人们获取信息的方式也更加的直接迅速,网络化使信息领域变得更为广泛,在也没有了时间和空间的限制。
人们获取信息大部分是通过网站的方式得到的。
因此网站建设在Internet应用上的地位显而易见,而本网站的制作室为人们在精神食粮的获取上起到大大小小的作用。
在网络发表小说不管对读者还是对小说作者都是有直接好初的,对于读者来说不光在网络上迅速得到作者最新发表的小说,而对于小说读者来说把作品发表在网络上他能以最快的速度获得到读者对作品的意见。
这样作者可以最快的修改错误为书籍的出版做好准备。
这样便捷的交互方式,即通过先进的计算机和网络技术,克服地域的限制。
作者和读者之间直接的交流。
四、总体设计与设计过程1、网站系统分析与功能简介首先小说网站能够及时发布最新的小说作品信息并及时的反馈;其次小说网站留言板模块促进读者与小说作者及网站管理人员之间的交流与促进;同时小说网站本身能得到读者与小说作者反馈的信息同时促进网站的改进,能够加强三方面的了解和合作;并且小说后台管理方面的提供给予小说管理人员方便的操作。
作家是小说网站小说的提供者,一个小说网站只有有了优秀的作家,优秀作家提供的优秀作品才能吸引更多的读者来到该网站。
作家可以以一个读者的身份使用读者所有的功能,同时作家还可以上传小说以及对已经上传的小说章节进行更新。
前台首页前台登录注册后台登录特色推荐公告后台小说更新公告编辑对于本小说阅读网站主要分为前台和后台两大的系统。
小说前台主要是读者看到的这一部分,而小说后台则是为小说管理人员对网站上的内容进行添加、删除、修改操作。
下面是对两个模块的分析。
小说前台部分分为公告、精彩推荐、用户登录和文章搜索和模块,具体功能如下:精彩推荐是对读者的一种提示,能够了解小说的大概信息;网站公告是向读者发布一些小说及文学界的信息,能及时通知读者已更新或又添加的内容;用户模块主要是对在本网站注册的用户提供更多的符文,对有一些加密的小说可以直接阅读;文章搜索主要是对不熟悉本网站的读者方便在网站搜索小说。
小说后台管理部分失地网站管理员提供的系统,主要包括小说操作、公告的修改更新,个模块具体功能如下:小说操作模块主要是对前台小说的添加、更新操作;公告模块主要是上传公告。
会员管理模块式管理员对注册网站的用户一些阅读权限的操作。
2、数据库设计数据库中包含以下过几个表:系统管理员信息表(adminInfo)、小说表(storyInfo)、作者表(authorInfo)、公告表(gonggao),以下几个是各表建立时各列名的定义情况。
以下是数据库中所存入的数据:3、前台设计与作用下图是该小说阅读网站的主要页面,在首页上它连接着二个登录界面和一个用户注册的界面。
在创建页面时,分别运用了GridView,DataList等进行了数据绑定,在进行绑定时,要注意数据源的选择,在对DataList进行设置时,要在“where”的内置界面里与GridView建立一个控制的关系,这样就能产生下面第二张图的效果一样。
通过对特色推荐一表内的选择,了解其小说的详细信息。
在首页中你只能够了解其大概的内容,并不能真正的对小说进行阅读,所以要先登录,下面是登录界面的一个效果图。
在设置时,我们要对按钮“登录”在.cs的页面中进行代码敲入,代码展示在效果图的下方。
public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (Request.Cookies["ID"] != null && Request.Cookies["PWD"] != null){string id = Request.Cookies["ID"].Value.ToString();string pwd = Request.Cookies["PWD"].Value.ToString();Response.Redirect("zhuye.aspx?ID=" + id + "&PWD=" + pwd);}}protected void Button1_Click(object sender, EventArgs e){if (CheckBox1.Checked){Response.Cookies["ID"].Expires =new DateTime(2010,12,30);Response.Cookies["PWD"].Expires =new DateTime(2010,12,30);Response.Cookies["ID"].Value =TextBox1.Text;Response.Cookies["PWD"].Value =TextBox2.Text;}Response.Redirect("wenzhang.aspx?ID=" + TextBox1.Text + "&PWD=" + TextBox2.Text);if (TextBox1.Text != null && TextBox2.Text != null){string connsql = " DataSource=.\\SQLEXPRESS;AttachDbFilename=C:\\ljy\\App_Data\\Database.mdf;Integrated Security=True;User Instance=True";SqlConnection conn = new SqlConnection(connsql);try{conn.Open();}catch (Exception ex){Response.Write(ex.Message);return;}string mysql = "select * from authorInfo where zhanghao='" + TextBox1.Text + "' and passwoed='" + TextBox2.Text + "'";SqlCommand cmd = new SqlCommand(mysql, conn);SqlDataReader dr = cmd.ExecuteReader();if (dr.Read()){Response.Redirect("wenzhang.aspx");}else{Response.Write("对不起,您的账号或密码不正确!");}conn.Close();}else{Response.Write("<Script Language='JavaScript'> window.alert('用户名或密码不能为空!')</Script>");return;}}}在用户登录后,进入的是下面这一个页面,进入该页面之后读者可以直接阅读小说内容。
在该页面中主要运用了ListBox和DataList两个控件。
通过DataList在配置数据源设置时,在where子句中,以[title]=@title ListBox1.SelectedValue与 ListBox建立建立关系。
下面是对DataList一个设置情况:<table style="width:85%; height: 190px;"><tr><td class="style8"><asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"DataSourceID="SqlDataSource1" DataTextField="title"DataValueField="title"Height="192px" Width="152px"></asp:ListBox><asp:SqlDataSource ID="SqlDataSource1" runat="server" 43ConnectionString="<%$ ConnectionStrings:ConnectionString %>"SelectCommand="SELECT [title] FROM [storyInfo]"></asp:SqlDataSource> </td><td><asp:DataList ID="DataList1" runat="server"DataSourceID="SqlDataSource2"><ItemTemplate>contect:<asp:Label ID="contectLabel" runat="server" Text='<%#Eval("contect") %>' /><br /><br /></ItemTemplate></asp:DataList><asp:SqlDataSource ID="SqlDataSource2" runat="server"ConnectionString="<%$ ConnectionStrings:ConnectionString %>"SelectCommand="SELECT [contect] FROM [storyInfo] WHERE ([title] =@title)"><SelectParameters><asp:ControlParameter ControlID="ListBox1" Name="title"PropertyName="SelectedValue" Type="String" /></SelectParameters></asp:SqlDataSource></td></tr></table>因为没有登录就不能阅读完整的小说内容,所以一定要有账户号,以下上图是注册界面的一个概况,下图是设计时的情况,在注册时,不同的内容有不同的要求,账户不能为空,邮箱要求是一个完整的址,在设置密码时,很容易按错,导致密码不正确,因此在此处运用了多个验证控件,来提醒用户在注册时要注意的状况。