14.4  设计新闻发布系统

上面对环境配置完毕。在开始编码之前,先来设计新闻发布系统,包括设计页面、设计业务逻辑和设计数据库。

14.4.1  设计页面

为了示例方便,这里的页面都没有使用图片。

从前面的实例说明可以知道,这个实例需要如下一些页面:新闻发布的展示页面show.html、发布新闻页面release.html、用户注册页面regedit.html、管理员登录页面login.html和错误处理页面error.html。

(1)新闻发布的展示页面show.html,如图14.12所示。

图14.12  新闻发布的展示页面

该页面主要用来显示用户发布的新闻,并按照新闻类别来显示。每个新闻类别下显示5条新闻,其他新闻使用“更多内容”来进行查看。其中新闻类别分为新闻中心、公司文件、规章制度和会议纪要。

show.html的源代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>新闻发布的展示页面</title>

<style type="text/css">

<!--

.style1 {font-family: "隶书"}

-->

</style>

</head>

<body>

<table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0" >

<tr height="100%">

<td height="20"><strong>新闻中心</strong></td>

<td><strong>公司文件</strong></td>

</tr>

<tr height="100%">

<td height="150"><ol>

<li>中共××公司支部委员会胜利召开</li>

<li>××公司自主管理活动显成效</li>

<li>普及法律合同知识,增强规避风险能力</li>

<li>自主管理活动工作介绍</li>

<li>自主管理活动遍地开花</li>

</ol></td>

<td><ol>

<li>关于改变中午午休的通知</li>

<li>关于任命××为厂长的通知</li>

<li>关于开展自主管理活动的通知</li>

<li>关于对上半年工作进行总结的通知</li>

<li>召开人力资源专题会议的通知</li>

</ol></td>

</tr>

<tr height="100%" style=" border-top-width:0">

<td height="15" style=" border-top-width:0"><div align="right" class="style1" >》更多内容</div></td>

<td style=" border-top-width:0"><div align="right" class="style1" >》更多内容</div></td>

</tr>

<tr height="100%">

<td height="20"><strong>规章制度</strong></td>

<td><strong>会议纪要</strong></td>

</tr>

<tr height="100%">

<td height="150"><ol>

<li>设备维修管理制度</li>

<li>计算机管理制度</li>

<li>办公用品发放管理制度</li>

<li>工程项目审计实施办法</li>

<li>会计档案管理制度</li>

</ol></td>

<td><ol>

<li>××公司部长例会会议纪要</li>

<li>××公司双周例会会议纪要</li>

<li>2006年5月人力资源专业例会会议纪要</li>

<li>2006年一季度财务专业例会会议纪要</li>

<li>××公司2005年品种开发会议纪要</li>

</ol></td>

</tr>

<tr height="100%">

<td height="15" style=" border-top-width:0"><div align="right" class="style1" >》更多内容</div></td>

<td style=" border-top-width:0"><div align="right" class="style1" >》更多内容</div></td>

</tr>

</table>

</body>

</html>

(2)发布新闻页面release.html,如图14.13所示。

图14.13  发布新闻页面

该页面主要用来发布新闻,用户填写新闻标题、新闻内容和选择新闻类别,系统自动输出发布时间和发布人。

release.html的源代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>发布新闻页面</title>

<style type="text/css">

<!--

.style1 {

font-size: large;

font-weight: bold;

}

-->

</style>

</head>

<body>

<form name="form1" method="post" action="">

<table width="100%" height="160" border="1" cellpadding="0" cellspacing="0">

<tr>

<td height="17" colspan="2"><div align="center" class="style1">发布新闻</div></td>

</tr>

<tr>

<td width="126" height="19"><strong>新闻标题</strong></td>

<td width="560">计算机管理制度</td>

</tr>

<tr>

<td height="73"><strong>新闻内容</strong></td>

<td><p><strong>1</strong><strong>、总则</strong></p>

<p align="left">1.1为规范计算机及相关设备管理,促进计算机的有效合理使用,提高工作效率,特制定本管理办法。</p>

<p>1.2 本办法适用于×××机械制造有限公司(以下简称公司)及公司本部(以下简称本部)。</p>

<p>1.3 计算机及相关设备是公司配给员工的办公工具,属于公司固定资产,由公司人力资源处与本部综合室统一管理,公司经营处统一采购。</p>

<p><strong>2</strong><strong>、设备的定义与分类</strong></p>

<p>2.1 计算机包括:台式计算机、笔记本电脑、服务器、掌上电脑(PDA)等。</p>

<p>2.2 计算机相关设备包括:数码照相机、数码摄像机、扫描仪、投影仪、打印机、传真机、复印机、网络设备、计算机软件,以及可以与计算机相连的办公设备及其支持软件等。</p>

<p>2.3计算机按照性能分为:普通型机型和增强型机型两类,二者主要在配置上有差异。<strong>&nbsp;</strong></p>

<p><strong>3</strong><strong>、计算机及相关设备的配置标准</strong></p>

<p>3.1为加强公司内部计算机的可管理性,逐步实现公司内部统一品牌和统一售后服务,配合公司的集团化采购思想,由公司人力资源处信息化室确定品牌和机型。(计算机的配置标准见附件一)</p>

<p>&nbsp;</p>

</td>

</tr>

<tr>

<td height="19" colspan="2"><strong>发布时间:</strong>2006-06-05 <strong>发布人</strong>:gd <strong>新闻类别</strong>:

<select name="select">

<option>新闻中心</option>

<option selected>规章制度</option>

<option>会议纪要</option>

<option>公司文件</option>

</select></td>

</tr>

<tr>

<td height="18">&nbsp;</td>

<td><input type="submit" name="Submit" value="提交">

<input type="submit" name="Submit" value="修改">

<input type="submit" name="Submit" value="删除"></td>

</tr>

</table>

</form>

</body>

</html>

(3)用户注册页面regedit.html,如图14.14所示。

图14.14  用户注册页面

该页面主要用来注册用户,包括注册用户名和密码。

regedit.html的源代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>用户注册画面</title>

</head>

<body>

<form name="form1" method="post" action="">

<table width="100%" height="251" border="1" cellpadding="0" cellspacing="0">

<tr>

<td height="17" colspan="2"><div align="center"><strong>注册用户</strong></div></td>

</tr>

<tr>

<td width="18%"><strong>用户名:</strong></td>

<td width="82%"><input type="text" name="textfield"></td>

</tr>

<tr>

<td><strong>密码:</strong></td>

<td><input type="password" name="textfield"></td>

</tr>

<tr>

<td><strong>确认密码:</strong></td>

<td><input type="password" name="textfield"></td>

</tr>

<tr>

<td colspan="2"><div align="center">

<input type="submit" name="Submit" value="注册">

<input type="reset" name="Submit" value="重置">

</div></td>

</tr>

</table>

</form>

</body>

</html>

(4)管理员登录页面login.html,如图14.15所示。

图14.15  管理员登录页面

该页面主要用来进行新闻发布前的登录,如果管理员登录成功,则直接跳转至发布新闻的页面。

login.html的源代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>管理员登录页面</title>

</head>

<body>

<form name="form1" method="post" action="">

<table width="100%" border="1" cellpadding="0" cellspacing="0">

<tr>

<td colspan="2"><div align="center"><strong>管理员登录</strong></div></td>

</tr>

<tr>

<td height="41"><strong>用户名:</strong></td>

<td><input type="text" name="textfield"></td>

</tr>

<tr>

<td height="40"><strong>密码:</strong></td>

<td><input type="password" name="textfield"></td>

</tr>

<tr>

<td height="49"><strong>确认密码:</strong></td>

<td><input type="password" name="textfield"></td>

</tr>

<tr>

<td height="83" colspan="2"><div align="center">

<input type="submit" name="Submit" value="登录">

<input type="reset" name="Submit" value="重置">

</div></td>

</tr>

</table>

</form>

</body>

</html>

(5)错误处理页面error.html,如图14.16所示。

图14.16  错误处理页面

该页面主要用来显示在示例运行过程中的错误信息。

error.html的源代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>错误处理页面</title>

<style type="text/css">

<!--

.style1 {

color: #000000;

font-weight: bold;

}

.style2 {color: #FF0000}

-->

</style>

</head>

<body>

<table width="100%" border="1">

<tr>

<td colspan="2"><div align="center"><strong>错误信息显示</strong></div></td>

</tr>

<tr>

<td width="22%" height="141"><span class="style1">错误信息是:</span></td>

<td width="78%"><span class="style2">SQL出错,请查看SQL语句是否符合语法规范。</span></td>

</tr>

</table>

</body>

</html>

14.4.2  设计持久化类

通过上面的介绍和分析,可以知道,在该应用程序中,至少需要以下一些持久化类:负责用户基本信息的类User.java、负责用户权限的类UsersAuthor.java、负责新闻类别的类NewsType.java和负责新闻的类News.java。

这里使用Together来画UML图。对于Together的使用方法这里不再进行讲解,读者可以使用其他的工具,方法基本类似。这里首先画一个整体包结构图,如图14.17所示。

(1)负责用户基本信息的类User.java,主要用来存储用户的基本信息以及对用户的信息进行验证。用户类的UML图如图14.18所示。

             

图14.17  整体包结构图                     图14.18  用户类的UML图

由Together自动生成的用户类的源代码如下:

//******* User.java**************

package com.gd.vo;

public class User {

public String getMsg(){

return msg;

}

public void setMsg(String msg){

this.msg = msg;

}

public String getPassword2(){

return password2;

}

public void setPassword2(String password2){

this.password2 = password2;

}

public String getPassword1(){

return password1;

}

public void setPassword1(String password1){

this.password1 = password1;

}

public String getUsername(){

return username;

}

public void setUsername(String username){

this.username = username;

}

public boolean validate() {

}

private String msg;

private String password2;

private String password1;

private String username;

}

代码说明:

●       msg,用来存储该用户类的消息。

●       password1,用来存储用户第一次输入的密码。

●       password2,用来存储用户第二次输入的密码。

●       username,用来存储用户名。

(2)负责用户权限的类UsersAuthor.java,主要用来存储用户的权限信息。用户权限类的UML图如图14.19所示。

因为UsersAuthor类依赖于User类,所以这里给出用户类和用户权限类之间的关联图,如图14.20所示。

        

图14.19  用户权限类的UML图            图14.20  用户类和用户权限类之间的关联图

由Together自动生成的用户权限类的源代码如下:

//******* UsersAuthor.java**************

package com.gd.vo;

public class UsersAuthor {

public void setUsersAuthor(User lnkUser, int power) {

lnkUser = lnkUser;

power = power;

}

public int getAuthorByUser(User lnkUser) {

return power;

}

public UsersAuthor(User lnkUser, int power) {

lnkUser = lnkUser;

power = power;

}

private int power;

/**

* @clientCardinality 1

* @supplierCardinality 0.n

*/

private User lnkUser;

}

代码说明:power,表示用户拥有的权限,如果power为0表示普通用户,如果power为1表示超级用户。

(3)负责新闻类别的类NewsType.java,主要用来存储新闻类别的信息。新闻类别类的UML图如图14.21所示。

图14.21  新闻类别类的UML图

由Together自动生成的新闻类别类的源代码如下:

//******* NewsType.java**************

package com.gd.vo;

public class NewsType {

public int getId(){

return id;

}

public void setId(int id){

this.id = id;

}

public String getTypename(){

return typename;

}

public void setTypename(String typename){

this.typename = typename;

}

public String getTypeById (int id) {

return typename;

}

private int id;

private String typename;

}

(4)负责新闻的类News.java,主要用来存储新闻的信息。新闻类的UML图如图14.22所示。

因为News类依赖于User类和新闻类别类,所以这里给出用户类、新闻类和新闻类别类之间的关联图,如图14.23所示。

      

图14.22  新闻类的UML图         图14.23  用户类、新闻类和新闻类别类之间的关联图

由Together自动生成的新闻类的源代码如下:

//******* News.java**************

package com.gd.vo;

public class News {

public int getId(){

return id;

}

public void setId(int id){

this.id = id;

}

public String getMsg(){

return msg;

}

public void setMsg(String msg){

this.msg = msg;

}

public String getHead(){

return head;

}

public void setHead(String head){

this.head = head;

}

public String getContent(){

return content;

}

public void setContent(String content){

this.content = content;

}

public Date getDate(){

return date;

}

public void setDate(Date date){

this.date = date;

}

//根据新闻类别的id获取新闻

public List getNewsByType(int id) {

}

//保存新闻

public void saveNews(New new) {

}

private int id;

private String msg;

private String head;

private String content;

private Date date;

/**

* @clientCardinality n

* @supplierCardinality 1

*/

private NewsType lnkNewsType;

/**

* @clientCardinality n

* @supplierCardinality 1

*/

private User lnkUser;

}

14.4.3  设计数据库

经过分析可以知道,在该应用中,主要有用户信息、用户的授权信息、新闻类别和新闻等内容需要存储,所以对数据库表的设计也主要从这几个方面来考虑。

(1)存储用户信息的表,表名为user,主要字段有username和password,主键为username。

(2)存储用户授权信息的表,表名为userAuthor,主要字段有username和power,主键为username和power。

(3)存储新闻类别的表,表名为newsType,主要字段有id和type,主键为id。

(4)存储新闻的表,表名为news,主要字段有id、head、content、issuedate、issueuser和newstype,主键为id。

%注意:上面设计的数据库表是为了演示使用。如果是在实际的应用中,笔者建议每个表都加上id,然后表之间的关联用id来实现。这样就把表之间的管理和业务逻辑的变化分离开了,降低了业务逻辑和表之间的耦合性。

14.4.4  新闻发布系统在持久层的整体UML图

经过上面对页面、持久类和数据库的设计,最终可以得到一个新闻发布系统在持久层的整体UML图,如图14.24所示。

图14.24  新闻发布系统在持久层的整体UML图

14.4 设计新闻发布系统相关推荐

  1. ASP.NET程序设计课程设计——新闻发布系统

    点击查看详细信息 发现这个资源传的不是最新版,需要最新版资源的可以私聊我 ASP.NET程序设计课程设计--新闻发布系统 二.系统需求分析 2.1 功能性需求 用户可以在系统内界面实现登录和注册功能. ...

  2. asp毕业设计——基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码)——新闻发布系统

    基于asp+access的新闻发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的新闻发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  3. 新闻发布系统的设计与实现

    摘要 伴随着网络的出现,网页逐渐融入人们的生活.快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关.它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式.网站新闻发布系统, ...

  4. 新闻发布系统界面 html源码,新闻发布系统的前端页面设计

    [实例简介] 这个一个简单的新闻发布系统的前端页面,基本上功能都有. [实例截图] [核心代码] kindeditor └── kindeditor ├── jsp │   ├── demo.jsp ...

  5. 新闻发布系统,网页设计,我们也行

    开始了B/S的学习,开始了浏览器前台网页的制作,开始了一段新的征程.我们都浏览过各种网页,领略过各式各样的风格.有像百度那样简单大气的,也有像hao123那样复杂齐全的.以前从没有想过这样的网页是如何 ...

  6. 新闻发布系统java ee_Java EE 7发布–反馈和新闻报道

    新闻发布系统java ee Java EE 7已经存在了几天. 我们所有人都有机会观看直播活动或可用的重播 . 最后的MR版本完成了将其工作推向JCP的工作,基本上是一个总结. 是时候反思发生的事情和 ...

  7. 一个完整的新闻发布系统

    一个完整的新闻发布系统 关键字:JSP.Java.新闻发布 环境:Tomcat 5.5.7 + J2SE 5.0 + PostgreSQL 8.0 我将分几个步骤完成对一个新闻发布系统的构建,来理解J ...

  8. 【计算机毕业设计】新闻发布系统

    一.系统截图(需要演示视频可以私聊) 摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  9. 计算机毕业设计php新闻发布系统的毕业设计

    项目介绍 本系统综合各方面的需求决定采用B/S架构,并利用PHP+MySQL+Apache组合来搭建PHP开发平台和 Dreamweaver CS3作为开发环境.同时结合CSS+DIV设计前台和后台各 ...

最新文章

  1. 编译安装samba-4.85
  2. Qt Creator连接MCU
  3. 使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)
  4. 怎么用java跟数据库建立关系,java – 关系和构建数据库
  5. python中的continue和break
  6. 计算机二级考试办公室高级应用考点,全国计算机二级考试MSOFFICE高级应用考点解析Word1...
  7. 图片压缩小工具,jpg,png压缩
  8. 【ENVI解决经验】裁剪后背景改为白色(透明)
  9. Rust中的所有权和借用的关系图
  10. Web用户控件开发--分页控件
  11. msp430f149最小核心板和bsl下载器连线
  12. Symbian OS C++程序员编码诀窍
  13. H264解码之DDraw显示YUV
  14. Hey 朋友们好久不见。
  15. 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码
  16. top,ps,pstree工具介绍及举例
  17. 如何修改 Powered by ShopXO的版权字眼
  18. S2011设置IP地址,打印自检页方法
  19. 2017年IDC行业市场现状及趋势
  20. stc89c51单片机音乐盒系统设计_基于51单片机音乐盒课程设计1.doc

热门文章

  1. Appium笔记1--基于python windows下的环境搭建
  2. 首富软件测试工资,测试你成为富豪 测试你天生是什么命
  3. 找到Tiny OS的创始人,畅谈新时代的爆款“物联网”
  4. 985大学计算机考研难度排名2015,你可能不知道计算机考研985院校也分三六九等...
  5. 想骂人!开发语言不能统一成一个么?
  6. 永辉超市业绩下滑背后:新零售遇融合难题?
  7. 【Java培训】 IT行业是什么
  8. iOS7 中的新特性
  9. matlab中常用函数的应用
  10. 航空票务中的月份和星期缩写