附录1 外文参考文献(译文)
浅析Java的数据库访问技术
1. 引言
Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信和多媒体数据控制等。
2. JDBC
JDBC是一种可用于执行SQL语句的Java API,它由一些Java语言编写的类和界面组成。JDBC的体系结构由四个组件:应用程序、JDBC驱动程序管理器(JDBC Driver Manager)和数据源(Data Source)。JDBC API通过一个JDBC驱动程序管理器和为各种数据库定制的JDBC驱动程序,提供与不同数据库的透明连接。
JDBC API的作用就是 屏蔽不同的数据库间JDBC驱动程序之间的差别,使得程序设计人员由一个标准的、纯Java的数据库设计接口,为在Java种访问任意类型的数据库提供技术支持。JDBC驱动程序管理器为应用程序装载数据库驱动程序。JDBC驱动程序与具体的数据库相关,用于建立与数据源的连接,向数据库提交SQL请求。
目前比较常见的JDBC驱动程序分为一下四个种类: 2.1 JDBC-ODBC桥+ODBC驱动程序
JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。 2.2 本地API
这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。
2.3 JDBC网络纯Java驱动程序
这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。
2.4 本地协议纯Java驱动程序
第 41 页
这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机及其上直接调用DBMS服务器,是Intranet访问的一个很实用的解决办法。
对于以上四类驱动程序的选择,需要考虑构建应用程序的实际需要。一般而言,我们建议不要适用桥驱动程序,即第(1)(2)类驱动程序,它们主要是作为纯Java驱动程序还没有上市之前的过渡方案来适用,效率相对地下,程序的可移植性差。第(3)(4)类驱动程序是从JDBC访问数据库的首选方法,它们不但使程序的可移植性提高,达到跨平台的目的,还省去了在客户端安装驱动程序的麻烦。第(3)类驱动程序最大的优点在于对多数据库的支持,使最灵活的JDBC模式,广泛地应用与Internet/Intranet开发,性能十分突出。这种驱动程序支持多数据库以及分布式事物处理和集中管理,适用于大型的企业级应用。第(4)类驱动程序的优点在于与数据库本身结合紧密,性能很高。适用于小型企业级应用。
应用程序层中含4种重要的接口:
Java.sql.DriverManager处理驱动程序的装载和建立新的数据库链接。 Java.sql.Connection完成对某一指定数据库的链接。
Java.sql.Statement管理在指定数据库链接上的SQL语句的执行。 Java.sql.ResultSet从数据库返回的结果集。 3. 提高数据库访问效率的几种技术 3.1 数据库连接池技术
数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的链接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量、使用情况,为系统开发、测试及性能调整提供依据。
3.2 JavaBean技术
在实际应用程序中会遇到很多程序访问数据库的情况,如果数据库要修改,哪怕仅是密码,也要改动所有的程序,所以应当把链接数据库的操作放进一个程序中,再需要数据库链接时去调用这个文件就可以解决这个问题。一般的方法就是把数据库链接做成一个JavaBean来封装数据库操作。JavaBean技术是一种可以重复使用且跨平台的软件组件,可以使用JavaBean封装事物逻辑和客户端操作的分离,使系统具有更好的灵活性和适用性。因此,使用JavaBean提高了数据库的访问效率。
第 42 页
3.3 数据库批量更新机制
数据库批量更新的机制时通过一次调用将整批更新命令提交给数据库,之后数据库将一次处理所有的更新。这比将同组中的每一个更新逐一提交给数据库的性能要高很多,大大提高了对数据库的访问速度。
3.4 多线程及线程池技术
多线程技术主要解决处理器单元内多个县城执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。但如果对多线程应用不当,会增加对单个任务的处理时间。线程池技术正是关注如何缩短或调整时间的技术,从而提高服务器程序性能的。
当使用多个较短存活期的线程有利时,可以运用线程池急速,此技术节省了虚拟机为每项短期工作创建新进程的工作量。另外,它使得与线程的启动及消亡后的清理相关的开销最小。使用此激素和可以减少反应时间。在任务期限比较短时,线程池也是不错的方法。
第 43 页
附录2 外文参考文献(原文)
Analysis of Java's Database Access Technology
1. Introduction
Java language is a support network computing object-oriented programming language. Java language has absorbed Smalltalk language and C + + language of the advantages, and an increase of other features such as support for concurrent programming, network communications and control of multimedia data.
2. JDBC
JDBC is a SQL statement can be used for the implementation of the Java API, it is written by a number of Java class and interface components. JDBC architecture consists of four components: the application, JDBC driver manager (JDBC Driver Manager), and data sources (Data Source). JDBC API via a JDBC driver manager and for a variety of customized database JDBC driver to provide transparent connectivity of different databases.
JDBC API is the role of shielding between different database JDBC drivers the difference between, making programmers from a standard, pure Java database design interface, in Java of any type of database access to provide technical support. JDBC driver manager for database-driven application program loaded. JDBC driver associated with a specific database, and data sources used to establish connections, submit SQL requests to the database.
At present, the more common JDBC drivers are divided into about four categories: 2.1 JDBC-ODBC bridge + ODBC driver
JavaSoft products that use ODBC bridge provides JDBC access to drivers 2.2 Local API
This type of driver on the client API of the JDBC call is converted to Oracle, Sybase, Informix, DB2 and other DBMS call.
2.3 JDBC Network pure Java driver
第 44 页
This JDBC driver will convert the DBMS has nothing to do with the network protocol, such an agreement after a server has been converted to a DBMS protocol. This Web server middleware to its pure Java client to connect to a wide range of database. The agreement depends on the specific provider.
2.4 Local agreements pure Java driver
This type of JDBC driver will call directly into a DBMS network protocol used. This will allow the client and from a direct call on DBMS server, Intranet access is a very practical solution.
Driver for more than four choices, to build applications that need to take into account the actual needs. In general, we recommend that drivers do not apply to the bridge, that is, subsection (1) (2) class driver, which is mainly as a pure Java driver has not yet listed on the program prior to the application of the transition, the relative efficiency of the ground, the procedure can be transplanted poor. (3) (4) from the JDBC driver is the preferred method to access the database, they not only improve the portability procedures to achieve the purpose of cross-platform, but also eliminates the need to install the client driver trouble. Subsection (3) class driver is on the merits of the largest multi-database support, so that the most flexible JDBC model, widely used with the Internet / Intranet development, a very outstanding performance. This driver supports multi-database and distributed transaction processing and centralized management for large-scale enterprise applications. Subsection (4) driver the advantage of close integration with the database itself, a high performance. Applicable to small-scale enterprise applications.
Application layer containing four kinds of important interfaces:
Java.sql.DriverManager to deal with the driver loading and the establishment of a new database link.
Java.sql.Connection completion of a specified database link.
Java.sql.Statement management database in the designated link on the implementation of the SQL statement.
Java.sql.ResultSet returned from the database result set.
3. To improve the efficiency of database access in several technical 3.1 database connection pool technology
第 45 页
教务管理系统的设计与实现
摘 要
教务管理是学校的教务工作的主要内容,其信息量大、信息变动频繁历来是各学校的头疼问题,随着人们对用计算机的使用越来越广泛以及互联网络普及,教务管理也已经基本形成了多元的网络化管理,极大的方便了广大师生,也方便了学校对教务工作的管理,大大的提高了教学质量。
本系统采用FlexBuilder、MyEclipse结合MySQL数据库进行设计,从管理和使用的角度分为两个部分:学校教务管理端和学生使用端。前者主要有系统管理员及任课教师使用,后者则是主要面对在校学生。
本文首先作教务管理系统的功能需求分析,然后对数据库进行需求分析,再在数据库中建立相应的表,并弄清楚数据库中各个表的逻辑关系,接着编写代码,最后调试网站,直到形成用户满意的可以使用的完整系统。
关键词: 教务管理系统; FlexBuilder; MyEclipse; MySQL
第 1 页
The Design and Implementation of Educational Administration System
Abstract
Academic Senate, the school management is the main content, it is informative, information has always been the frequent changes in schools of headache problems, as people used more and more extensive use of computers and the popularization of the Internet, educational administration has been basically formed a multi-network management, a great convenience to teachers and students, but also on the Senate to facilitate the work of the school management, greatly increased the quality of teaching.
The system uses a FlexBuilder, MyEclipse combination of MySQL database design, from the perspective of management and use is divided into two parts: School of Educational Administration and students to use the client side. The former are mainly system administrators and classroom teachers to use, while the latter is the major problems encountered in school.
In this paper, first of all, make the functions of educational management system needs analysis, then the database needs analysis, and then in the database corresponding table, and each database table to clarify the logic of relations, and then write code, debug the final site, until the formation of customer satisfaction The complete system can be used.
Keywords: Educational Administration system; FlexBuilder; MyEclipse; MySQL
第 2 页
目 录
1 绪论 ................................................ 1
1.1 课题的研究背景与意义 ................................ 1
1.1.1 课题的研究背景 ..................................... 1 1.1.2 课题的研究意义 ..................................... 1
1.2 系统的定义及内容简介 ................................ 1
1.2.1 系统的定义 ......................................... 2 1.2.2 系统的内容简介 ..................................... 2
2 系统中主要用到的技术 ................................ 3
2.1 MySQL数据库 ........................................ 3 2.2 Flex ................................................ 3 2.3 Java ................................................ 4
3教务管理系统的设计与实现 ............................. 6
3.1 开发和运行环境选择 .................................. 6 3.2 系统设计 ............................................ 6
3.2.1 系统功能分析 ....................................... 6 3.2.2 系统功能模块设计 ................................... 7
3.3 数据库设计 .......................................... 7
3.3.1 数据库概念结构设计 ................................. 7 3.3.2 数据库逻辑结构设计 ................................. 8
4 模块详细设计 ....................................... 11
第 3 页
4.1 主页面 ............................................. 11 4.2 用户登录页面 ....................................... 13 4.3 学生功能模块设计 ................................... 17
4.3.1 个人信息查询页面 .................................. 17 4.3.2 个人信息修改页面 ................................. 211 4.3.3 在线选课页面 ...................................... 22 4.3.4 密码修改页面 ...................................... 27 4.3.5 历史留言查询页面 .................................. 27 4.3.6 留言板页面 ........................................ 28
4.4 教师功能模块设计 ................................... 29
4.4.1 教学实施计划查询页面 .............................. 29 4.4.2 选课信息查询页面 .................................. 30 4.4.3 个人信息查询修改页面 .............................. 30 4.4.4 密码修改页面 ...................................... 30
4.5 管理员功能模块设计 ................................. 31
4.5.1 教师信息修改、删除页面 ............................ 31 4.5.2 管理员信息修改、删除页面 .......................... 32 4.5.3 课程信息添加、修改、删除页面 ...................... 32 4.5.4 学生学籍查询、修改、删除页面 ...................... 34 4.5.5 留言查看、删除页面 ................................ 35
5 用户手册 ........................................... 36
5.1 系统功能简介 ....................................... 36
第 4 页
5.2 系统运行与操作指南 ................................. 36
6 总结与展望 ......................................... 37
6.1 系统总结及不足之处 ................................. 37 6.2 设计心得 ........................................... 37
致 谢 ................................................ 39 参考文献 ............................................. 40附录1 外文参考文献(译文) .......................... 41附录2 外文参考文献(原文) .......................... 44
第 5 页
5 用户手册
5.1 系统功能简介
此教务管理系统主要由学生功能、教师功能、管理员功能三大模块组成。 1、学生功能:
本模块具有五项功能:主要用户学生查询自己的学籍信息,也可以在线选课,可以修改个人的部分信息,修改登录时的密码等。
2、教师功能:
本模块具有四项功能:通过学生选课,学生修完学时之后,老师就应该给学生所选课程打分,所以在此,添加了“选课信息”模块,用于老师给学生打分;除了教师给学生打分外,教师可以修改个人部分信息,修改登录时密码,可以查询教学实施计划等。
3、管理员功能:
本模块具有五项功能:管理员有权限之分,权限为0的管理员为超级管理员,对系统的所有操作都可以实现,而权限为1的管理员,除了删除信息及修改管理员的权限不能实现外,其他操作都可以实现;管理员可以管理学生学籍、管理教师、管理课程、管理留言等。
5.2 系统运行与操作指南
本系统可直接是基于B/S模式的,所以直接通过IE浏览器就可以运行。
不同用户在登录本系统时需要选择用户类型、输入用户名和密码,若通过了系统数据库的验证,便可以进入符合身份的用户界面进行用户操作。本系统有三种用户类型即学生、教师和系统管理员。根据不同的身份,他们所能执行的操作都有所不同。
如果是学生,登录后可以进入学生主页面进行选课,个人信息查询等操作。 如果是教师,登录后可以进入教师主页面进行课程打分,个人信息查询等操作。 如果是系统管理员,登录后则可以进入系统完整的页面,可以对学生学籍、教师信息、留言信息、课程等进行添加、修改、删除等操作。
第 36 页
6 总结与展望
6.1 系统总结及不足之处
本系统具有以下优点:
1、由于系统采用Flex这一先进平台作为开发平台,使得界面绚丽度和功能可操作性提高到了前所未有的高度,使本系统的构建思想更为可行。整个系统基于先进的Flex环境和Java环境而开发,使应用程序的发布更为容易,使系统具有更好的移植性,为日后系统升级奠定了良好的基础。
2、本系统可以运行在多种操作系统平台上(Windows NT/Windows 2000/Windows XP/Windows Vista),数据库管理系统采用MySQL,功能强大的Flex配合可移植性好的Java开发环境。
3、系统将用户权限进行划分,分为学生、教师和系统管理员,权限为0的管理员使用系统的全部功能,可以进行信息更改、维护等操作,他是最高层系统管理员;权限为1的管理员只能使用系统的部分功能,可以进行信息的更改;学生和教师只能进行基本信息的浏览和基本操作。这样既方便了用户,又保证了系统的安全性。
4、整个系统运行后,显示在浏览器上的部分,除了文本框文字可以复制、修改等操作以外,其他区域一律不能对文字进行复制等操作。整个程序在编译之后,显示在浏览器上的部分全部是后缀名为swf的文件,安全性高;而且整个系统在运行时,只会在地址栏看到一个页面名:index.html。
5、系统界面简单易操作,输入信息方便,方面人们使用。 但是也存在以下不足之处:
1、界面跳转复杂,不能对界面进行刷新,这一点有待改进。
2、功能比较简单,部分选课过程等没有进一步改善、加强,不能更好的为用户服务。
3、数据库设计有冗余,需要进一步优化。
6.2 设计心得
毕业设计的选题是在指导老师的建议下于上学期末确立的,选题确定后就找过这方面的资料开始学习,一开始对这方面可以说是不熟悉,虽然原来学过JSP技术,但由于当时不认真,了解的东西还是很少,在校学习过程中只能说对于JSP的运行原理和机制
第 37 页
已经有了一个整体的认识。后来通过培训,学习了更多的知识,学习到了最新的Flex技术。学习过程中,Flex的界面绚丽度和操作的简单、方便让我下定决心选用Flex技术完成毕业设计。由于Flex需要远程调用数据库,所以又选择可一致性好的Java语言来配合开发。
本次毕业设计已经基本顺利结束,在整个设计过程中,劳动与汗水凝结了这次设计。解决设计的一个问题,就会有新的感受和新的收获。学习是一个长期的过程,在设计系统过程中,遇到了许多问题,后来通过自己的努力,解决了大部分问题,也学到了许多知识。通过这次毕业设计,我学到了很多,从最初的Java语言,后来到Web开发,再后来在培训过程中学到的ssh,再后来学到Flex,最后到将软件功能的思想融合与整个设计过程中,将平时所学的知识运用于实际开发实践中。
在这个系统的实现过程中也经常遇到一些困难,毕竟对于Flex这一新技术掌握的不熟练,有很多控件不能真正了解他们的含义,还有一些对象调用的方法,也都不是很了解,界面的美化也处理不够好。所以开始设计时,真的遇到了很多困难,不过通过同学和老师的帮助以及上网学习,解决了设计上的不少问题,也使我对Flex技术有了一定的掌握,同时巩固了以前所学的知识。实现了质的跨越,从纯粹的理论学习到后来的实践再到毕业设计的完成,是理论联系到实践,是认识的第二次飞跃。
总而言之,这次毕业设计使我学到了很多在大学课堂上学不到东西,不光是专业知识有所提高,还锻炼了我的意志,使我更加坚强。要走软件开发这条路,就必须要不断学习新知识,不断增强自己与别人竞争的实力,还需要有不怕吃苦的精神,因为软件开发这条路对开发人员的身体来说,是一个考验。
第 38 页
致 谢
通过这次毕业设计,我获益匪浅。首先,需要感谢大学四年来,一直帮助我的各位老师,因为他们对我的信任和帮助,我才能学到那么多的软件开发语言和环境。在这次毕业设计过程中,得到了周凤丽老师和其他老师的精心指导,在此表示衷心的感谢!要特别感谢指导我毕业设计的周凤丽老师,在我有特殊情况时能及时帮助我,使我的毕业设计和论文得以顺利完成。
第 39 页
参考文献
1. 杨博,杜昱宏译. Adobe Flex 3: Training from the Source. 人民邮电出版社, 2009年3 月
2. 郝刚. Flex 3.0入门指南. 北京电子工业出版社, 2009
3. 孙晗波. Adobe Flex 3程序设计指南. 北京电子工业出版社, 2009 4. 黄梯云.《管理信息系统导论》. 机械工业出版社, 2007 5. 张骥,涂颖芳. Flex程序设计. 人民邮电出版社, 2008
6. 杨正甫. 面向对象分析与设计. 中国铁道出版社, 2003 7. 萨师煊,王珊. 数据库系统概论. 高等教育出版社, 2002 8. 王睿. Flex与ActionScript编程. 机械工业出版社, 2008 9. Robert Cecil Martin . UML for Java Programmers. USA, 2002 10. 张海蕃. 软件工程导论. 清华大学出版社, 2003
11. 林剑,王宇译. JAVA实例技术手册(第三版). 中国电力出版社, 2005年6月 12.郑可奇. MySQL实用教程. 电子工业出版社, 2009
13.唐汉明. 深入浅出MySQL数据库开发、优化与管理维护. 人民邮电出版社, 2008 14. 阿特金森,周靖,许青松. MySQL核心编程:高级开发者指南. 清华大学出版社, 2003 15. 邱彦林. Flex第一步:基于ActionScript 3.0的Flex 2应用开发. 清华大学出版社, 2007 16.Paul Milbourne, Chris Kaplan, Michael Oliver, Serge Jespers. The Essential Guide to Flash CS4 with ActionScript. friends of ED, 2009
17.Alaric Cole. Learning Flex 3: Getting up to Speed with Rich Internet Applications.
O'Reilly, 2008
18.Katherine Ulrich. Flash CS4 Professional for Windows and Macintosh: Visual QuickStart
Guide. Peachpit Press, 2008
第 40 页
}
int rs = db.update(sql); if (rs == 1) { } return flag;
flag = true;
public String ads(String stu_id, String teachcourse){ }
{user_name}
{selectdg.selectedItem.course_name}
String str=null;
String sql1=\ + teachcourse+ \; DBTools db=new DBTools(); ResultSet rs = db.select(sql1); try {
while(rs.next()){
str = rs.getString(\); }
} catch (SQLException e) { } return str;
e.printStackTrace();
第 26 页
4.3.4 密码修改页面
学生密码修改页面如图4.8所示,在此页面中已经登录系统的学生用户可以对自己的登录密码进行修改。
图4.8 密码修改页面
4.3.5 历史留言查询页面
历史留言查询页面如图4.9所示,在此页面中当前登录学生用户可查看其已经发表过的历史留言。
图4.9 历史留言查询页面
第 27 页
该页面的实现代码如下所示:
private function wordOperator(event:MouseEvent):void {
if(event.target is Button) {
if(event.target.label==\查看\) {
var look_words:look_word=
look_word(PopUpManager.createPopUp(this,look_word,true));
pointer1.x=0; pointer1.y=0;
pointer1=check.localToGlobal(pointer1); look_words.x=pointer1.x+25; look_words.y=pointer1.y+25; var word:Word=new Word();
word.leave_id=worddg.selectedItem.leave_id;
word.leave_date=worddg.selectedItem.leave_date; word.leave_name=worddg.selectedItem.leave_name; word.leave_content=worddg.selectedItem.leave_content;
var look_wordevent:Look_WordEvent=new Look_WordEvent(word); this.dispatchEvent(look_wordevent);
} } }
4.3.6 留言板页面
留言板页面如图4.10所示,已登录用户可通过此页面在管理系统系统中发表留言。
第 28 页
图4.10 留言页面
学生进入此页面后,可以对教学或者系统完善性提出意见或者指出错误。管理员通过登录,可以查看到学生的留言,针对学生的意见可以对系统进行维护。
4.4 教师功能模块设计
教师功能模块主要包括教学实施计划查询,选课信息查询、打分,个人信息查询、修改,密码修改。
4.4.1 教学实施计划查询页面
教学实施计划查询页面如图4.11所示,教师进入此页面后,可以查看到各课程的教学安排情况。教师通过按要求查询,可以查询到与自己教学有关的相关教学信息。
图4.11 教学实施计划查询页面
第 29 页
4.4.2 选课信息查询页面
选课信息查询页面如图4.12所示。教师进入此页面之后,可以查看到已经选修了自己所授课程的学生,点击“打分”按钮,可以对选了此课程的学生的成绩进行修改或者打分。
图4.12 选课信息页面
4.4.3 个人信息查询修改页面
个人信息修改查询页面如图4.13所示,教师进入此页面后,可以查看到自己的基本信息(包括教师工号、姓名、职称等)。还可以对其中一些信息进行修改。
图4.13 个人信息查询修改页面
4.4.4 密码修改页面
第 30 页
密码修改页面如图4.14所示,教师进入此页面后,可以输入新密码,更改登录时使用的密码。
图4.14 密码修改页面
4.5 管理员功能模块设计
管理员功能模块包括教师信息修改、删除,管理员信息修改、删除(有权限之分),课程信息添加、修改、删除,学生学籍查询、修改、删除(有权限之分),留言查看、删除(有权限之分)。
4.5.1 教师信息修改、删除页面
教师信息修改、删除页面如图4.15所示:
图4.15 教师信息修改、删除页面
第 31 页
进入此页面后,管理员可以查看或者修改现有教师的基本信息。当点击“删除”时,如果此管理员权限为1,则不能进行删除,显示权限不够,如图4.16所示。
图4.16 删除时权限不够页面
4.5.2 管理员信息修改、删除页面
管理员信息修改、删除页面如图4.17所示,管理员可在此页面中查看或者修改现有系统管理员的基本信息。当点击“删除”时,如果此管理员权限为1,则不能进行删除,显示权限不够。
图4.17 管理员信息修改、删除页面
4.5.3 课程信息添加、修改、删除页面
课程信息添加、修改、删除页面如图4.18所示,系统管理员可在此页面中添加新的课程信息,或者修改和删除已存在的课程信息。
第 32 页
图4.18 课程信息添加、修改、删除页面
基本实现代码如下所示:
{check.text}
{combo1.text}
{teachdg.selectedItem.teach_id}
第 33 页
{user_name}
{studg.selectedItem.stu_id}
{user_name}
4.5.4 学生学籍查询、修改、删除页面
学生学籍查询、修改、删除页面如图4.19所示,系统管理员可以在此页面中查看或者修改现有在校学生的基本信息。当点击“删除”时,如果此管理员权限为1,则不能进行删除,显示权限不够。
图4.19 学生学籍查询、修改、删除页面
第 34 页
4.5.5 留言查看、删除页面
留言查看、删除页面如图4.20所示,管理员进入此页面后,可以查看所有学生的留言信息,但是在做删除操作时有权限限制,只有当管理员权限为1时才能对学生发表的留言进行删除,否则显示权限不够。
图4.20 留言查看、删除页面
第 35 页