




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档2016全新精品资料全新公文范文全程指导写作独家原创1/82016大二第一学期实习体会2016大二第一学期实习体会主要从下到上讲一下项目中一些值得注意的细节。0关于数据库字段实体类属性设计一开始要尽量想得全,想得长远,考虑周到仔细,字段类型都要考虑清楚。个人觉得这是非常重要的一步,多人商量讨论是最好的。因为到了后期再要添加、修改一点什么是要花更多的时间的我大一写一些小项目时就经常这样,吃了很多亏,而往多了想,就算时间不够,要删除一些功能,直接读数据时不读,不写那个字段即可在此次实训中深有体会。1关于SQL语句,下面代码只是片段,有删减,SELECT只是为了减少代码篇幅,不建议在开发中使用JAVAVIEWPLAINCOPYSPANSTYLE“FONTSIZE18PX”PUBLICLISTDVDQUERYDVDBYNAMESTRINGDNAMEDNAME“DNAME”“精品文档2016全新精品资料全新公文范文全程指导写作独家原创2/8STRINGSQL“SELECTFROMDVDWHEREDNAME“DNAMELISTDVDLISTNULLTRYLISTOPERQUERYSQL,NULL,DVDCLASSCATCHEXCEPTIONEEPRINTSTACKTRACERETURNLIST/SPAN不难发现,我为DNAME两端加上了单引号,不加是会报异常的,这个细节其实我早已发现。这次实训中发现有好多同学问我问题时都是在这吃了亏,说明好多同学还不知道,这里特别提一下。JAVAVIEWPLAINCOPYSPANSTYLE“FONTSIZE18PX”PUBLICBOOLEANDELDVAINTDIDSTRINGSQL“DELETEFROMDVDWHEREDID“DIDRETURNOPERUPDATESQL,NULL/SPAN此处为INT类型,故不用加,当然DOUBLE也不需要。再看代码JAVAVIEWPLAINCOPY精品文档2016全新精品资料全新公文范文全程指导写作独家原创3/8SPANSTYLE“FONTSIZE18PX”PUBLICLISTDVDQUERYDVDBYNAMESTRINGDNAMESTRINGSQL“SELECTFROMDVDWHEREDNAME”LISTOBJECTPLISTNEWARRAYLISTOBJECTPLISTADDDNAMELISTDVDLISTNULLTRYLISTOPERQUERYSQL,PLIST,DVDCLASSCATCHEXCEPTIONEEPRINTSTACKTRACERETURNLIST/SPAN这段程序和第一段几乎一样,不同的是,用占位符代替参数,再传入填补占位符的PLIST,也不用加单引号,而且此方法能有效防止SQL注入攻击我也是百度“如何防止SQL注入”时才知道的,经过我的验证,确实不错。精品文档2016全新精品资料全新公文范文全程指导写作独家原创4/8故推荐使用此方法构造SQL语句。2答辩时发现好多人说自己的程序实现了模糊查询即简单的在要查询的字符串前面、后面各加一个,可是我觉得他们的模糊查询都还差一步,比如查“从你的全世界路过”,上述模糊查询输入“从全世界路过”,就会出现查不到的情况,可是有时候人们就记得“从全世界路过”,所以我认为他们都没有实现真正的模糊查询。其实只需再加一步即可,如下JAVAVIEWPLAINCOPYSPANSTYLE“FONTSIZE18PX”PUBLICLISTDVDQUERYDVDBYNAMESTRINGDNAME/按片名模糊查询STRINGNAME“”FORINTI0IDNAMELENGTHINAMEDNAMECHARATI”NAME“STRINGSQL“SELECTFROMDVDWHEREDNAMELIKE”NAME精品文档2016全新精品资料全新公文范文全程指导写作独家原创5/8LISTDVDLISTNULLTRYLISTOPERQUERYSQL,NULL,DVDCLASSCATCHEXCEPTIONEEPRINTSTACKTRACERETURNLIST/SPAN3C/S架构中,使用WRITEOBJECT及READOBJECT传输网络信息时,需传输的类必须实现SERIALIZABLE接口,比如PUBLICCLASSDVDIMPLEMENTSSERIALIZABLE补上序列号PRIVATESTATICFINALLONGSERIALVERSIONUID7261093218919169833L序列号应该是随机的一个码这个我也不是很清楚,个人觉得是随机生成的值得注意的是服务器端的实体类名,包名,序列号都必须与客户端的保持一致,不然网络传对象时,无法将对象还原成预期所需要的对象会报找不到XXX类的错。精品文档2016全新精品资料全新公文范文全程指导写作独家原创6/84SOCKET连接,分为长连接与短连接各有优缺点,由于我也是自己百度看的,想了解的可以百度,在此次项目中用的是长连接。长连接时每次客户端请求、或者接收服务器端的数据后,显然不能关闭SOCKET即不能SOCKETCLOSE,要注意的是连由SOCKET得到的输出输入流均不能关闭,例如OBJECTINPUTSTREAMOISNEWOBJECTINPUTSTREAMSOCKETGETINPUTSTREAM不能OISCLOSE否则报SOCKETISCLOSED错误。5关于分包结构,如下图这是服务器端客户端值得注意的是,BASEDAO虽然叫DAO但并不是一个接口,而是一个类,所以放在DAOIMPL里面,答辩时发现有不少组由于这个问题被扣分。6关于界面UI界面是程序与用户交互的实现,在做到尽量美观之时,更重要的是防止应用户的错误输精品文档2016全新精品资料全新公文范文全程指导写作独家原创7/8入而导致程序崩溃,这样才是一个好的界面。1)就比如应该要输入整数的地方,用户不小心输入了一个字符串、中文、小数,如果没有捕获异常,程序是会飘红的。2)做空值判断,在UI往BIZ层传数据时,若用户输入信息有空值,就不应当继续往BIZ传数据,而应当提示用户输入有误。3)数值范围判断,上面做了非法字符判断,及空值判断,还是不够的。比如输入一个同学的成绩(100分制),那么用户不小心输入55,在1)处不会报错,2)处也符合,若没有加数据范围判断就糟糕了。当然要防止这些情况,在数据进入数据库之前防止均可,为什么我要在UI防止呢,当然是为了减轻服务器的负担,否则就无法体现C/S架构的优势所在了,那还不如用B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025进出口贸易公司购销合同范本
- 2025资产保全担保合同
- 南昌仓库出租合同范本
- 物业和公司合同范本
- 家政服务搬家合同范本
- 技术工种合同范本
- 保姆合同范本 照顾婴儿
- 肯德基门安装合同范本
- 店面铺面转让合同范本
- 线上雇佣合同范本模板
- 《肺癌早期筛查与干预》课件
- 完整的离婚协议书打印电子版(2025年版)
- 自然科学类博物馆AI应用行业跨境出海战略研究报告
- 《小学科学课程标准》解读与教学设计
- 2025届高考新型题目“纠正错别字”新题模拟练习
- 2024年江苏省南京市中考数学试卷真题(含答案逐题解析)
- 儿童保健工作规范和技术规范
- 2025年区块链应用操作员职业技能竞赛理论参考试指导题库500题(含答案)
- 福建地区 绿色食品琯溪蜜柚生产操作规程
- 人工智能智能客服系统
- 民办学校教职工学年度考核方案模版(3篇)
评论
0/150
提交评论