1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般sql语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行
Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
从中我学到了:存储过程是数据在存储到数据库的过程中,可以对这些数据进行操作,不然数据就是直接从页面获取,直接原样存储。 第七周
实习第七个礼拜,
为了进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验,代码的复用性。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过项目重构,培养我们综合运用已学知识Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为以后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
从这里,我才真正的意识到实施一个软件工程并不是说简单的会编码就能够
解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个事实在很大程度上颠覆了我以前的思想,在我以前的认识中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会出现老师所说的,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。
项目程序的编程是一个非常烦琐而枯燥的过程,需要耐心和毅力去完成,不然中途出现过多的错误,会使之后的校验略显费时。
实习项目的代码编写,从而进入到后期的校对和验收过程,但同时也少不了反复的调试和修改,为我的程序软件更加简单更加实用。
第八周
实习第八个礼拜,主要了解网页的基本架构
B/S架构:浏览器-服务器(Browser/Server)结构,简称B/S结构与C/S
结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进行交互,可以方便的在不同平台下工作。服务器端可采用高性能计算机,并安装Oracle、Sybase、Informix等大型数据库。 B/S结构简化了客户端的工作,它是随着Internet技术兴起而产生的,对C/S技术的改进,但该结构下服务器端的工作较重,对服务器的性能要求更高。 C/S架构:主从式架构(Client–server model) 或客户端-服务器(Client/Server)结构简称C/S结构是一种网络架构,它把客户端(Client) (通常是一个采用图形用户界面的程序)与服务器(Server) 区分开来。
每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
经典C/S系统:QQ/MSN/ICQ…
HTTP协议:超文本传输协议(HTTP,HyperTextTransfer Protocol)是互联网上应用最为广泛的一种网络协议。 第九周
实习第九个礼拜
HTML :是一种标记语言、忽略大小写,语法宽松、使用 HTML 标记和元
素,可以:控制页面和内容的外观、发布联机文档、使用 HTML 文档中插入的链接检索联机信息、创建联机表单,收集用户的信息、执行事务等等、插入动画、开发帮助文件等。
CSS:样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 d 拥
有最高的优先权。浏览器兼容:一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容。然而 IE 5 和 6 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、填充和边框的宽度的总和。
虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就
是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。这些属性是DIV布局的奠基石。由于浏览器的不同,
盒模式中也有差异,比如说对于宽度盒高度,在不同浏览器中定义是不同的,IE6是包含边框 、内边距,而FF的只是指内容的宽度。细节上的差异,往往是我们在日常工作中能总结出来的。当你的CSS写的不兼容时候,你自然就会想起这些内容。 第十周
实习第十个礼拜
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言
基本特点:基于对象的语言、简单性、安全性、动态性、跨平台性、是一种脚本编写语言、解释型语言(不用编译、直接由浏览器解释执行) 使用typeof操作符判断
NaN--not a number,即非数值a、NaN用于表示一个本来要返回数值的操作数未返回值的情况;b、任何涉及NaN的操作都会返回NaN;c、NaN与任何值都不相等包括NaN本身,返回false
isNaN函数--判断某个值是否为数值
如果是数字值,返回本身、如果是null,返回0、如果是undefined,返回NaN、如果是字符串,遵循以下规则:
-–如果字符串中只包含数字,则将其转换为十进制(忽略前导0)
-–如果字符串中包含有效的浮点格式,将其转换为浮点数值(忽略前导0) -–如果是空字符串,将其转换为0
-–如果字符串中包含非以上格式,则将其转换为NaN
如果是对象,则调用对象的valueOf()方法,然后依据前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,再次依照前面的规则转换返回的字符串值。
parseInt-将字符串转换为整数类型的数值,规则如下、忽略字符串前面的空格,直至找到第一个非空字符、如果第一个字符不是数字符号或者负号,返回NaN、如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止、如果上步解析的结果以0开头,则将其当作八进制来解析;如果以0x开头,则将其当作十六进制来解析。
第十一周
实习第十一个礼拜 Servlet生命周期
Servlet的并发问题:在Servlet中使用静态变量和成员变量是,要非常小心。如果你的程序改变这些变量值的时候,就会发生并发问题。如果从不会去改变,只是读取,则不会发生并发局部变量永远不会有并发问题。Servlet的并发处理:不使用静态变量和成员变量、如果一定要使用,要加锁,但会影响性能
资源访问:WebRoot下面的都叫容器内的资源、Servlet、容器外的资源、forward vs redirect 都能访问内部资源,redirect还可以访问外部资源、使用forward是在后台转发;浏览器也不知道干了什么,所以地址不会变、而redirect要先回到浏览器,告诉浏览器要访问谁,所以浏览器的地址栏要发变化、当访问内部资源时,使用firward效率会更高。