Web前端开发学习笔记分享

时间:2019-05-12 15:20:44下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Web前端开发学习笔记分享》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Web前端开发学习笔记分享》。

第一篇:Web前端开发学习笔记分享

www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障

Web前端开发学习笔记

对于Web前端初学者而言,前人的学习经验及总结,能让自己的学习事半功倍;我在泛艺学苑学习Web前端开发已经有一段日子了,课程内容个人觉得很全面、专业;下面是我通过这段时间学习,总结的一些Web前端开发学习笔记【前端开发需要学哪些?>>】,一是为了给自己加深印象,二是希望能帮助其他Web前端学习者们;以后内容会持续更新,也欢迎大家进行补充。【获取全套学习资料>>】

HTML篇总结

非可视化标签:head meta style scrpit...可视化标签:img div span a ul li… 只有可视化标签,才能用css改变它 单标签:meta link base img input br hr 双标签:html head body div a p span..ul li ol dl ….常用可视化标签 div:一般用它来布局 a 超链接标签

href*属性:设置跳转的网页地址 target属性:设置跳转的目标

结论:凡事页面可以点击跳转或者表单提交的文字,都用a标签 img:src*属性用来设置图片的url数据、alt提供给搜索引擎搜索的 ul li:列表;结论:只要将来设计页面中有固定样式的列表,就用ul和li table caption tr td(th):慢慢已经被淘汰了 被ul li代替 如果是合并竖排的就是合并行(rowspan)www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障

如果是合并横排的就是合并列(colspan)HTML部分导图总结 标签集合

www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障

www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障

以上即为我在泛艺学苑这一阶段学习关于Web前端开发的总结以及笔记,接下来将要学习CSS;后续我会将Web前端开发学习总结陆续进行更新。

泛艺学苑采用的在线教育,对于身处三线城市的我而言提供了很大的便利,平时有经验丰富的老师直播授课,课后有专业的老师进行一对一辅导,还给我提供了大量的学习资料,虽然现在才刚开始学习,但是我有信心学完后,能够找到一份满意的工作。情>>】

【了解课程详

第二篇:WEB前端开发经验总结

ASP.NET前端开发经验总结

通过此次大作业的设计到完成,我负责的是web前端的开发,经过此次作业和结合W3C上的自学,我渐渐有了一些对前端开发的小小经验(仅为个人意见)。WEB标准是什么?

说是WEB标准,不过我这里主要是对HTML5 和 CSS3.0的一些经验总结。因为WEB含盖的内容实在是太多了,“WEB标准”是一系列标准的总称,包括HTML5.0、HTML4.0、XHTML1.1、CSS3.0、CSS2.1、XML1.0、RSS2.0、ECMAScript1.1、DOM1.0等等。所以这里要跟大家指出来一下,WEB标准不是我们所说的DIV+CSS。刚刚上面提到了――DIV+CSS,这里要说明下,这样说其实是不正确的。DIV+CSS准确的说法(个人的理解)应该是:采用W3C推荐的WEB标准中的HTML5结合CSS3.0样式表制作页面的方法,DIV应该指的是HTML标签,而CSS显示是指的CSS样式表了。

采用WEB标准开发的好处

那么W3C为什么会推荐这样的页面制作方法呢?下面我们就简单的看看采用WEB标准开发(个人理解的)相对以前TABLE布局的优势有哪些?

1、节约运营成本

看看我们的WEB标准制作方法是如何做到的?

采用WEB标准制作,我们可以做到表现很形式的分离,我们用XHTML来表现(数据),用CSS来控制(页面元素呈现的)形式。写的好的页面,XHTML代码中基本上都是用户要看的数据,还其他修饰性的东西,全部由我们的CSS来控制。这样一来我们的(XHTML)页面的体积就大大减小了,这样你在带宽上的费用就会大家降低了,这个怎么降低的,你可以想象一下,YAHOO的首页小1K,100W个人一起访问,那么带宽节约了多少?而且可以更充分的利用带宽。

而我们的CSS控制了,所有的页面元素的样式,现在想改网站的整体风格,你只需要花几分钟修改一下一个CSS文件,就可以轻松搞定了。维护的成本也下来了,省了不少钱了吧?还有,你开这个页面的速度会快很多啊,一个让你等半分钟的页面,除非里面的信息对你很有用,不然我们大家基本都没有太多的时间去用来等待的。

2、对用户友好更友好,且有机会获得更多的用户 现在来说说用户友好。首先我想把我们的用户来分下类。第一类:普通用户(每个访问我们网站的人); 第二类:搜索引擎;

采用WEB标准开发的页面,结构清晰,页面体积小,浏览器兼容性好。普通用户访问的时候,页面打开速度快,而且不管用户使用那种浏览器,都能够正常访问(显示)页面,且页面的结构清晰,要找的数据可以很方便的浏览到。

而对搜索引擎来说,一个好的采用WEB标准开发的页面,都是做过SEO优化的,它访问起来很友好,很容易理解你的页面中哪里是标题(H1~H6标签),哪里是段落(p标签),哪里是段落里要强调的内容(strong标签)等,它可以很容易的分析出来。而一个SEO好的站点,大家都知道,被搜索引擎收录的机会更多,这个也意味着您的网站会被更多的普通用户访问到,给你的站点带来更多的用户。

一个能帮我们省下大笔费用,提高工作效率。同时又能够提高页面浏览速度,对用户友好,甚至能够不花钱宣传,就能给你带来更多用户的技术。你说你会不会去使用它?这个也正式我们的W3C推荐使用WEB标准开放网站的原因啊。而这个技术也得到了我们广大用户的认可,所以现在需要学习WEB标准啊。合理的布局

前面我提到了一些知识点――“结构清晰、SEO优化、页面体积小、HTML代码中基本上都是用户要看的数据”。这些东西,都是我做了合理布局的结果。而且我个人觉得,我们采用WEB标准制作的一切都是从这个知识点开始的,所以我这里就先来说这个话题。

也许有人会问,怎样的一个页面,才算是合理的布局的呢?这个问题问题问得好,也是我们大家刚开始学用WEB标准的问得最多的问题之一,我也曾经常被这个问题所困扰,这里就说说我对合理布局的一些理解。

在开始讲合理布局的页面要达到的要素前,我们还是用个实例来讲解会更直观些。先来看看这个图片:

不错,这个是一个文章详细页,没有左右两栏布局,不过这里我重点要讲的是合理的布局。

这是此次实验中customer(前端的一项)部分的完整代码:

<%@ Page Language=“C#” AutoEventWireup=“true” CodeFile=“Customer.aspx.cs” Inherits=“Customer” %> <%@ Register Src=“Controllers/Bottom.ascx” TagName=“Bottom” TagPrefix=“uc4” %> <%@ Register Src=“Controllers/Top.ascx” TagName=“Top” TagPrefix=“uc1” %> <%@ Register Src=“Controllers/Left.ascx” TagName=“Left” TagPrefix=“uc2” %>

<%=Titlep %>

” name=“description”/> ” name=“keywords” />

第三篇:WEB前端开发经验总结

WEB前端开发经验总结

发布时间:2009-04-20 09:05:33来源:作者:shengman点击:21015

这里跟大家谈谈个人对WEB前端开发的一些经验(当然都是个人的一些理解,有什么地方说的欠妥或不对的地方还请包含和指正),这里我就从WEB标准开始吧。

WEB标准是什么?

说是WEB标准,不过我这里主要是对XHTML1.1 和 CSS2.1的一些经验总结。因为WEB含盖的内容实在是太多了,“WEB标准”是一系列标准的总称,包括HTML4.0、XHTML1.1、CSS2.1、XML1.0、RSS2.0、ECMAScript1.1、DOM1.0等等。所以这里要跟大家指出来一下,WEB标准不是我们所说的DIV+CSS。刚刚上面提到了――DIV+CSS,这里要说明下,这样说其实是不正确的。DIV+CSS准确的说法(个人的理解)应该是:采用W3C推荐的WEB标准中的XHTML1.1结合CSS2.0样式表制作页面的方法,DIV应该指的是XHTML标签,而CSS显示是指的CSS样式表了。

采用WEB标准开发的好处

那么W3C为什么会推荐这样的页面制作方法呢?下面我们就简单的看看采用WEB标准开发(个人理解的)相对以前TABLE布局的优势有哪些?

1、节约运营成本

看看我们的WEB标准制作方法是如何做到的?

采用WEB标准制作,我们可以做到表现很形式的分离,我们用XHTML来表现(数据),用CSS来控制(页面元素呈现的)形式。写的好的页面,XHTML代码中基本上都是用户要看的数据,还其他修饰性的东西,全部由我们的CSS来控制。这样一来我们的(XHTML)页面的体积就大大减小了,这样你在带宽上的费用就会大家降低了,这个怎么降低的,你可以想象一下,YAHOO的首页小1K,100W个人一起访问,那么带宽节约了多少?而且可以更充分的利用带宽。

而我们的CSS控制了,所有的页面元素的样式,现在想改网站的整体风格,你只需要花几分钟修改一下一个CSS文件,就可以轻松搞定了。维护的成本也下来了,省了不少钱了吧?还有,你开这个页面的速度会快很多啊,一个让你等半分钟的页面,除非里面的信息对你很有用,不然我们大家基本都没有太多的时间去用来等待的。

2、对用户友好更友好,且有机会获得更多的用户

现在来说说用户友好。首先我想把我们的用户来分下类。

第一类:普通用户(每个访问我们网站的人);

第二类:搜索引擎;

采用WEB标准开发的页面,结构清晰,页面体积小,浏览器兼容性好。普通用户访问的时候,页面打开速度快,而且不管用户使用那种浏览器,都能够正常访问(显示)页面,且页面的结构清晰,要找的数据可以很方便的浏览到。

而对搜索引擎来说,一个好的采用WEB标准开发的页面,都是做过SEO优化的,它访问起来很友好,很容易理解你的页面中哪里是标题(H1~H6标签),哪里是段落(p标签),哪里是段落里要强调的内容(strong标签)等,它可以很容易的分析出来。而一个SEO好的站点,大家都知道,被搜索引擎收录的机会更多,这个也意味着您的网站会被更多的普通用户访问到,给你的站点带来更多的用户。

一个能帮我们省下大笔费用,提高工作效率。同时又能够提高页面浏览速度,对用户友好,甚至能够不花钱宣传,就能给你带来更多用户的技术。你说你会不会去使用它?这个也正式我们的W3C推荐使用WEB标准开放网站的原因啊。而这个技术也得到了我们广大用户的认可,所以您现在需要学习WEB标准啊。温习完了基础课程,现在正式开始讲XHTML和CSS的技巧了。

合理的布局

有朋友会开始问了,怎么一开始就开始讲合理的布局了呢?前面我们提到了一些知识点――“结构清晰、SEO优化、页面体积小、XHTML代码中基本上都是用户要看的数据”。这些东西,都是我们做了合理布局的结果。而且我个人觉得,我们采用WEB标准制作的一切都是从这个知识点开始的,所以我这里就先来说这个话题。

那么大家又会开始问,怎样的一个页面,才算是合理的布局的呢?这个问题问题问得好,也是我们大家刚开始学用WEB标准的问得最多的问题之一,我也曾经常被这个问题所困扰,这里就说说我对合理布局的一些理解。

在开始讲合理布局的页面要达到的要素前,我们还是用个实例来讲解会更直观些。先来看看这个图片: 不错,这个是一个文章详细页,没有左右两栏布局,不过这里我重点要讲的是合理的布局,在稍后的文章中我会详细的介绍浮动元素。好,回到刚才的话题,大家看到了这个页面了。

我这里先把代码写给大家看看(省略了部分代码):

domain来源:domain.com发布时间:2008年4月28日

代码篇

之前整理发表了《XMLHTTPRequest的属性和方法简介》,它Ajax要使用的核心的技术之一,现在就来实际运用它。这个Ajax标签导航,是我很久前就写的一个脚本,很实用的(还被很多网站收录了哦),现在拿它来做实例讲解吧!当然个人能力有限,有什么不对的地方还请多包含!

效果大家看到了,核心功能有:

1、将当前选中标签以特殊的样式显示

2、将异步加载的页面信息显示到指定的DOM节点中

我们来看看处理脚本的代码吧:

程序代码:ajaxtab.js

手机

marquee:滚动标签

shape=“circle”

coords=“309,257,20”target=“_blank”

href=“http://5新标签

number:数字输入

date picker:日期选择

datalist:自动提示

video:动画

媒体

radio:音频

autocomplete:是否关闭自动提示(off |

on)html5新标签

autofocus: 自动获得

焦点

required: 表示控件

必须输入内容

controls : 播放控制条

autoplay :自动播放

loop :循环播放preload :预加载,如果设置了autoplay,就可以不用设置preload

CSS知识点总结

内联:直接在标签的style属性上编写

样式样式定义方式

样式块:在style标签中编写样式块,并通过一定规则(选择器)应用到对应的那些标签上(通常写在head中)

外部样式文件:将样式块编写在外部的css文件中(不用写style标签)* 在需要使用样式的页面通过link标签引入样式文件(通常写在head中)

id选择器#xxx 针对id为xxx的标签

类选择器.xxx 针对class属性为xxx的标

标签选择xxx 针对标签名为xxx的标签

*选择器选择所有元素选择器

后代元素关系选择selector1 selector2 {...} 针对selector1下的所有的selector2

子元素关系选择selector1 > selector2 {...} 只针对selector1的selector2子元素(如果有后代selector2元素则不会应用)

紧邻兄弟关系选择selector1 + selector2 {...} 只针对紧接在selector1后的selector2元素

所有随后的兄弟关系selector1 ~ selector2 {...} 针对selector1后的所有的selector2兄弟元素

color:字体颜色

font-size:字体大小

font-family:字体样式

字体

font-weight: bolder(加粗)| normal(不加粗)font-style: 设置字体倾斜(normal | italic | oblique)*italic和oblique实际显示效果

几乎一致font-variant: 设置字体显示为小型大写字母

text-align: 水平对齐方式(left | center | right)常用属性

vertical-align: 垂直对齐方式(top | middle |

bottom)

line-height: 设置行高(通常用于设置文本居

中)

white-space: nowrap 不换行, pre 当做pre标签

border: 边框(1px solid

red)

文本

width: 宽度

underline 下划线

height: 高度

overline 上划线

text-decoration: 文本装

line-through 贯穿线(删

除线)

blink 闪烁

none 无

dtext-shadow: 3px 3px 5px red;第一个参数: 阴影水平位置(x轴上的偏移量)

text-shadow: 文本阴影

第二个参数: 阴影垂直位置(y轴上的偏移量)

第三个参数: 模糊程度第四个参数: 阴影颜色

padding:内边距

padding: xxpx;

padding: xxpx xxpx;

padding: xxpx xxpx xxpx;

padding: xxpx xxpx xxpx xxpx;padding: auto;

padding: xxpx auto;padding-toppadding-leftpadding-rightpadding-bottom盒子模型

margin:外边距

margin: xxpx;

margin: xxpx xxpx;

margin: xxpx xxpx xxpx;

margin: xxpx xxpx xxpx xxpx;margin: auto;

margin: xxpx auto;margin-topmargin-leftmargin-rightmargin-bottom

border:边框

color:颜色;width:宽度;

style:outset|inset|solid|double|dottedborder-radius: 10px;/* 同时设置4个角*/

background-color: 背景颜色

background-image: 背景图片

background-repeat: no-repeat | repeat-x |

repeat-y | repeat背景

background-position: xxxpx xxpx | xx%

xx%;(可以为负数)

background-size: xxxpx xxpx | xx% xx% |

cover | contain;(不能为负数)

cover: 拉伸,可以超出contain: 拉伸不能超出

background-attachment: scroll(随着内容

一起滚动)| fixed(不滚动)

hidden:隐藏

scroll:滚动

overflow:当内容溢出

时的处理方式

visible:直接显示

auto:如果溢出就滚动,否则不显示滚动条

visible 显示

visibility:设置元素是

否显示

hidden 隐藏,保留占位

none:隐藏,不保留占

block:设置为块级元

display:设置元素是否

显示

inline:设置为行级元

布局

inline-block:设置为行

内块元素

left 左浮动

float: 浮动right 右浮动

none 不浮动

left 不允许左边有浮动

clear: 清除浮动right 不允许右边有浮动

both 不允许两边有浮动

ul或ol 自带样式:

列表样式

list-style-type: 列表项的样式

margin: 16px 0px;padding: 0px 0px 0px

40px;

absolute:如果有父元素被定位按照父元素的原点进行定位,否则按照浏览器原点进行定位

position

定位

z-index: 设置z轴的值,越大越在最前

relative:相对定位参照元素本身的位置

fixed:固定位置,不

会滚动

link 超链接默认样式

hover 鼠标悬停样式

active 鼠标点击样式

visited 访问之后的样式(主要控制颜色)

伪类

focus 获得输入焦点的样式

first-child 第一个元素

last-child 最后一个元素

:not 不包含指定的选

择器

:noly-child 是父元素的唯

一子元素

cursor 鼠标样式

其他样式

box-shadow 阴影

translate:平移

rotate:旋转transform:变换

scale:缩放

skew:扭曲

matrix:以变换矩阵变换

第一个值表示需要过渡的样式属性transition 过渡

transition:transform2s,background-color.5s;

第二个值表示整个过渡过程需要的时间第三个值表示过渡时的贝塞尔曲线第四个值表示延迟多久才开始过渡animation 动画

@keyfarmes 关键帧用于定义动画的细节(每一帧如何显示)

@keyframes myanimation {0% { background-color: #cfc;}30% {

background-color: #ccf;border-radius: 50px;}80% {

width: 300px;

background-color: #fcc;}

100% {

width: 300px;height: 300px;

background-color: #000;}}

@-o-keyframes myanimation {}@-ms-keyframes myanimation {}@-moz-keyframes myanimation {}@-webkit-keyframes myanimation {}

需要显示动画的地方通过animation属性来使用声明的关键帧

.ac:active {

animation: myanimation 5s;-o-animation: myanimation 5s;-ms-animation: myanimation 5s;-moz-animation: myanimation 5s;-webkit-animation: myanimation 5s;}opacity透明度从0.0 ~ 1.0 0.0完全透明,1.0 完全不透明浏览器兼容前缀

-webkit-chrome,safari, opera-o-opera

-moz-firefox

-ms-ie(ie9以上)

JavaScript

javascript代码必须包含在标签中

也可以书写到外部的.js文件中,通过来引入

script标签只能同时做一件事情.如果既有src属性也包含代码则只会执行外部文件的代码

通过alert来弹出提示框

通过document.write来输入文本到页面上(可以输入标签)Number: 数值型整数和小数Boolean: 布尔型(true |

false)

String: 字符串

字符串必须被”“或''包含必须对称

如果字符串中包含引号可以单引号中包含双引号或者是双引号中包含单引号

也可以使用'来表示一个单引号”来表示一个双引号

n 表示换行数据类型

t 表示制表符表示书写方式

NaN: Not A Number 当使用非数字来进行运算时的值

undefied: 未定义

null: 空值

substring 截取子串, 从start到end-1处,如果

没指定end则取到最后一个字符

toUpperCase 将所有字符变成大写

toLowerCase 将所有字符变成小写

indexOf 查找子串首次出现的位置, 如果找不到则

返回-1字符串处理

lastIndexOf 查找子串最后一次出现的位置, 如果找不到则返回-1charAt 取指定位置上的字符slice 也是取子串,效果和substring一样可以用-1,-2,-3...从末尾

开始计数split 将字符串按照指定的字符进行拆分成为数组

获取当前时间var now = new Date()

获取指定时间的日期对象

var date = new Date(yyyy,MM,dd,HH,mm,ss)

设置指定时间(将时间对象设置为一个指定时间)

now.setFullYear(yyyy,MM,dd,HH,mm,ss)

now.setMonth日期Date

now.setDatenow.setHours

...获取指定时间信息

now.getFullYear()// 年只能取出年份,如: 2015

now.getMonth // 月0-11月

now.getDate // 日

now.getDay // 星期0-6(0表示星期天)

now.getHours // 时24小时制

now.getMinutes // 分now.getSeconds // 秒now.getMilliseconds// 毫秒

通过new Array()来创建数组var names = new Array();

var names = new Array(“小王”, “大王”, “炸弹”);// 创建时给数组设置默认值

//用json格式表示数组

var names = [];

var names = [“小王”, “大王”, “炸弹”];数组Array

可以通过length来设置或获取数组的长度

push : 往数组末尾添加元素

pop: 删除并返回数组的最后一个元素unshift: 往数组的开头添加元素shift: 删除并返回数组的第一个元素reverse: 颠倒数组顺序

sort: 按“字符串”的自然排序规则进行升序

splice: 删除指定位置处的指定个数元素并将第三个参数之后的参数添加到被删除位置(设置第二个参数为0则实现只添加不删除, 之传入两个参数实现只删除不添加)

slice: 获取start到end处的子数组

join: 将数组元素以指定分隔符进行连接成为字符串

function xxx(....){

声明函数

....}

var xxx = function(...){

...函数变量

}var ooo = xxx;

ooo();函数

function fn(fx){

fx();

将函数作为参数

}fn(function(){

...});(function(...){

立即执行函数

....})(...);

getElementById 根据id获取唯一的元素var xx = document.getElementById(“xx”);DOM(Document Object Model)文档对象模型

获取元素

getElementsByTagName 根据标签名获取元

素数组

onclick 鼠标点击事件

getElementsByClassName 根据类获取元素数组(如果元素被改变了class值将会从数组

中删除)

onmouseover 鼠标进入事件

onmouseout 鼠标离开事件

onmousemove 鼠标被移动

onmousedown 鼠标按钮被按下事件机制

onmouseup 鼠标按钮被松开

onkeydown 某个键盘按键被按下

onkeyup某个键盘按键被松开

onload 一张页面或图像被完成加载

onchange 域的内容被改变

onfocus 元素获得焦点

onblur 元素失去焦点

setTimeout: 延迟执行(只会执

行一次)var xx = setTimeout(xxx, 1000);setTimeout(“fn();”, 3000);BOM(Browser Object Model)

window

清除使用clearTimeout(xx);setInterval: 定时执行(间隔指

定时间循环执行)

xx.offsetLeft获取元素的位置和尺寸(只读)

xx.offsetTopxx.offsetWidthxx.offsetHeight

var xx = setInterval(xxx,1000);

清除使用clearInterval(xx);

[] 表示[]中的字符任意取一个

在[] 中的^ 表示非不包含该字符

()表示将多个表达式合并为一个表达式

在()中的|表示将两个匹配条件进行逻辑“或”(Or)运算。+ 前一个表达式出现至少一次1~n {1,}* 前一个表达式出现任意次0~n {0,}? 前一个表达式出现0~1次{0,1}{n} 前一个表达式出现n次

{n,} 前一个表达式出现至少n次{n,m} 前一个表达式出现n~m次.任意字符(不包含rn)正则表达式

^ 匹配字符串的开头$ 匹配字符串的结尾

w 表示一个任意的单词字符包括_ [a-zA-Z0-9_] * 不包含破折号

W 对w取反(不包含单词字符)[^a-zA-Z0-9_]d 表示一个数字字符[0-9]D 对d取反[^0-9]s 表示一个任意空白字符空格中文状态的空格制表符全角空格

S 对s取反非空格n 换行符b 单词边界

B 不是单词边界(对b取反)

eval

执行字符串形式的代码。

for(var i in array){var item = array[i];

}

for(var key in obj){var value = obj[key];

}

迭代数组迭代出的值为数组的下标

for...in

迭代对象迭代出的值为对象的属性名其他

with

设置以某个对象为代码块作用域对象

delete attribute删除属性

isNaN

如果被判断值不是一个数字则返回true,否则为false

第五篇:web项目前端开发经验总结

web项目前端开发经验总结

最近这一个月完成了自己的第一个java web项目,是给某杂志社做的在线投稿系统,虽然进度很慢,但是中间确实学到了不少东西,深刻体会到了自己看几个月书都不如做一个项目来的实在。这个项目自己主要负责的是JSP页面、JS脚本、CSS样式表的编写,虽然主要做的是前端,但是在设计前端后台交互功能时,对MVC架构和数据库又多了一分了解,这一个月的时间,自己在技术上也确实成长了不少。下面分成几块总结一下自己的这个项目中的心得吧:

1.项目开发流程:从确认需求开始,到原型设计,再到原型测试,这些都没什么说的了,主要是刚开始开发前端JSP页面时,自己走了很多弯路,想到有什么页面就写什么页面,GET和POST的路径也是随心所欲,想到什么名字就起什么名字,结果发现这样做严重影响了项目开发的进度,后来经过主管的提点后,我幡然醒悟,其实,面向对象的思想就贯穿在整个项目当中,在前面的原型设计的过程中,除了页面的设计还有数据库的设计,数据库的每个表就对应着Java中的每个实体类,这个类封装了数据库中的列作为属性,封装了数据库的增删改查作为方法,就拿这个投稿系统为例,实体主要有用户、稿件等等,实体间还有着一对一映射或者一对多映射等对应关系。其实,整个系统的开发就是围绕着这些个实体进行的,甚至于我们可以把实体名字做为二级目录,把实体的增删改查作为GET或POST的路径,譬如account/add、paper/delete等等,有了这些路径,那么与之对应的GET和POST的Controller也就有了,接下来我们要做的就是,定义Controller中返回的视图,写完Controller后再把与实体相关的增删改查方法写到服务层中,再把项目的整个骨架搭起来,再去处理细节,很快的,这个项目就成型了。这里前端和后台的配合尤为重要,数据交互是整个系统的核心。

2.JSP页面设计:提到JSP页面,在这里我想说的一点是,其实JSP页面是在服务器生成的,那么传给JSP页面的变量、参数都会在服务器转化为它们具体的值,然后再传给客户端。JSP页面可以实现很多服务器端的功能,因为可以直接在页面嵌入JAVA代码,但是我们必须明确的一点是,JSP页面主要是用来呈现视图的,不要再其中套入大量的代码,要明确前端与后台的分工。

3.JSTL标签:JSTL标签就是JSP standard taglib,即JSP标准标签库,首先,EL表达式可以非常方便的取出Controller返回的View包含的Model,甚至都无需声明EL表达式。其次,JSTL标签可以实现很多的逻辑控制功能,比如最基本的c:if判断、c:forEach循环,甚至有更强大的c:choose,有了这些,我们可以大大简化代码量,JSP页面中用几十行java写的代码,有时用几句JSTL标签组合就实现了,此外,像fmt:parseDate和fmt:formatDate也是很好用的标签,用于日期的解析和格式化,此外JSTL更有强大的函数标签库fn:,项目中我也只用到了fn:length取后台传的list的长度。要善用JSTL标签,但是又不要完全依赖于它,JSTL标签很方便、快捷,但是切记,JSTL功能有限,不要完全依赖于它。

4.shiro框架:shiro框架是apache的一款面向java web项目的权限控制框架,这个框架无论前端、后台都十分好用,在前端,我们可以使用shiro强大的标签库,通过用户角色赋予用户不同的访问权限。譬如,如果一个系统的用户有访客、用户、管理员三种角色,我们就可以通过shiro标签来控制游客不能访问哪些内容,页面向用户和管理员呈现的不同内容,这就是shiro标签的神奇之处。

5.sitemesh框架:这个主要是用来将所有页面套用固定格式,用以页面的复用,其实有些时候标签更为方便,而且sitemesh框架的内存开销是的二倍,还会导致拦截器出现一些莫名的bug,所以并不推荐使用。

6.jquery:在这个项目中写了很多的jquery代码,发现jquery确实是个神奇的东西,jquery的神奇之处就在于jquery强大的选择器可以方便的取到页面的DOM元素,并且给这些元素绑定不同的事件,提到绑定事件,说一下on、live和bind的区别:bind是jquery最早的绑定事件方法,on是jquery 1.7.0以后才有的方法,bind和on都不能将事件绑定给DOM加载完毕后后添加到页面的DOM元素,这时就需要live了。还有一个经常使用的就是jquery的ajax了,其实在做这个项目之前自己一直不理解ajax的作用机理,只是心里又个概念而已,但是,在真正使用的ajax之后,才发现ajax的强大之处,确实如AJAX自身描述一样,异步加载javascript,这就允许我们在不打开新页面的情况POST一些参数给后台,后台得到并处理这些参数后将JSON返回给前端,这个JSON的处理function就写在ajax的success处理function中。在这个项目JSON和AJAX最主要的应用就是翻页,加载一个页面,把页面传给后台然后把得到的JSON呈现给用户,翻页时重新POST参数,然后在用js重新处理一下翻页区域即可。

7.jquery.validate.js:这是一个轻量的jquery框架,主要用于表单的验证,非常方便。

8.twitter bootstrap.js:bootstrap自带的js框架,里面定义了许多与bootstrap样式相关联的函数,使用起来也很方便。

9.正则表达式:正则表达式的模式匹配是很强大的,灵活运用正则表达式,也会简化代码,甚至我们在查找替换时都可以使用正则表达式。

总体上说,这个项目极大的锻炼了自己的代码编写功能,从以前写一句代码要敲无数次backspace,现在居然可以将某些简单的函数一气呵成了。今天项目终于上线了,总结一下,希望以后自己能够取得长足的进步!

下载Web前端开发学习笔记分享word格式文档
下载Web前端开发学习笔记分享.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Web前端开发笔试题

    Web前端开发笔试题 一.单选题 1. div.box{color:red;} #box{color:blue;} div{ color: yellow !important;} 华章汉辰 Div里的字体的颜色是:() A:红色B:蓝色 C:绿色 D:黄色 2.......

    最新web前端学习路线

    最新web前端的学习路线 程序设计之道无远弗届,御晨风而返。———— 杰佛瑞 · 詹姆士 很多前端初学者总会问以下两个问题: 第一种一直在问:如何学习前端? 第二种总说:前端很简单......

    WEB前端开发工程师笔试试题(范文模版)

    WEB前端开发工程师笔试试题1.HTML的含义是什么?其主体部分由什么标记构成?2.说明在网页设计中div标签的作用3.CSS指的是什么?在网页制作中为什么要使用CSS技术4.css 中id和c......

    2017年web前端开发学习路线规划小结

    2017年web前端开发学习路线规划小结 文章出自:易莱胜 官网:易莱胜第一阶段——HTML 我们发现无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码......

    web前端个人简历

    个人简历 个人信息 姓名:xxxx 性别:男 出生日期:1993.03 婚姻状况:未婚 工作所在地:北京 家庭所在地:湖北 联系电话:18xxxxxx 电子邮箱:xxxxxx@qq.com专业技能 1、熟练使用Sublime......

    Web前端工作总结

    Web前端学习总结 一.名词解释 1. 横切 在固定页面的宽度(按栅格化进行)并且对高度没有限制的容器称为一个标准横切 2. 留白 两个容器或碎片之间的上、下、左、右的空白距离......

    web前端学习总结2

    1.WEB标准以及W3C标准是什么? 标签闭合、标签小写、不乱嵌套、使用外链css和js、结构行为表现的分离。1.xhtml和html有什么区别 XHTML 元素必须被正确地嵌套,闭合,区分大小写,文......

    2018年最新全套Web前端开发学习教程(共五则)

    www.xiexiebang.com免费试学/ 一对一辅导/项目实训/就业保障2018年最新全套Web前端开发学习教程 前端很火,学习前端的人也多【前端开发月薪多少?>>】。泛艺学苑在这里为大家制......