https://www.bilibili.com/video/BV1MU421o7EQ/
演示视频:
3.1 系统设计思想
3.1.1 页面模块化
把页面中一些常用的部分集成为模块,例如页面的头部、尾部和数据库连接文件,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。
在本系统中,将数据库连接存入conndb.JSP文件中,当需要数据库连接时,只要用Include语句包含此文件即可。
另外系统页面结构定义在一个模板文件template.JSP中,在这个文件中可以看到系统中基本的页面组成结构。只要在此模板页面中的特定位置加上实现某种功能的页面代码,此页就会成为一个具有特定功能的 完整的页面。例如ProductDetail.JSP文件是在template.JSP文件中加入了下面一行代码而具备了显示商品详细信息的功能。
call ShowProduct(RealSruing(Request.QUERYstring("id")))
3.1.2 注重安全性
1)不要把Sql 2000数据库放在网站内部
不要把Sql 2000数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,使用SQL 2000数据库或Oracle数据库,或者将Sql 2000数据库文件放在网站虚拟目录以外。
2)过滤字符串中的单引号
当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为SQL语句中的字符是以单引号为分界的,例如下面的语句,在执行时就会出错:
strName="I'm Hacker"
strSQL="SELECT*FROM User WHERE[Name]='"&strName&"'"
conn.Execute strSQL
这样,在实际执行过程中最终SQL语句如下:
SELECT*FROM User WHERE [Name]=‘I'm Hacker'
由于在“I‘m Hacker”中包含一个单引号“’”,这样系统会认为在字母“I”后面已经结束,但后面仍有字符,于是就会提示语法错误。因此需要将单引号过滤掉,或者替换为两个单引号(在SQL语法中用两个单引号表示一个单引号),只要使用VBScript中的Replace函数就可以达到目的。
3.1.3 代码的复用
本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如分页、检查E-mail的函数和上传类。
3.2 系统开发所用的技术
3.2.1 JSP技术
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag)&#x