1、中北大学2014届毕业设计说明书毕业设计文章发布系统管理员功能模块子系统 软件学院学生姓名: 学号: 软件工程学 院: 专 业: 指导教师: 文章发布系统 摘 要进入21世纪,随着计算机科学的发展,文章阅读在日常生活中的应用越来越广泛。本文研究了基于Java EE技术的文章发布系统,与普通的静态网页相比,它的特点是与用户交互性较强,具有用户在线发布,实时阅读等优点。计算机是智能化的,高精确的,它能使一些繁琐的工作变得井井有条。例如:查找方便、可靠性高、存储量大、保密性好、无寿命限制、成本低等。这些优点能够大大的减轻员工的负担,提高办事效率。本论文主要内容如下:(1)介绍了开发工具及开发环境配置
2、;(2)介绍了系统开发的主要流程;(3)系统功能的设计与实现,包括用户登录、用户注册、用户信息管理、文章发布、文章删除、文章编辑等功能模板;(4)建立实验网站并测试。关键词:文章发布系统,tomcat , mysql , jfinal Articles Published System AbstractIn the 21st century, with the development of computer science, reading articles in their daily lives more and more applications. In this paper, the
3、Java EE-based technology, the article published systems , and ordinary static pages, it is characterized by strong interaction with the user, the user has published online, real-time reading, and other advantages. The calculator is what intelligence turn, high precision of, it can make some tedious
4、works become tidy. For example: Check to seek the convenience, credibility high, save to have great capacity, confidentiality good, have no life span restrict, low etc. of cost. These advantages can lighten the employees burden consumedly, the exaltation handles affairs the efficiency.This paper rea
5、ds as follows: (1) introduced a development tool and development environment configuration; (2) introduced the system of the main process; (3) system design and implementation of, including user login and user registration, published articles, article, and other management functions template; (4) th
6、e establishment of the experiment and test site. Key words: articles published System ,tomcat ,mysql , jfinal第 I 页 共 页华中科技目 录1 引言12 系统概述221 系统的功能概述222 开发工具的介绍22.2.1 MyEclipse介绍22.2.2 MySQL介绍32.2.3 Tomcat 介绍423 系统开发的思想和技术42.3.1 FreeMarker 介绍42.3.2 Jfinal 框架介绍63 系统调研及可行性研究731 系统的功能概述73.1.1 系统的功能需求732
7、系统的性能要求93.2.1 系统时间特性的规定93.2.2 系统灵活性93.2.3 输入输出要求93.2.4 数据管理能力要求93.2.5 故障处理要求933 系统技术要求934 系统功能结构图1035 系统功能模块划分1036 系统流程分析1237 系统数据库的设计133.7.1 数据库需求分析133.7.2 数据库逻辑设计13第 页 共 页3.7.3平台数据表的设计154 系统详细设计1741 用户登陆模块1742 文章发布模块2043 管理登陆模块245 测试2551 用户管理模块测试2552 admin管理模块测试2653 发布文章模块测试266 小结27参 考 文 献28致 谢29第
8、 页 共 页1 引言伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。尤其是在教育领域,在素质教育与终身教育成为必然的今天,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一种新兴的教育资源。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。
9、随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。Web技术作为一个跨平台、多媒体的信息发布和浏览技术,它可以实现动态交互,使开展形象生动、内容丰富的网上在线阅
10、读文章成为可能;由于阅读者可以自己掌握阅读进度,选择自己喜欢的文章,并且可以发布自己的文章,由此带来了共享文章资源、扩大友在线阅读规模、提高在线阅读交互性、实现以阅读者为主体的在线阅读文章的好处,因而在线阅读发布文章已成为未来发展的必然趋势。 2 系统概述21 系统的功能概述此论坛系统可以发表任意文章,在这里首先通过使之成系统的用户,注册成功后可以发表主题文章,帖子查询,浏览等,发布文章之后这里有强大的后台管理,管理员需对其文章进行审核,审核通过则才能发布,不符合规定则打回重写,并可以设置权限,好的文章置顶,不好的文章删除,还可以对注册的用户进行管理,包括注册新用户,对扰乱此系统的用户进行冻结
11、管理等等。 论坛系统的目的是为广大的网络用户提供一个可以自由地,方便地发表自己的观点和想法的网上空间。利用网络的便捷,可以让更多的人互相交流看法,讨论问题,抒发情感,交换建议,共享资源。为了使他适合更多的用户使用,系统的界面设计应该尽量做到友好,简洁,功能的实现更注重人性化,方便用户的浏览和发言,使得用户不需要专门的学习便可掌握使用方法。22 开发工具的介绍2.2.1 MyEclipse介绍MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平
12、台,(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。 在结构上,MyEclipse的特征可以被分为7类:(1) JavaEE模型 (2) WEB开发工具 (3) EJB开发工具 (4) 应用程序服务器的连接器 (5) JavaEE项目部署
13、服务 (6) 数据库服务 (7) MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。2.2.2 MySQL介绍数据库使用的是MySQL开源数据库。MySQL的特性:使用C和
14、C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 。支持AIX、FreeBSD、HP-UX、Mac OS、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 。为多种编程语言提供API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。支持多线程充分利用CPU资源。优化的SQL查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数
15、据列名。提供TCP/IP、ODaaBC和JDBC等多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。MySQL的应用:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体成本。Navicat for MySQL是一款强大的 MySQL 数据库管理和开发工具,它
16、为专业开发者提供了一套强大的足够尖端的工具,但对于新用户仍然易于学习。Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 MySQL 的用管理界面工具。此解决方案的出现,将解放 PHP、J2EE 等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。Navicat for MySQL 使用了极好的图形用户界面(GUI),可以用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。 用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库转移
17、到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat for MySQL 支援 Unicode,以及本地或远程 MySQL 服务器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。软件与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及 BINARY VARBINARY/BIT 数据种类等的规范。2.2.3 Tomc
18、at 介绍 Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平和与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合在被普通使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运
19、行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。23 系统开发的思想和技术2.3.1 FreeMarker 介绍FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,
20、JSP或Java 等。FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境,FreeMarker更适合作为Model2框架(如Struts)的视图组
21、件,可以在模板中使用JSP标记库,FreeMarker是免费的。其主要特点: (1) 通用目标 能够生成各种文本,HTML、XML、RTF、Java源代码等等;易于嵌入到你的产品中;轻量级;不需要Servlet环境插件式模板载入器;可以从任何源载入模板;如本地文件、数据库等等;你可以按你所需生成文本;保存到本地文件;作为Email发送;从Web应用程,序发送它返回给Web浏览器。 (2)强大的模板语言 所有常用的指令,如include、if/elseif/else、循环结构在模板中创建和改变变量,几乎在任何地方都可以使用复杂表达式来指定值命名的宏,可以具有位置参数和嵌套内容,名字空间有助于建立
22、和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突;输出转换块,在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮 等等;你可以定义自己的转换。 (3)通用数据模型 freeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变 量方式在模板中显示 ,你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰 。 (4)为Web准备 在模板语言中内建处理典型Web相关任务(如HTML转义)的结构,能够集成到Model2 Web应用框架中作为JSP的替代,支持JSP标记库为M
23、VC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员。 (5)智能的国际化和本地化 字符集智能化(内部使用UNICODE),数字格式本地化敏感,日期和时间格式本地化敏感,非US字符集可以用作标识(如变量名),多种不同语言的相同模板。 。 2.3.2 Jfinal 框架介绍JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。JFinal架构十分简单,顶层是一个责任链模式变种,ActionHandler 内部
24、结构也十分简单,是一个Command模式变种。JFinal 架构图如图2.1所示。 图2.1 Jfinal流程图JFinal将一直坚持以下设计目标:开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在坚持以上设计目标的同时,基于微内核+全方位扩展型架构,打造功能极度全面WEB+ORM开发框架。彻底解放开发者的生产力,彻底改善开发者的开发体验,让软件开发成为一件轻松愉快的事情。JFinal 用微内核全方位扩展架构,全方位是其扩展方式在空间上表现形式。JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分组成。3 系统调
25、研及可行性研究需求分析要求详细、准确地分析清楚系统必须“做什么”,它是关系到软件开发成败的关键阶段,在需求分析阶段,需要用到各种方法,技术和工具等。通常把一整套需求规格说明的方法,技术,图形工具以及相应的软件工具的集合称为建模方法。文章发布是针对我们平时在阅读文章的不便之处而提出的。传统阅读文章用户不是主动的,不能发布自己的作品,不能方便的管理自己发布的文章,而文章发布系统很好的解决了传统模式的弊端,用户可以在系统中在线发布自己的作品,管理自己的作品,实现以阅读者为主体的在线阅读文章的好处。31 系统的功能概述本系统中可以发布文章,可以对别人文章进行查看,在这里首先通过使之成为论坛的用户,系统
26、用户分为二级管理:普通用户、管理员。其中,普通用户的功能主要包括:注册新用户、登录该系统、发布文章、查看文章发布的时间、浏览文章次数、查询文章、删除自己发布的文章、修改自己的密码等。管理员具有最高权限,管理员除了可以使用普通用户的所有功能之外,还可以进行帖子管理,包括删除和修改帖子,置顶,和取消置顶等。此系统的目的是为广大的网络用户提供一个可以自由地,方便地发表自己的观点和想法的网上空间。3.1.1 系统的功能需求用户注册功能,用户登录功能,发布文章,查询帖子功能,浏览帖子功能,个人信息设置功能,发送信息功能 ,后台管理,管理员个人信息设置功能。(1)网页制作根据需求分析,进行系统页面原型的开
27、发。网页的制作也代表了系统的一种需求表达,能够更加直观地展示给用户系统的外观,使得需求的定位能够最大可能地贴近实际的要求。(2)系统业务开发对需求进行模块划分,并且设计实现模块的祥光业务组件,进行系统的构建工作。这个阶段包括业务逻辑设计、数据库开发、代码编写、代码的单元测试等工作。(3)测试发布在开发好系统以后,需要进行系统的测试,包括测试系统的稳定性、正确性,并且要搜集意见,对系统进行及时有效的改进。(4)用户注册功能本系统能够采用注册功能,能够保证登录的限制,所有没有注册过的用户,不能操作论坛的主要功能.只能对论坛很小一部分的操作.应该有注册界面。设计风格应该简捷、美观、易于操作。(5)用
28、户登录功能用户有了进入系统的身份验证号码,还应该设置用户登录的界面 。设计风格应该简捷、美观、易于操作。(6)发表主题功能用户的主要目的就是进入系统后,能够发表主题,所以应该设计发表主题功能,设计风格应该简捷、美观、易于操作。(7)查询帖子功能查询功能是方便用户查询搜索自己想了解的主题和帖子,所以查询功能是必须存在的,对用户提供有选择的观看,只要输入一些关键字就可以了。设计风格应该简捷、美观、易于操作。(8)浏览帖子功能对于注册登录的用户提供浏览帖子的功能。设计风格应该简捷、美观、易于操作。(9)用户和管理员个人信息设置模块用户的信息不应该是终身不变的,应该可以随自己的愿望来随意修改自己的信息
29、。设计风格应该简捷、美观、易于操作。(10)发送信息功能能够接收信息。设计风格应该简捷、美观、易于操作。(11)后台管理功能后台管理功能是能够针对前台的各项功能做的管理。管理员只要操作后台就可以修改前台的一些内容。设计风格应该简捷、美观、易于操作。(12)退出功能为了完成用户的安全退出需要提供退出功能。设计风格应该简捷、美观、易于操作。32 系统的性能要求对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。3.2.1 系统时间特性的规定快速当用户注册登录后马上能看到自己发表的主题和帖子,对于该网站的时间特性要求,如对:用户的响应时间为4s10
30、s;更新数据库时间4s10s;3.2.2 系统灵活性 说明对该网站的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:操作方式通俗易懂,容易上手。一个模块的改变不会影响其他的模块。3.2.3 输入输出要求能够对不完整的数据进行校验,保证数据的完整性和一致性,输出能满足用户的需求。3.2.4 数据管理能力要求本网站采用的是MySQL数据库。记录的个数随用户多少,但能保证注册的用户都能登录进来,没有延时。3.2.5 故障处理要求 如有故障。我们会第一时间及时处理。33 系统技术要求 系统技术:JAVA,FreeMark,MySQL,Jfinal等。 JAVA主要是对JavaBe
31、ans的编写,要求要会熟练运用Myeclipse 开发工具进行类的编写,调试,编译、运行,发布。 作为网站的重要组成,界面是否美观是非常重要的,所以设计界面要让用户感到亲切,图片的处理,CSS的应用,脚本的应用等。这样会给增加网页的总体美观。 数据库的操作比较重要。动态网站就是操作数据库的数据,对数据库的数据进行调度,所以需要熟悉使用SQL语句进行添加,查询,修改和删除等操作。34 系统功能结构图系统功能结构如图3.1所示。 图3.1 文章发布系统结构图 35 系统功能模块划分从上面的功能描述的内容中可以看到,本系统可以实现的六个完整的主要功能,当然还可以实现一些上面没有提到的小功能。根据这些
32、功能,设计出系统的功能模块。如图3.2所示。图3.2 文章发布系统功能模块示意图文章在线发布系统的功能模块之间的关系如图3.3所示。 图3.3文章在线发布系统的功能模块关系图用户管理功能模块的关系如图3.4。此系统分为普通用户和超级管理员,此管理员只有一个,并且可以对普通用户进行一系列的管理,包括用户冻结,修改用户密码,用户发布的文章必须经过管理员的鉴定,如果管理员同意发布,才可以,如果不符合规定,则管理员打回其发布文章的请求,用户可以自己修改密码,包括修改其基本信息,如姓名,年龄,邮箱,电话,爱好等等,总之用户和其管理员是密不可分。图3.4 系统用户信息管理图36 系统流程分析本系统是一个多
33、用户的系统,工作流程都是从用户登录模块开始,对用户进行身份验证,首先确定用户是有效的系统用户,其次确定用户的类型,即是admin用户还是普通用户。Admin用户拥有最大的权限,可以管理普通用户的所有信息和文章,而普通用户只能管理自己的文章和基本信息,分析如图3.5所示。文章发布后台系统用户管理模块admin用户普通用户用户登录成功失败重试开始1. 管理自己的信息2. 管理普通用户的信息1.文章类别管理2.网站公告发布3.所有文章管理管理自己的用户信息1.文章信息发布2.自己发布文章的管理 图3.5系统流程分析图37 系统数据库的设计3.7.1 数据库需求分析由于该系统是一小型数据库来。根据系统
34、要实现的功能 ,将数据库分为四个表来建立:(1)管理员信息表;(2)用户信息表;(3)文章内容表;(4)信息表。这个表用来保存管理员的基本信息里面包含三个字段,分别是管理员编号、管理员名字和管理员密码。3.7.2 数据库逻辑设计数据库逻辑设计表,如表3.1所示: 表3.1 管理员信息表的字段表字段名称字段数据类型 管理员编号(ID)自动编号管理员名字(admin_name)文本管理员密码(admin_pwd)文本(2)用户信息表这个表是存放用户基本信息的,里面包含三个字段,分别是用户ID、用户名字、用户密码、性别、Email和用户注册时间,如表3.2所示: 表3.2 用户信息表字段名称字段数据
35、类型用户编号(user_id)自动编号用户名字(user_name)文本 用户密码(user_pwd)文本(3)文章内容表这个表是用来保存网上文章的基本信息的,里面包含七个字段,分别是文章ID、文章标题、文章编号、文章内容、发布时间、创建时间、阅读次数、置顶。文章ID 主用是为了查看文章,便于和数据库进行交互,在发布文章中必须加入文章标题,而文章编号是根据数据库进行自动编辑的,在输入文章内容之后就可以进行发布了,经过数据库和系统的查看功能,可以查看到发布时间和创建时间等等。文章内容表,如表3.3所示:表3.3 文章内容表字段名称字段数据类型 文章编号(ID)自动编号 文章标题(article_
36、title)文本 用户编号(user_id)自动编号 阅读时间(readtime)文本 发布时间(creatime)文本 文章内容(content)文本 阅读次数(readcount)文本 置顶(Istop)文本(4)信息表 这个表是用来保存信息的,里面包含六个字段,分别是信息编号、文章标题、用户编号、文章内容、发布时间、state。 信息表,如表3.4所示:表3.4 信息表 信息编号(message_id)自动编号 文章标题(article_title)文本 用户编号(user_id)自动编号 发布时间(creatime)文本 文章内容(content)文本 state文本3.7.3平台数据
37、表的设计根据平台的需求分析和功能模块的划分,所涉及的实体有聊天信息,用户。因此系统的定义数据库主要包含2张表:管理员表 admin,用户表user。文章信息表 message,文章内容表 article。如图3.6:图3.6 平台数据库设计表建表的sql语句:管理员表 CREATE TABLE admin ( id int(11) NOT NULL AUTO_INCREMENT, admin varchar(20) DEFAULT NULL, password varchar(20) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INC
38、REMENT=2 DEFAULT CHARSET=utf8;用户表 CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(20) DEFAULT NULL, password varchar(20) DEFAULT NULL, isuse int(11) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;内容表CREATE TABLE article ( id int(11) NOT
39、NULL AUTO_INCREMENT, title varchar(30) DEFAULT NULL, userid int(11) DEFAULT NULL, creatime datetime DEFAULT NULL, readtime datetime DEFAULT NULL, content longtext, state int(11) DEFAULT NULL, readcount int(11) DEFAULT NULL, istop int(11) unsigned zerofill DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=Inno
40、DB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;信息表CREATE TABLE message ( id int(11) NOT NULL AUTO_INCREMENT, title varchar(50) DEFAULT NULL, content varchar(200) DEFAULT NULL, userid int(11) DEFAULT NULL, creatime datetime DEFAULT NULL, state int(11) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INC
41、REMENT=15 DEFAULT CHARSET=utf8;4 系统详细设计经过上面的调研究、设计、分析,开始转化为实际的开发。界面的设计是最主要的,具体的开发如下:41 用户登陆模块用户登陆模块主要是对用户自己的操作,用户注册和用户登录等。1.用户注册:要想在系统中发布文章,必须先注册。注册时用脚本语言进行了信息的控制。还进行了用户名字的控制,不允许有相同的用户名,做了验证。主要是查询数据库里的内容看是否和输入的文本框的内容相同,如果相同则提示你的用户名已经被抢注,请重新输入。图4.1 用户注册界面 public class UserController extends Controlle
42、rpublic void toRegister()render(register.html);public void register()String render = register.html;String username = getPara(username);String password = getPara(password);String password2 = getPara(password2);List list = User.dao.find(select * from user where username=+username+);if(password.equals(
43、password2)!=true)setAttr(warning, 两次密码不一致);else if(list.size()!=0)setAttr(warning, 用户已存在);elseUser user = new User();user.set(username, username).set(password, password).set(isuse, 0).save();render=registerSuccess.html;render(render); public void findUser()int userid = getParaToInt(userid);User user
44、 = User.dao.findById(userid);String username = user.getStr(username);renderText(username); public void findAdminr()int userid = getParaToInt(adminid);User user = User.dao.findById(adminid);String username = user.getStr(addminname);renderText(adminname);主要是判断是否有重复的用户名2. 用户登录:输入用户刚刚已经注册好的用户名和密码。 图4.2 用户登录界面p