- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XX大二第一学期实习体会
XX大二第一学期实习体会XX大二第一学期实习体会 主要从下到上讲一下项目中一些值得注意的细节。0.关于数据库字段设计: 一开始要尽量想得全,想得长远,考虑周到仔细,字段类型都要考虑清楚。 个人觉得这是非常重要的一步,多人商量讨论是最好的。 因为到了后期再要添加、修改一点什么是要花更多的时间的,而往多了想,就算时间不够,要删除一些功能,直接读数据时不读,不写那个字段即可。1.关于SQL语句,[java]viewplaincopy lt;spanstyle=font-size:18px;gt;publicListlt;Dvdgt;queryDvdByName{dname=+dname+; Stringsql=select*fromDvdwheredname=+dname; Listlt;Dvdgt;list=null;try{list=operQuery;}catch{e.printStackTrace;}returnlist;}lt;/spangt; 不难发现,我为dname两端加上了‘单引号,不加是会报异常的,这个细节其实我早已发现。 这次实训中发现有好多同学问我问题时都是在这吃了亏,说明好多同学还不知道,这里特别提一下。[java]viewplaincopy lt;spanstyle=font-size:18px;gt;publicbooleandelDva{ Stringsql=deletefromDvdwheredid=+did;returnoperUpdate;}lt;/spangt; 此处为int类型,故不用加,当然double也不需要。再看代码[java]viewplaincopy lt;spanstyle=font-size:18px;gt;publicListlt;Dvdgt;queryDvdByName{ Stringsql=select*fromDvdwheredname=?; Listlt;objectgt;plist=newArrayListlt;objectgt;;plist.add; Listlt;Dvdgt;list=null;try{list=operQuery;}catch{e.printStackTrace;}returnlist;}lt;/spangt; 这段程序和第一段几乎一样,不同的是,用?占位符代替参数,再传入填补占位符的plist,也不用加单引号,而且此方法能有效防止sql注入攻击,经过我的验证,确实不错。故推荐使用此方法构造sql语句。 2.答辩时发现好多人说自己的程序实现了模糊查询, 可是我觉得他们的模糊查询都还差一步,比如:查“从你的全世界路过”, 上述模糊查询输入“从全世界路过”,就会出现查不到的情况, 可是有时候人们就记得“从全世界路过”,所以我认为他们都没有实现真正的模糊查询。其实只需再加一步即可,如下:[java]viewplaincopy lt;spanstyle=font-size:18px;gt;publicListlt;Dvdgt;queryDvdByName{//按片名模糊查询Stringname=%;for;i++){ name+=dname.charAt+%;}name+=; Stringsql=select*fromDvdwherednamelike+name; Listlt;Dvdgt;list=null;try{list=operQuery;}catch{e.printStackTrace;}returnlist;}lt;/spangt; 3.c/S架构中,使用writeobject及readobject传输网络信息时,需传输的类必须实现 Serializable接口,比如publicclassDvdimplementsSerializable{.......} 补上序列号privatestaticfinallongserialVersionUID=7261093218919169833L;序列号应该是随机的一个码 值得注意的是:服务器端的实体类名,包名,序列号都必须与客户端的保持一致, 不然网络传对象时,无法将对象还原成预期所需要的对象。 4.socket连接,分为长连接与短连接, 在此次项目中用的是长连接。长连接时每次客户端请求、或者接收服务器端的数据后, 显然不能关闭socket;),要注意的是连由socket得到的输出输入流均不能关闭, 例如objectInputStreamois=newobjectInputStream);不能ois.close;否则报socketisclosed错误。5.关于分包结构,如下图这是服务器端客户端 值得注意的是,BaseDao虽然叫Dao
文档评论(0)