一些前端开发优化的经验总结web项目前端开发经验总结最近这一个月完成了自己的第一个javaweb项目,是给某杂志社做的在线投稿系统,虽然进度很慢,但是中间确实学到了不少东西,深刻体会到了自己看几个月书都不如做一个项目来的实在。这个项目自己主要负责的是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页面的变量、第1页共3页参数都会在服务器转化为它们具体的值,然后再传给客户端。jsp页面可以实现很多服务器端的功能,因为可以直接在页面嵌入java代码,但是我们必须明确的一点是,jsp页面主要是用来呈现视图的,不要再其中套入大量的代码,要明确前端与后台的分工。3.jstl标签:jstl标签就是jspstandardtaglib,即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的一款面向javaweb项目的权限控制框架,这个框架无论前端、后台都十分好用,在前端,我们可以使用shiro强大的标签库,通过用户角色赋予用户不同的访问权限。譬如,如果一个系统的用户有访客、用户、管理员三种角色,我们就可以通过shiro标签来控制游客不能访问哪些内容,页面向用户和管理员呈现的不同内容,这就是shiro标签的神奇之处。5.sitemesh框架。这个主要是用来将所有页面套用固定格式,用以页面的复用,其实有些时候标签更为方便,而且sitemesh框架的内存开销是的二倍,还会导致拦截器出现一些莫名的bug,所以并不推荐使用。6.jquery:在这个项目中写了很多的jquery代码,发现jquery确实是个神奇的东西,jquery的神奇之处就在于jquery强大的选择器可以方便的取到页面的dom元素,并且给这些元素绑定不同的事件,提到绑定事件,说一下on、live和bind的区别:bind是jquery最早的绑定事件方法,on是第2页共3页jquery1.7.0以后才有的方法,bind和on都不能将事件绑定给dom加载完毕后后添加到页面的dom元素,这时就需要li...