Web项目(柜子管理系统)总结
来源:互联网 发布:sql 恢复查询 编辑:程序博客网 时间:2024/05/10 17:40
出发之前,又接手一个小Web项目。不过从来没做过Web,现学现用,还好有光光帮着搞框架。
第一次亲自签合同,算是一次leader吧,不过个人感觉这个leader当的真心是略坑队友。
1. 需求不明确。虽然甲方自己没有说清楚具体需求,不过最大原因还是在自己身上(永远不要指望用户知道自己的需求,除非他也搞开发),来来回回谈了2,3次吧,大约弄明白了是个什么东西,虽然个人感觉这个根本就不叫正常人用的东西,但客户需求这么定了,也就不怎么好说了。
2. 上周一交付了第一版,其实真正这个时候才基本上明确了整体需求框架,除了一个web网站外,外加一个管理柜子的服务器。
3. 在交付第一版之前,跟光光去测试过一次柜子的硬件系统,当时用C#做的服务器,然后。。。呵呵,过了两天对方说服务器要部署在Linux上,然后纠结了半天,心理很不爽,想想之前没有谈清楚环境,再者服务器也不复杂,改起来也没什么难度,想想就当是一次教训吧。然后百度大约看了看java的UI,弄了个简答的界面,然后就是socket通信这一部分,百度一抓一大把,第一版中可以正常运行,因为也不牵扯什么效率问题,所以还行。【吐槽一下那个柜子,可以设置柜子的服务端地址,但是之后测试的结果,每设置一次都得重新重启柜子和电脑,才能生效,这也太弱智了点。。。】
4 说说网站,没做过UI,也没做过网站,刁刁找了个模板,也就拿来用用。页面也不多,7,8个样子,但。。。其实逻辑越写越复杂,数据库改了3次,还是前期需求不是很明确,导致返工,(项目统一在SVN中部署,想想第一次做项目时,都是用U盘考来考去的),数据库中表不多,一共就5张表,但是第一版时各种外键引来引去,最后还是扔了,简单化处理。写第三版的时候,手贱的把outofdata写成了outfodata,文档里更新了,代码里没有,又坑队友一次。
5 终于交了最终版,其实想想从最初的定需求(对方说“我要做一个网站,能管理柜子就行”),从设计UI,模块分解,小组讨论,前前后后折腾了3周,边学jsp,html边做,遇到了很多奇奇葩葩的问题
问题
兼容性问题,IE和Chrome的的确确对某些css以及HTML元素支持的不一样,尤其是左右浮动,至今只能在IE8下正常的显示,在Chrome下右浮动的元素会把中间div挤到下面去。
浏览器解析问题
在JSP中,在servlet中通过request向JSP页面传递元素,比如说这样的代码:str="<div><img src=""/></div>",如果在JSP页面中直接<%=str %>输出用IE浏览就会触发异常,但是用Chrome浏览就不会有异常,根据log输出,jsp页面执行了2次,但实际上页面并没有发送两次请求,原因就是有img标签中的src属性为空而引发的,具体的机理还不是很清楚,只要把src随便设置一个值就好了,这个问题整了好久好久。
分页栏靠底部
类似于论坛中的分页,在设计时,页面的最下方都有分页栏,但是如果页面有元素的话,可以直接通过margin-top来指定,但是页面元素内容是通过后台数据库来显示的,如果没有则。。。。就直接显示在了上面,但是css中float之后left和right,然后想了本办法,输出一大堆没用的数据占据位置,然后用visibility:hidden隐藏掉,这样就可以将分页这个div移动到底部了。
过滤器问题
注册过滤器是有个<dispatcher>FORWARD</dispatcher>参数,看是载入页面前,后出发。
新页面打开问题
是跟a标签的target属性来决定的: 根据查找到资料有人做了如下总结
1._blank <a href="document.html" target="_blank">my document</a> 浏览器会另开一个新窗口显示document.html文档
2._parent <a href="document.html" target="_parent">my document</a>指向父frameset文档
3._self <a href="document.html" target="_self">my document</a>把文档调入当前页框
4._top <a href="document.html" target="_top">my document</a> 去掉所有页框并用
SQL问题
多表级联,找到所有新闻,统计每条新闻评论数,找出最新评论时间以及评论人,并且按照最新评论时间排序。子查询,将order by放到子查询中,一定要在最外层的查询中做group by。
暂时能想到的就这么多了,
总结一下,团队合作项目,一定一定要将前期的需求明确了,虽然这玩意一直都会变,但大体框架一定定好,否则重新设计框架是件很蛋疼的事,想想这个,好像设计了3次,坑队友的节奏;
对于数据库来说,文档跟代码一定要同步更新,使用时小组成员一定导入同一份sql文件,想想这个又坑一次队友,文档跟代码不同步;
数据中表的命名一起提前商量好,不然起的名字都不知道是什么 。想想这个还是坑了队友,名字起的一塌糊涂;
使用git或者SVN时,最好先将项目中的文件夹以及文件名(至少要将文件夹模块名称起好)这个还好,么有坑队友;
在用SVN更新或者提交之前,一定记得把代码中的log都给关了,否则。。。看到一大堆奇葩的log就像揍人。想想这个也坑了队友。
么了也没什么了,总的来说呢,项目初期是挺小的,但最后交付的时候想想还是写了很多东西,除去css,js,html代码,大约6K左右的样子。第一次签合同,当leader,感觉不是很称职,虽然坑了好几次队友,不过还是很感谢队友的支持。
- Web项目(柜子管理系统)总结
- 项目管理系统总结
- 项目总结---项目管理系统
- 学生管理系统 项目总结
- 督办管理系统项目总结
- GRT公司客户关系管理系统(CRM)项目总结
- WEB项目(B/S系统)打包安装(总结篇)
- WEB项目(B/S系统)打包安装(总结篇)
- 个人项目总结----进销存管理系统
- 个人项目总结------珠宝管理系统
- 图书管理系统项目总结(转贴)
- 客户接触管理系统项目总结
- XX项目管理系统开发总结
- 黑马程序员---交通灯管理系统项目总结
- 项目总结(1)-客户管理系统
- 公司管理系统的项目总结
- 项目管理系统(PMS)
- 项目管理系统(3)
- Values whose Sum is 0(四列数和为零问题(二分基础))
- Linux下/proc目录简介(转)
- adb shell am start 命令
- extjs 表格用法代码
- 2-1. 厘米换算英尺英寸(15)
- Web项目(柜子管理系统)总结
- 国内大公司内部的 C# 编程规范
- FZU - 2039 Pets (二分图匹配 2011年全国大学生程序设计邀请赛(福州))
- Python Import 详解
- jQuery 跨域访问问题解决方法
- 导入schema下的某个sequence
- POJ-3104 二分
- JS数组方法汇总 array数组元素的添加和删除
- 太牛了,搜狐快站上线微信插件 电商插件升级