1网站架构设计
网站建设过程中,系统的架构设计是重要的环节。本系统采用MVC(ModelViewController)模式,系统结构示意如图2所示。主要是在服务器端利用JSP(JavaServerPages)、Struts、JavaBean等技术进行开发。MVC模式的最大优点是耦合性低,视图层和业务层分离,这样就允许只更改视图层代码而不用重新编译模型和控制器代码,同理,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可[2]。
2网站实现平台
2.1软件和服务器环境操作系统:WINDOWSXP/7服务器软件:Apache数据库软件:MySQL(WAMP/XAMPP集成)编译器:MyEclipse,Dreamweaver82.2Apache服务器Apache是一种网页服务器软件,在目前网络技术市场中,Apache是唯一一款开源的,全世界的优秀程序员都在对它进行修改[3]。因此,Apache是JSP网站开发程序的首选页面服务器软件,有执行效率高,与JSP完美搭配、稳定等优点。虽然Apache配置过程较复杂,但是配置成功之后可长时间稳定运行。因此服务器上普遍采用LINUX+Apache的方式进行配置。个人管理软件MySQL同ORACLE、DB2、SQLSERVER等软件一样,是一款常用的关系型数据库管理软件[5]。比其他关系型数据库管理软件体积更小、效率更高、搜索快速、不需要花费任何费用,网站采用MYSQL数据库管理系统与JSP脚本语言相结合的数据库系统解决方案。数据库的功能是在计算机上实现数据管理。网站首先要建立数据库,数据库连接成功后,整个网站操作将更为简便。网站数据库中建立了三个基本的关系表:网站管理员用户表admin,如表1所示;网站普通用户表student,如表2所示;网站留言信息表comment,如表3所示。
3网站使用的相关技术
3.1数据库的连接大学生创新创业网站是一个运用Servlet来编写的动态网站,采用JDBC(JavaDataBaseConnectivity)来建立数据库。JDBC是一种用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface),可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序[6]。部分核心代码如下:conn=DriverManager.getConnection("jdbc:mysql://127.0.01/startbusiness?useUnicode=true&characterEncoding=utf-8","root","");通过调用JDBC的核心类生成conn数据库操作对象,并利用getConnection方法将数库的地址和链接用户名以及数据库的打开字符集进行描述。整个网站平台的实现结构是利用‘数据库链接池’的软件架构,如图3所示。如果需要使用数据库资源,只需要调用链接Javabean的函数方法就可以了。使用这种架构的系统,结构清晰、功能可扩展性强、后期可维护性高。3.2Css样式表的设计Css(CascadingStyleSheet)是一种用来表现HTML(HyperTextMark-upLanguage标准通用标记语言的一个应用)或XML(eXtensibleMarkupLanguage标准通用标记语言的一个子集)等文件样式的计算机语言[7]。通过使用Css样式表可以使网站前台的文字和样式分离。在修改网页的时候只需要修改其文字内容而不需修改其样式,实现网页修改的渐变快捷和风格灵活;而在扩展和修改网站前台风格时,只需要通过修改网站的样式表就可以实现对网站整体风格的修改了;同时,其标签化的方式可以轻松的实现对表单<form>的兼容。对于后台的一些处理请求因为其模块化的设计结构可以方便的完成对前台页面的动态管理。3.3JavaScript脚本的设计JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作[8]。JavaScript通过嵌入到前台的<scripttype=text/javascript>Java脚本来实现注册用户的密码验证功能,前台界面通过document.getElementById的方法获取用户界面的输入数字并进行比较,如果相同则函数返回true,如果不同则返回false并且弹出提示对话框。3.4Session变量的应用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,并且在整个用户会话中一直存在下去[9]。在网站中最典型的应用就是用户登录界面的用户名保存功能,不论用户在哪一个界面,一旦其登录以后用户名便可以保存在网页中。Session变量的生命周期是整个网站浏览周期,也就是说一旦打开浏览器网站就会生成session变量,而不会随页面的跳转而发生变化。3.5post数据传送方法Post传输数据时有其不需要在URL中显示出来的优点,同时Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节[10]。在本网站中的应用是用户登录时对其输入的信息在服务器中进行验证,再返回给用户。部分核心代码如下:<formname="form1"method="post"action="servlet/userlogin">;前台代码Stringname=vd.getUnicode(request.getParameter("username"));后台代码可以看到前台在提交信息时method使用的是post方式,而提交动作则交给了userlogin这个servlet来进行处理;后台中servlet获得了request变量中的username字段,并进行字符码的转换,然后进行判断用户名是否正确等一系列的动作。
4结束语
JSP技术的特点在于开放性、跨平台特性、完全免费并且能够与MySQL完美的结合,因此它成为网站开发人员的首选编程语言。这套系统有以下两个主要特点:(1)采用了MVC构架,方便了日后的维护、修改等工作,同时,增加了系统的可重用性;(2)使用了当前流行的AMJ(即Apache+MySQL+JSP)组合,这种组合方法把显示逻辑分开,代码容易理解管理,非常适用于网站的二次开发。目前,网站已经进入试运行阶段,各项功能都能够正常使用,能够作为大学生学习、交流创新创业信息的平台,学生反应效果良好。当然,系统在代码重用率、网站功能等方面还存在着不足之处,有待进一步修改及完善。
作者:潘小琴 黄思齐 魏鑫 单位:西南科技大学