基于WEB的网络编程开发》课程学习总结报...
《基于WEB的网络编程开发》课程学习总结报告
本学期《基于WEB网络开发》课程,我从软件工程的角度完成了《论坛管理系统》项目。在完成这个项目的过程中,我掌握了相关的知识和技能,也体会了团队合作的实践经验,学习到了不少宝贵知识。下面是我对本学期《基于WEB网络开发》课程的学习总结。
一、《论坛管理系统》简介及功能说明(按照自己实际的项目功能来写)
1.系统总体设计
1.1系统功能设计
论坛管理系统是一个通用的BBS论坛。在本系统中,它主要包括用户登陆和注册功能、用户和角色管理功能、论坛目录及其版主管理功能、主题管理功能、主题回复管理功能、附件管理功能等。它们的具体描述如下:
1.1.1用户登陆和注册功能
用户登陆和注册功能主要包括的功能如下:
(1)用户登录:验证用户的信息是否合法,以及验证用户是否为系统的合法用户。
(2)用户注册:由系统管理员添加新的用户
1.1.2用户和角色管理功能
用户和角色管理功能主要包括用户管理、角色管理及其用户和角色之间的关系管理。在系统中主要包括:用户管理、角色管理、添加角色和用户修改密码。
1.1.3论坛目录及其版主管理功能
论坛目录管理功能主要对论坛目录的管理,如论坛目录的添加、修改、删除、和排序等。在系统中主要包括添加新的目录、修改目录、删除目录、排序目录。
1.1.4主题管理功能
主题管理功能主要实现主题管理功能,如主题的添加、修改、删除、查看以及主题的浏览功能等。在系统中主要包括管理主题、添加主题、修改主题、查看主题、浏览主题等。
1.1.5主题回复管理功能
主题回复功能主要实现回复管理功能,如回复的添加、修改、删除、查看以及回复的浏览功能等。在系统中主要包括管理回复、添加回复、查看回复、浏览回复。
1.1.6附件管理功能附件管理功能主要对主题或者回复的附件进行管理,如附件的添加、上载、删除等。在系统中主要包括显示附件、上载附件、删除附件。
系统模块划分
论坛管理系统用户登陆和注册功能模块用户和角色管理功能模块论坛目录及其版主管理功能主题管理功能模块主题回复管理功能模块附件管理功能模块
2.系统数据库设计(按照自己实际的项目功能来写)
2.1表设计角色表Role
角色表Role用来存储系统的角色数据,如角色ID、角色名称等。字段名数据类型字段说明键引用备注RoleIDint角色IDPK主键(自动增1)RoleNamevarchar角色名称用户表Users用户表Users用来存储用户的数据,如用户ID、用户名称、用户密码、Email、所属角色ID等。字段名数据类型字段说明键引用备注UserIDint用户IDPK主键(自动增1)UserNameVarchar(200)用户名称PasswordVarchar(200)用户密码EmailVarchar(200)电子邮件RoleIDint所属角色IDPK引用Role表的RoleID字段论坛目录表Category论坛目录表Category用来存储论坛目录的信息,如目录ID,目录名称、上级目录ID、排序顺序号等字段名数据类型字段说明键引用备注CategoryIDint目录IDPK主键(自动增1)DesnVarchar(200)目录名称EnDesnVarchar(200)目录的英文名称UrlVarchar(200)目录的连接地址ParentIDint上一级目录PK的IDOrderByint排序顺序号IsDirint是否为目录SubCountint包含子目录的数量主题表Title主题表Title用来存储论坛的主题数据、如主题ID、主题名称、创建时间、附件标志等字段名数据类型字段说明键引用备注TitleIDint主题IDPK主键(自动增1)CategoryIDint主题所属目FK引用Category录ID表的CategoryID字段EnDesnVarchar(200)主题名称BodyText主题的主体内容UserIDint用户IDFK引用Users表的UserID字段CreateDateDatetime创建时间UpdateDateDatetime修改时间Flagint附件标志0:不包含附件;1:表示包含普通附件;2:表示含图片附件;3:表示既包含普通附AnwerNumInt回复次数VisitnumInt查看次数主题回复表Content主题回复表Content用来存储回复的信息,如回复ID、回复名称、创建时间等字段名数据类型字段说明键引用备注ContentIDint回复IDPK主键(自动增1)DesnVarchar(200)回复名称BodyText回复的主体内容UserIDInt用户IDFK引用Users表的UserID字段CreateDateDatetime创建时间Flagint附件标志0:不包含附件;1:表示包含普通附件;2:表示含图片附件;3:表示既包含普通附件又包含tupTitleIDint所属主题IDFK引用Title表的TitleID字段附件表Attachment字段名数据类型字段说明键引用备注AttachmentIDint附件IDPK主键(自动增1)DesnVarchar(200)附件名称UrlVarchar(200)附件的连接地址FileTypeInt文件类型ContentIDint回复IDFK引用Content表的ContentID字段TitleIDint主题IDFK引用Title表的TitleID字段版主表Master字段名数据类型字段说明键引用备注MasterIDint附件IDPK主键(自动增件又包含tupCategoryIDint主题所属目FK录IDUserIDInt用户IDFKFlagint附件标志1)引用Category表的CategoryID字段引用Users表的UserID字段1:表示主版主;2:表示副版主
二、实现技术说明
实现本系统采用以下技术:C#、ASP.NET2.0、sql数据库编程、CSS、html、ADO.NET
该系统,可以采用客户端/服务器架构C/S架构或者(B/S)架构来实现。
图3-1客户端/服务器架构
客户端:负责商业逻辑和数据显示
客户端组件:客户端应用程序、数据库API、客户端网络库服务器:负责管理数据和分配服务器资源(内存、网络等)服务器组件:服务器网络库、开放数据服务、关系引擎、存储引擎
三、环境配置要求:
1、开发平台
操作系统:Window201*/XP/Windows201*数据库:MicrosoftSQLServer201*。
开发平台:MicrosoftVisualStudio201*、IE6.0及以上、IIS
软件需求:、Photoshop、网页三剑客、MicrosoftoffficeWord、Microsoftofficevisio
2、运行配置
硬件平台:PentiumⅢ以上CUP、128MB以上内存。操作系统和版本:Windows201*/XP/Windows201*
支撑环境(例如:数据库等)和版本:MicrosoftVisualStudio.NET201*、MicrosoftSQLServer201*、IE5.0或以上版本。四、总结
扩展阅读:第二阶段WEB开发基础学习总结
WEB开发基础学习总结
第二阶段任务:学习掌握HTML、CSS、JavaScript等与web开发相关的基础知识。在第二阶段的学习中,主要都是针对web开发基础的知识,其中html用于来表现网页的结构与内容,css用来控制页面的外观和表现,javascript用来控制页面的行为。其中分别针对每一部分分别总结如下:
HTML的学习总结:
(1)、HTML、XHTML的不同:
①XHTML中属性名称必须小写;
②XHTML属性值必须加引号③XHTML属性不能简写;
④XHTML在属性中增加了ID属性,它可以取代name的功能;⑤XHTMLDTD定义了强制使用的HTML元素。
总的来说,XHTML比HTML更加严格与规范。它只着重强调用来表现网站的结构而非样式,样式的内容交由CSS来控制。
(2)、HTML中注释的形式是:,注释部分的内容,将不会显示在网页中。(3)、HTML中的标签有两种形式:
①带结束标记的标签,如:,etc。②不带结束标记的标签,如:,etc。
在标签内部,可以是允许的属性=“值”对出现。最重要的几个标签如下:
标签在文档的最外层,其它所有标签都在它的内部,它表示该文档是由html语言写的。
它是头部标签,它其中的内容是不会被网页显示在正文中的,常常在其中插入标题,或者说明文件的一些公共属性,例如内部样式表的定义,外部样式表的导入,javascript的编写,外部javascript脚本的导入。
标签是文本的正文,它其中的内容将显示在网页之中。(4)、HTML元素具有四种形式:
①空元素,如它只是起到换行的作用,没有属性,也不能跟任何属性;
②带有属性的空元素,如,与空元素相对应,这类元素自然就是具有属性,但是无法体现任何元素;
③带有内容的元素,如XXXX,它表示该标签没有属性,但是在开始标签与结束标签之间可以插入元素;
④带有内容和属性的元素,如链接,它表示标签内部可以有多个属性,在开始标签与结束标签之间可以插入元素。(5)、有一些特殊的字符,在HTML中不能直接用键盘上的键来表示,像不间断空格,回车,还有html中的保留字等都需要引用的方式才能输入。如不换行空格: 。(6)、常常使用到的标签:①用来表示段落的标签,
②列表的建立,还有等等,其中内部标签不是而是、③还有就是表格的标签,一般形式是:
表格的标题表格的一行用于定义表头用于定义单元格
④表示创建表单,其中有两个重要的属性:method属性指定向服务器发送数据时使用的HTTP方法,可以是get或者post(get方法提交表单时,提交的数据被附加到URL中,作为URL的一部分发送到服务器,缺乏安全。Post方法是将菜单中的信息作为一个数据块单独发送到服务器,更加安全)。另一个属性anction用来表示对表单进行处理的脚本的地址,即表示表单提交到服务器后,由谁来处理这些数据。在标签中,会用到标签,input标签常用到的属性有:type,value。Type用来制定要创建的控件类型,value指定控件的初始值。⑤,超链接的符号,可以用它的href属性来制定连接到那个位置上去。
⑥表示嵌入一张图片到网页中。它其中的属性width,height等可以设置图片显示时候的宽高。
CSS的学习总结:
(1)、CSS它的目标就是将结构与表现相分离,也就是让html的标签只专注于定于网页内容的结构,CSS来决定这些网页的内容如何显示。使用CSS的一大好处就是,简化了网页的格式代码,加快网页的下载显示速度。同时在进行后期维护的时候,由于结构与表现的分离,更加易于维护。
(2)、CSS中注释的方法是:/*注释内容*/(3)、CSS的选择器分类:①元素选择器:就是某个HTML元素作为选择器,如:a,h1,p,etc;
②类选择器,这也是非常常用的一个选择器,它的名字可以任意取,只是在.css文件中定义它的样式时,需要在这个名字前面加一个小黑点,使用它的时候,只需要在html标签中使用class来选择这个样式即可;
③ID选择器,它有些类似于类选择器,但又有自身的一些特点,首先,ID选择器前面有一个#号,其次ID选择器的使用时,它需要通过ID属性值来指定,而不是通过class来指定,最后,在一个HTML文档中,ID选择器会使用一次,并且进使用一次;④属性选择器,属性选择器可以根据元素的属性及属性值来选择元素,例如,如果在网页文档中有部分元素包含title这个属性,而我们希望将这些元素都变成红色,以突出显示,这时就可以使用属性选择器简单实现,如:*[title]{color:red};
⑤后代选择器,它的别名是包含选择器,其实际效果可以通过这个小例子来进行解释:我只想对标签中的em元素引用样式,我可以这样定义:pem{color:red};后代选择器定义时需要注意,样式规则左边的选择器一段包括两个或者多个用空格分隔的选择器(这个选择器可以是其他的任意选择器,而不仅仅是元素选择器)。⑥子元素选择器,它是相对于后代选择器来讲的,是在其基础上缩小了范围,它只对它后面挨着的元素有效。样式定义格式:p>em{color:red}⑦相邻兄弟选择器,如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,即可使用它。样式定义格式:h1+p{color:red}
⑧伪类选择器,是指对同一HTML元素的各种状态和其所包括的部分内容的一种定义方式。如:a:link{color:red}(4)、CSS的样式分为三种:
①行内样式,即HTML标签直接使用style属性,它一般用于某个独立的元素。如:
。如果使用了行内样式,一般需要在标签内添加:
②内嵌样式,它是将标签放在标签中,如:
P{padding:10px;font-size:16px}
③外部样式,这是最建议使用的,因为它将CSS单独保存在一个文件中,通过
将样式引入进来。它的优点是可以同时作用于多个页面,而无需重复编写样式,减少了工作量,并且修改时,只需要修改一个.css文件,就可以将整个使用它的页面样式都修改掉。
三种样式的使用顺序在html标签中,如果有多种样式,而规定的样式没有冲突,则叠加,如果有冲突,则最先考虑行内样式,没有的话,再考虑内嵌样式,还没有,就采用外部样式,如果它也没有,就使用html的默认样式显示。(5)、框模型:
padding,border,margin都是可选的,默认值均为0,其中width与height指的是内容区域的宽度和高度,padding,margin,border尺寸的变化,不会影响内容区域的尺寸,但是会增加元素框的总尺寸。额外需要注意的是:margin的合并,它是指,当两个垂直外边距相遇时,他们将形成一个外边距,合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。(6)、CSS定位,它有三种方式,分别是:
①相对定位,相对于其默认初始位置,通过设置垂直或水平位置,让这个元素相对于它的起点进行移动。要进行相对定位,需要在样式中使用:position:relative
②绝对定位,绝对定位让元素脱离了文档流,故它不占据空间,定位后生成一个块级元素,而不管原来它在正常流中生成何种类型框。
③浮动,在标准浏览器中,浮动元素脱离了文档流,不占据外围容器空间。浮动可以向左或者向右,知道它的外边缘碰到包含框或另外一个浮动框的边框为止。
JavaScript的学习总结:
(1)、关于javascript的一些语法:javascript是一种弱类型语言,它属于面向对象编程语言。它也有构成编程语言的一些基本元素,如:数据类型,变量(虽然全部都用var关键字来声明变量,甚至可以不用该关键字),表达式和运算符,数组,控制结构(if(){}else{})和循环结构(for()),函数,正则表达式等等概念。其中大部分与其他语言的差不多,只有个别的需要作出说明。
①对象,javascript也属于面向对象编程语言,因此它其中的所有事物都是对象,这点与其他面向对象编程语言相同,一切皆对象(字符串,数值,数组,函数等等)。当然,虽然javascript有许多内置对象,它也是允许自定义对象的。对象之中也包含属性与方法,对象访问属性跟方法的方式也与java中的访问方式一样,通过.来进行访问。Javascript中的主要对象有:window,document,文本对象,按钮对象,location对象,history对象,字符串对象,日期对象,数组对象等
②变量,javascript是弱类型语言,用它声明的变量,可以保存任意类型的数据,或者只用变量名对其直接赋值。
③数组,它的数组是一个对象,需要使用的时候,可用这种方式:arr=newArray();(实质上还有其他两种方式)这点有些类似java中创建对象,调用构造函数。数组类主要有toString(),subString()等等方法。
④函数,javascript中的函数是很具有独特气质的,它没有返回值,可以在参数列表中只给出变量名而不要数据类型(因为它是弱类型),甚至它可以不要函数名字,并且定义一个函数,需要使用关键字function来说明这是一个函数的定义。而且在一个函数内部可以再定义一个匿名函数,这些特点在其他语言中是很不可思议的事情。虽然javascript是面向对象编程语言,但是它并不具备类似于C++,JAVA这类语言的某些功能,如:函数的重载。
(2)、在HTML中使用javascript是非常简单的一件事情,它有两种形式:①内部引入:就是将js代码直接写在HTML代码中,如:
alert(“=============”);②外部引入:就是将js代码单独放在一个文件中,其后缀名是.js,在要使用它的html文件中使用如下代码引入:
这段代码一般放在之间。(3)、javascript中的事件,事件简单说就是用户在使用页面时执行的操作,比如点击鼠标,按键盘等等。一般处理事件都是通过一个函数,如常在js脚本中使用的这种方式:window.onLoad=myFunction;其中onLoad是页面加载完成时要触发的一个事件,该事件的处理函数式myFunction。Javascript中有非常多的时间,比如:onclick(鼠标点击),onsubmit(按钮提交),onchange(下拉菜单),onblur(失去焦点)等等。(4)、javascript和cookie,cookie是一小段信息,当用户第一次访问服务器时,服务器将它发给用户,这样,以后当用户访问这个站点时,服务器就可以通过cookie来识别用户了。Cookie它的格式是有特定格式的,格式如下:
cookieName=cookieValue;expires=expirationDate;path=URLpath;domain=siteDomain其中只有第一部分cookieName是必须赋值的。(5)、DOM(文档对象模型),它要求将HTML文档看做是由节点组成的树结构。通过DOM给出的一些属性及方法,我们可以添加、删除和操作特定的节点,以及在页面上插入和替换节点。
①访问节点:getElementByTagName()获取标签名;getElementsByName()获取name特性等于指定值的元素;getElementById()返回id特性等于指定的元素。②创建和操作节点:createElement()创建标签元素;createTextNode()创建文本节点;appendChild()把文本节点追加到标签元素中;removeChild()删除节点;replaceChild()替换节点;insertBefore()插入节点。
(6)、关于ajax,它并非一个新的技术,而是将很多原本存在的技术进行了一个组合,其中的核心是XMLHttpRequest,Ajax技术让自己的站点具有更好的响应性、更吸引人,这会使站点的用户在浏览过程中更愉快。它主要由下面这些技术组成:①使用HTML和CSS控制页面结构和表示方式;②使用DOM显示和操纵页面;
③使用浏览器的XMLHttpRequest对象在客户机和服务器之间传输数据;④使用XML(JSON)作为在客户机和服务器之间传输的数据的格式;⑤使用JavaScript动态地显示所有内容并且提供交互功能。使用ajax技术,我们一般需要通过以下几个步骤:①首先通过XMLHttpRequest获得一个对象xhr;
②设置xhr的onreadystatechange事件处理程序。每当xhr.readyState属性值发生变化时,就会触发这个处理程序。③调用open()并且传递3个参数:一个HTTP请求方法(例如"GET"、"POST"或"HEAD")、服务器上一个文件的URL和一个布尔值,这个布尔值告诉服务器请求是否异步(也就是说,我们是否会等待请求完成)。
④最后,我们用send()发送刚才创建的请求。如果要请求POST,就传递这里给出的参数;若是GET,直接将参数设置为null。(7)、javascript一些其他知识点:
①alert(“xxxxxxxxxx”)跳出提示框,只有提示信息;confir6(“xxxxxxx”),有两个按钮,用来确认用户的选择;prompt(“xxxxxxxxx”,””),提示用户输入一个字符串,然后对这个字符串进行操作。
②document.write(),用来向页面输出内容;window.location完成页面的转换;
③比较字符串的时候,在javascript中只需要通过==即可,不需要像java一样使用equals()。
④javascript中也有this,JavaScript关键字this使脚本能够根据使用这个关键字的上下文将值传递给函数。
⑤javascript中的匿名函数,样式是:thisImage.onmouseout=function(){this.src=this.outImage.src;}
第一行开始定义一个匿名函数(也就是没有函数名的函数)。本来也可以给它指定一个名称(比如rollOut()),但是因为它只有一行代码,所以不需要命名。⑥在编写脚本时,常常要检查浏览器是否能够理解我所使用的对象,常用于兼容中,我们常用对象探测技术,如:if(document.getElementById){}else{}如果对象存在,if语句就为true,脚本继续执行。但是,如果浏览器不理解这个对象,测试就返回false,并执行条件语句的else部分。在之前还有使用浏览器探测技术。
本周几天时间对HTML、CSS、JavaScript进行了学习,HTML相对来说是比较简单的,要掌握其中的标签难度也不是很大,主要是要明白它只控制文档的结构,表现相关的交给CSS,行为相关的交给JavaScript;CSS中有众多的属性还不是很熟悉,因为自己真正完整布局的网站并没有,但是对CSS大体结构了解,因为它的形式相对来说很单一,在实践中多多运用,私下自己做几个简单的单页,个人觉得问题不大;对于JavaScript之前并没有接触过,经过这段时间学习,明白了其中的一些入门的含义,对其中具有的众多对象,对象的很多方法与属性还不是很熟悉,目前能够进行一些简单脚本的编写与阅读,后面也需要再编写一些复杂的脚本来提高自己这方面的能力。对于这三方面知识点尚有疏漏的地方,望刘老师给予指导。
何磊
201*年11月6日
友情提示:本文中关于《基于WEB的网络编程开发》课程学习总结报...》给出的范例仅供您参考拓展思维使用,基于WEB的网络编程开发》课程学习总结报...:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《基于WEB的网络编程开发》课程学习总结报...》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/673088.html
- 上一篇:web开发技术复习题(总结)