企业门户网站的设计与实现(含源文件)

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye

内容摘要:本文介绍了基于JSP的企业门户网站的设计,通过MySql数据库存储、读取数据,运用TomCat作为服务器来实现的。完成企业门户网站的基本功能:提供新闻、搜公告管理、管理企业的各种信息和产品介绍等功能。包括了系统维护、产品管理、用户管理、用户注册、新闻中心管理、留言薄管理等功能;实现各个页面板块的数据读取、存储,简洁大方的网页设计,满足企业和客户的交互;实现方便管理要求,方便管理员管理新闻资讯、公告、产品信息、用户信息等等。门户网站跟企业网站在系统的构架上是完全不同的,门户网站对系统设计的要求非常高,不管是数据库运算的工作量、还是面向的用户群的数量它需要有并发处理能力、系统稳定性和运行效率功能,所以需要很考虑很多综合内容在里面。
综合以上的需求和问题,本人采用了MySQL数据库进行数据存储,通过JAVA EE来实现企业门户网站的基本语言,在网页的设计和实现使用的是TomCat来实现方便初学者编写简单的企业门户网站。
                            
关键词:企业门户网站  JSP  MySql  TomCat  实现功能


 

Enterprise portal website design and implementation
Abstract: This paper introduces the design of JSP enterprise portal website based on MySql database, through memory, read the data, use TomCat as the server to achieve. The basic function of Enterprise Portal: provides news, search notice management, management of enterprise information and product introduction and other functions. Including system maintenance, product management, user management, user registration, news management, message board management functions; implementation of each page plate data reading, storage, simple and generous Webpage design, meet the interaction between the enterprise and customers; easy to implement management requirements, to facilitate the administrator management news, announcements, product information, user information and so on. Portal and enterprise website is completely different in the frame of the system, portal to the design of the system is very high, whether the database operation workload, or the number of user groups for it requires a concurrent processing capability, the system stability and efficiency function, it needs to be considered in many integrated content.
Integrated requirements and the problems mentioned above, I use MySQL database for data storage, through the JAVA EE to achieve the basic language of enterprise portal, in the realization of design and the use of TomCat to achieve Webpage is easy for beginners to write simple enterprise portal.

Keywords: Enterprise portal  JSP  MySql  TomCat  Achieve functional
 

目      录
前言    1
1  企业门户网站    1
1.1  企业门户网站    1
1.1.1  企业门户的定义    1
1.1.2  企业门户的基本组成部分及结构    1
1.2  企业门户网站的功能与意义    2
1.3  企业门户网站的现状和前景    2
2  可行性分析    3
3  需求分析    4
3.1  功能需求    4
3.2  性能需求    4
3.3  配置软环境    5
3.3.1  安装配置JDK开发包    5
3.3.2  安装Web服务器Tomcat 6.0    5
3.3.3  安装和配置数据库服务器MySQL 6.0    7
3.3.4  安装MyEclipse 8.5开发环境    7
4  总体分析    8
4.1  模块设计    8
4.2  数据库设计    9
4.2.1  补丁下载表    9
4.2.2  友情链接数据库    9
4.2.3  留言信息表    9
4.2.4  软件(产品)信息表    10
4.2.5  软件类别信息表    11
4.2.6  用户信息表    11
4.2.7  公告数据库    12
4.2.8  解决方案数据库    12
4.2.9  常见问题数据库    12
4.2.10  新闻热点数据库    13
4.3  网站前台首页    13
4.4  网站导航文件架构    14
4.5  数据库的E-R图    15
5  详细设计    15
5.1  网站前台首页设计    15
5.2  产品地带模块设计    17
5.3  解决方案模块设计    20
5.4  留言板    20
5.4.1  查看留言信息    20
5.4.2  添加留言信息    21
5.5  技术支持模块设计    23
5.6  用户中心模块设计    24
5.7  网站后台首页设计    26
6  结束语    27
参考文献    28
 
企业门户网站的设计与实现
前言
企业门户网站这个伴随着企业和网络迅速崛起的企业推广和营销技术,企业从工厂手工业时期经历了工厂制时期发展成为如今的现代企业时期,历经了600多年的历史。从地方到国家,最后形成全球的发展,网络成为了企业快速发展的翅膀。如今各大企业为了推广企业,树立自己的企业形象、企业文化、企业品牌、同时收取消费者的建议和意见,在各自的企业门户网站建立自己的企业门面,让每一个进入该企业网站的用户快速的了解该企业。而本人现在将尝试着设计和实现一个企业门户网站,完成基本的功能。

1  企业门户网站
1.1  企业门户网站
企业门户网站是什么呢,它的组成部分、结构又是哪些呢。
1.1.1  企业门户的定义
企业门户就是连接企业内部资源和外部资源的网站,它可以为企业内部的员工以及客户提供访问渠道,使他们能够更好的参与企业管理并了解企业相关信息和资源,从而建立的互联网网络入口,从而实现对企业的员工、客户、合作伙伴和供应商等等通过这个门户网站获得个性化的服务和信息。换而言之,就是以宣传企业形象,发布企业信息、传播企业文化、提供专业化服务的综合型商业性网站。企业门户无缝的集成企业的内容、商务和社区。首先,企业能够通过企业门户网站动态地发布存储在企业内部以及外部的各种信息;其次,企业门户网站可以完成客户在网上的交易;最重要的一方面,企业门户还可以支持网上的虚拟社区,网站的用户可以相互讨论和交换信息,使企业能够和客户之间相互沟通。
1.1.2  企业门户的基本组成部分及结构
    网站前台
    首页:简洁大方的网页排版和设计,体现企业门户网站的功能化、专业化、信息化,是宣传企业形象的重要名片。
    产品地带:企业的产品是企业的灵魂,让客户明白你卖的是什么,企业是做什么的。
    技术支持:企业门户网站的技术支持模块。
    解决方案:企业将顾客反馈的问题和技术上的问题,进行处理,为顾客提供问题处理的方案和帮助。从而帮助客户更好的使用产品。
    顾客留言:留言板主要用于顾客和客户的交流,让访问者留下交流信息,是访问者和管理远沟通的桥梁。
    网站后台
    公告管理:实现企业管理的内外交流的信息和招聘的信息等。
    系统维护:实现用户的切换,权限的维护等等功能。
    产品管理:实现产品维护。
    用户管理:实现对系统的用户权限、用户图片管理等等。
    新闻中心管理:管理企业的内外新闻。
    留言薄管理:实现客户在网站上的反馈意见并且回复信息管理等功能。
1.2  企业门户网站的功能与意义
经过总结,本人认为的企业门户网站应具有以下几个重要的功能和作用:
    是实现业务资源、互联网资源、数据资源的有效集成平台。
    是塑造和展现企业形象和文化的重要网络阵地同时也是企业广告的天然投放载体。
    是扩大企业的信息领域和客户管理的关键的数据工具。
    是提高企业内部的工作效率、管理水平和创新生产经营模式的重要手段。
    是企业实现战略性资产和投资的数字载体,是创造未来财富的网络信息平台。
1.3  企业门户网站的现状和前景
企业门户网站从信息发布型,到产品展示型,然后到电子商务型,再到商务管理型,最后向着综合平台型,经过了半个多世纪的时间。如今的企业门户网站无论是服务内容的丰富性,还是服务功能的便捷性都有了很大程度上的提高,并且其辅助信息正在日趋完整、网站规范化愈来愈高、在信息的构建与用户体验方面都有了较高的改善,从而使得电子服务成为了企业的重要发展方向,不过我们不得不承认在客户交互方面这仍是一个短板。
针对企业门户网站未来的发展,本人觉得可以从以下两个方向下手:
    网站表层
网站表层即是网站的名片,是企业展示给客户的第一印象,侧重规划和设计。首先在定位上要有明确清晰的目标,在内容上要做到信息、内容及时且权威,在设计上网页要美观、大方、简洁,在功能上要简捷、易用同时使用户体验效果突出,最后在辅助功能上要做到全面、完善。
    网站深层
网站深层即为网站的大脑和核心,其功能在运行和管理方面。所以网站的设计观念要尽量做到趋势认识的超前化、敏锐化,工作认识明确化、标准化,价值认识的深入化、客观化;当然网站的正常化运行自然是离不开内容的维护、互动的维护、访问的统计、网站的推广、安全的维护以及子网监控等方面。关于网站的管理方面,需要实现体系架构的合理化、运作维护队伍的专业化、组织保障的立体化、体系制度的标准化、资源整合的集约化、信息的管理安全化、资金的保障以及子站的维护管理。如图1.3-1企业门户网站的发展类型阶段如下:

图1.3-1  企业门户网站的发展类型阶段

2  可行性分析
现今在企业的应用解决方案中,J2EE与ASP 在实现企业级的网站上各显千秋,但是就个人而言JAVA EE凭借着开源社区而更有一番优势,JAVA Web在企业级的应用和开发上有着很大的优势与基础。我们知道 JAVA Web 应用的核心开发技术就是JSP、JavaBean、Servlet由于没有一套完整的、有效的开发规范来约束JSP的程序员,使得程序员使用各自不同风格的JSP程序,这样情况下导致了项目越大,耦合性越小,越不利于开发下去,自然也就降低了程序的维护性,增加了项目的管理难度。
JSP( 即Java Server Pages)是Sun公司在Java语言的基础上而开发出来的动态网页制作技术,在JAVA EE企业版的体系结构中扮演着的展示层组件角色。通常将Java代码按照指定的语法格式插入都静态网页html页面中,然后将拓展名改为.jsp即可得到所需的JSP页面。JSP方便实用,成为我选取该语言的重要原因。
MySQL是由瑞典MySQL AB公司开发、发布并且支持开源的SQL数据库管理系统,而目前是隶属于Oracle公司的。MySQL是一种使用关联数据库的管理系统,它的数据被保存在不同的表中,这样分表访问数据就增加了读取的速度从而提高读取数据的灵活性。MySQL数据库管理系统,使用的是SQL语言是现如今数据库管理系统中最常用的标准化的语言,并且MySQL软件通过的双授权政策,将版本分为社区版和商业版,针对不同的客户需求,提供更加细致的服务。其运行速度快、内存小、经济成本低,特别是开放源代码这方面吸引了无数用户的追捧和喜爱。使得一般中小型网站在开发上拥有了一定的选择权。因为MySQL的社区版的性能卓越,当搭配PHP和Apache可组成良好的开发环境,所以使得它的存储过程、触发器以及视图方面有了很大的优势,成就了它是开源数据库的首选。

3  需求分析
3.1  功能需求
通过调查了解企业的要求和需求,以及对客户的满足,我们调查了多个企业并且对比了很多企业的门户网站,列出了企业门户网站的如下需求:
    通过前台首页全面介绍企业文化、思想和理念。
    提供相关的新闻资讯的功能。
    提供用户进行注册、登录、用户名和密码修改的功能。
    提供相关技术问题的技术支持和提供解决方案。
    提供客户对该企业的意见和建议的留言簿,方便企业与客户间的沟通。
    为用户设置论坛模块。
    通过管理界面对用户信息管理,包括设置用户权限、个性化设置管理和查询用户信息等功能。
    管理界面还可以管理公告信息、论坛头像、新闻信息、友情链接等等。
    通过管理界面针对问题解决方案和常见问题的解答和管理。
    通过管理界面对用户留言信息进行回复和管理工作。
3.2  性能需求
硬件平台:
    CPU:P41.8GHz;
    内存:256MB以上。
软件平台:
    运行平台:Windows 2000/Windows XP/Windows 2003;
    开发环境:MyEclipse 8.5;
    数据库:MySQL  6.0;
    Java开发工具包:JDK 1.6.0;
    Web服务器:Tomcat 6.0;
    浏览器: IE6.0/360浏览器;
    分辨率:最佳效果1024*768像素。
3.3  配置软环境
3.3.1  安装配置JDK开发包
JDK即是Java 2 software Development Kit的简写,是基于Java开发平台的软件开发前提。现在将描述下在windows的操作系统上,如何安装和配置JDK 1.6的过程介绍如下。首先需要从Sun公司的官方网站(http://java.sun.com/javase/down
loads/widget/jdk6.jsp)上下载到我们所需的JDK软件包。然后双击名为jdk-6u18-windows-i586.exe的文件,打开后跟随安装导航即可安装。随后选择安装路径和安装内容。
随后需要配置系统环境变量,即在计算机的高级配置中配置系统的环境变量,分别设置变量名为JAVA_HOME,变量值即为安装JDK的大目录路径名,例如:d:\jdk1.6;然后再设置变量名为:CLASSPATH,变量值为安装JDK下的bin目录的路径名并且要加上分号,例如:d:\jre6\lib;最后是配置path变量,其变量值为JDK下的根目录的路径名,例如:d:\jdk1.6\bin;%SystemRoot%\system32。
3.3.2  安装Web服务器Tomcat 6.0
Tomcat服务器是Apache基金会下,一个名叫Jakarta的项目中一个核心项目,其主要是由Apache基金会、Sun公司和其他公司以及个人共同开发而成的网站服务器;是一个免费的、开源的Servlet容器。由于有Sun公司的加入和技术支持,所以在最新的Servlet和JSP的最新规范、规则总能在Tomcat服务器中体现出来。在安装Tomcat 6.0之前,一定要先确定JDK是否成功安装了,因为Tomcat是基于JRE(即Java Runtime Environment)下工作的。从官网来下载并安装Tomcat 6.0。
首先打开下载的名为apache-tomcat-6.0.24.exe的文件夹,选择安装便可以进行安装了,随着安装导航选择安装内容以及安装路径。然后设定Connector Port(通常Tomcat 的都为8080)和Administrator Login(设置管理用户名和登录密码)。当然还需要设定Tomcat使用的JVM即JDK的大目录路径,例如:d:\jdk1.6。如此这样进行安装就完成了Tomcat的所有安装的过程,当然最后打开浏览器,网页的在地址栏输入http://localhost:8080,如果能够出现Tomcat的主界面就表示安装成功。
 

图3.3.2-1  Tomcat的主界面

当安装完成Tomcat 6.0后需要了解下它的基本配置,在Tomcat的安装目录下将会出现7个子文件夹,这七个文件夹对于我们以后学习是将会一直打交道的,让我们来认识下这七个文件夹吧:

表3.3.2-1 Tomcat文件夹名及其作用
文件夹名称    描述
bin    用于存放启动与监控Tomcat的命令文件,其中tomcat6.exe文件是用于启动Tomcat服务器的,而tomcat6w.exe文件则是用于监控与设置Tomcat服务器的启动配置参数。
conf    用于存放Tomcat的各种配置文件。
lib    用于存放Tomcat服务器及所有web应用都能够访问的JAR包。
logs    用于存放Tomcat的日志文件。
temp    用于存放Tomcat运行的临时文件夹。
webapps    是Tomcat的默认的web应用发布的目录,将web应用和war文件存放在该目录下便可以通过Tomcat服务器访问了。
work    用于存放各种由JSP生成的Servlet文件。

当需要将开发好的Web应用部署到Tomcat服务器上时,我们可以直接将web应用文件夹或者WAR文件复制到Tomcat的webapps的文件夹下,然后启动Tomcat服务器后,可以通过 “http:// 服务器IP:端口/应用名称”来访问应用。
例如http://localhost:8080/abc/index.jsp
然而对于那些需要配置访问URL或指定Web应用文件夹途径的情况而言,在server.xml中的host元素下添加一个Context元素实现,如:
<Host name="localhost" appBase="webapps" unpackWARs="true"
 autoDeploy=true>
<Context path="/testdan" docbase="D:\java\abcd\index"
 reloadable="true"/>
</Host>
保存修改后的server.xml文件后,再重启Tomcat服务器后,即可通过http:// localhost: 8080/test来访问/abcd/index应用了。
3.3.3  安装和配置数据库服务器MySQL 6.0
MySQL是由MySQL 瑞典AB公司开发、发布的,并支持着的全世界最流行的开源SQL数据库管理系统。现今MySQL已经在以前的版本基础上做出了很大的改进,并对存储过程、视图方面以及触发器方面有了很大的完善和改进。我们首先需要从MySQL的官网(http://dev.mysql.com/downloads)上下载软件包。然后双击下载下来的文件名为mysql-5.5.1-m2-win32.msi的文件夹,并开始安装。跟随安装导航,选择安装内容和安装路径,安装方式为“Custom”制定安装,随后选择“Configure the MySQL Server now”的复选框,这样便可以配置MySQL数据库服务器了。选择配置方式为“Standard Configuration”标准配置方式,之后将MySQL服务器作为Windows服务器并设置为自动运行,同时需要设置root管理员账号名和账号密码,当然还可以设置允许远程机器访问,这样就完成了安装过程。
3.3.4  安装MyEclipse 8.5开发环境
首先让我们来大致了解下Eclipse软件,它是在java语言的源代码的基础上而开发的一种可发的、可拓展软件开发平台。其本身就是一个框架和一组服务的搭建,用于通过插件从而构建开发环境。而我们现在需要安装的MyEclipse就是Eclipse的一种插件,它集成和实现了对Struts、Spring、Hibernate等主流Java EE组件开发插件的支持,从而简化了Java EE应用的开发,我们通过MyEclipse 8.5的官方网站(http://www.myeclipseide.com)上便可以下载软件包。
在MyEclipse 8.5的独立安装版已经集成了Eclipse 3.5.2版本,这样就不需要自己动手安装Eclipse 3.5.2了。当我们下载好了MyEclipse 8.5的安装包,打开安装包的独立包,便跟着安装导航的指导一步一步,安装内容和安装途径,这样MyEclipse 8.5就安装完成。
最后在MyEclipse 8.5中配置Tomcat 6.0服务器以及JDK1.6。这样就可以创建JAVA EE应用了。

4  总体分析
4.1  模块设计
企业门户网站首页的树状图如4.1-1所示:

图 4.1-1  企业门户网站首页的树状图

企业门户网站后台管理的树状图如4.1-2所示:

 
图 4.1-2  企业门户网站后台管理的树状图
4.2  数据库设计
企业门户网站中需要的数据库表需要很多,现在我将的主要数据表介绍如下。
4.2.1  补丁下载表
补丁下载表Mend1是用于存放补丁下载模块的数据。如下表所示:

表 4.2.1-1 补丁下载表
字段名    数据类型    默认值    是否为空    是否主键    描述
mid    int[20]    NULL        PRI    补丁ID
sid    int[20]    NULL    YES        软件类别ID
name    varchar[100]    NULL    YES        补丁名
path    varchar[100]    NULL    YES        路径
state    Int[20]    NULL    YES        状态
uptime    datetime    NULL    YES        补丁时间
commend    Int[20]    NULL    YES        推荐指数
loadunm    Int[20]    NULL    YES        下载量
filesize    Int[20]    NULL    YES        文件大小
resume    varchar [300]    NULL    YES        重置

4.2.2  友情链接数据库
友情链接数据库是存放管理员存放的网站的地址以及客户点击以后得到响应后只向的地址。友情链接数据库表link数据如下所示:

表 4.2.2-1友情链接数据库表link
字段名    数据类型    默认值    是否为空    是否为主键    描述
lid    int[20]    NULL        PRI    链接ID
name    varchar[70]    NULL    YES        链接名称
ltime    datetime    NULL    YES        链接时间
url    varchar[70]    NULL    YES        链接地址

4.2.3  留言信息表
留言信息表guestboard主要是用来保存用户的留言信息,表guestboard的结构如下。

表 4.2.3-1 留言信息表guestboard
字段名    数据类型    默认值    是否为空    是否为主键    描述
gid    int[20]    NULL        PRI    留言ID
guest    varchar[70]    NULL    YES        留言人
content    varchar[200]    NULL    YES        留言内容
rtime    datetime    NULL    YES        回复时间
title    varchar[100]    NULL    YES        留言标题
gtime    datetime    NULL    YES        留言时间
gflag    tinyint[2]    0    YES        是否回复
recontent    text    NULL    YES        回复内容

4.2.4  软件(产品)信息表
软件信息表soft1则主要用于保存公司的软件的相关信息。软件信息(产品)表soft的结构如表所示。

表 4.2.4-1 软件信息表soft的结构
字段名    数据类型    默认值    是否为空    是否为主键    描述
sfid    int[20]    NULL        PRI    软件ID
name    varchar[150]    NULL    YES        软件名称
uptime    datetime    NULL    YES        上传时间
uid    varchar[70]    NULL    YES        上传人
path    varchar[70]    NULL    YES        下载路径
sid    int[20]    NULL    YES        软件类别ID
filesize    int[20]    NULL    YES        程序大小
environment    varchar[70]    NULL    YES        运行环境
price    float    NULL    YES        价格
regular    tinyint[2]    NULL    YES        是否为正式版本
introduce    text    NULL    YES        简介
commend    int[20]    NULL    YES        推荐指数
edition    varchar[70]    NULL    YES        版本
iid    varchar[70]    NULL    YES        贴图ID
loadnum    int[20]    NULL    YES        下载次数
resume    varchar[250]    NULL    YES        其他说明

4.2.5  软件类别信息表
软件类别信息ssort表则是主要用于保存软件(产品)的类别信息。软件类别信息表ssort的结构如表所示。

表 4.2.5-1软件类别信息表ssort的结构
字段名    数据类型    默认值    是否为空    是否为主键    描述
sid    int[20]    NULL        PRI    类别ID
name    varchar[70]    NULL    YES        类别名称
resume    varchar[150]    NULL    YES        类别简介

4.2.6  用户信息表
用户信息表user则是主要用于保存用户的相关信息,包括普通用户和管理员,由字段status的值进行区分,值1表示普通用户,值为0表示管理员。用户信息表user的结构如下表所示。
表 4.2.6-1用户信息表user表结构
字段名    数据类型    默认值    是否为空    是否为主键    描述
uid    varchar[70]            PRI    用户名
name    varchar[70]    NULL    YES        真实姓名
password    varchar[70]    NULL    YES        密码
regqu    varchar[70]    NULL    YES        密码问题
reqanswer    varchar[70]    NULL    YES        密码答案
uid    varchar[70]    NULL    Yes        头像ID
age    int[20]    NULL    YES        年龄
sex    tinyint[2]    NULL    YES        性别
resume    varchar[300]    NULL    YES        个人简介
tel    varchar[70]    NULL    YES        联系电话
email    varchar[70]    NULL    YES        Email地址
qq    varchar[70]    NULL    YES        用户识别码
regtime    Datetime    NULL    YES        注册时间
http    varchar[70]    NULL    YES        个人主页
address    varchar[250]    NULL    YES        个人地址
status    int[20]    NULL    YES        权限级别
state    int[20]    NULL    YES        状态显示

4.2.7  公告数据库
公告数据库存储展示在首页的各种公告,同时被管理员管理。如下表所示:

表4.2.7-1公告数据库表affiche
字段名    数据类型    默认值    是否为空    是否为主键    描述
aid    int[20]    NULL        PRI    公告ID
uid    varchar[70]    NULL    YES        用户ID
title    varchar[70]    NULL    YES        公告主题
atime    datetime    NULL    YES        公告时间
content    text    NULL    YES        公告内容
4.2.8  解决方案数据库
解决方案数据库主要是存放解决问题的方案以及当用户点击响应解决方案以后所需要的响应。表 resolvent便是存放解决方案的数据库。

表 4.2.8-1 解决方案数据库表resolvent
字段名    数据类型    默认值    是否为空    是否为主键    描述
rid    int[20]    NULL        PRI    解决方案ID
sid    int[20]    NULL    YES        软件类别ID
uid    varchar[100]    NULL    YES        用户ID
sfid    Int[20]    NULL    YES        软件信息ID
name    varchar[100]    NULL    YES        方案名
uptime    datetime    NULL    YES        解决时间
iid    varchar[50]    NULL    YES        是否回复
content    text    NULL    YES        方案内容

4.2.9  常见问题数据库
与解决方案想对应存在的数据库是存放产品可能存在的问题,同时与解决方案进行关联。表question如下:

表 4.2.9-1 常见问题数据库表question
字段名    数据类型    默认值    是否为空    是否主键    描述
qid    int[20]    NULL        PRI    问题ID
question    varchar[70]    NULL    YES        问题名称
answer    text    NULL    YES        解决内容

4.2.10  新闻热点数据库
新闻热点数据库是存放新闻以及各种消息(包括公司消息)的数据库。表 new如下:
 
表 4.2.10-1 新闻热点数据库表new
字段名    数据类型    默认值    是否为空    是否主键    描述
nid    int[20]    NULL        PRI    新闻ID
uid    varchar[100]    NULL    YES        用户ID
title    varchar[100]    NULL    YES        新闻名
ntime    datetime    NULL    YES        发布时间
fromto    varchar[50]    NULL    YES        来源地
content    text    NULL    YES        新闻内容

4.3  网站前台首页
企业门户网站前台首页的文件架构如下图4.3-1所示。在前台首页包括了导航条、新闻热点、产品介绍、左侧的文件展示以及版权展示。

图 4.3-1 网站前台首页架构图

4.4  网站导航文件架构
企业门户网站导航条文件架构如下图所示。导航条中存放了企业门户网站中基本的需要,包含了技术支持、解决方案。

 图 4.4-1 导航条架构图
4.5  数据库的关系图
各个数据库之间的关联与联系如图所示:

图  4.5-1 数据库的关系图

5  详细设计
5.1  网站前台首页设计
网站前台的页面设计主要是包含了网站公告、新闻、企业产品展示、企业产品帮助以及友情链接等等方面。用户首先进入界面以后便可以了解该企业的很多方面的内容,比如文化、产品、关于该公司的新闻、消息等等。如下图 5.1-1是本人设计的企业门户网站图,通过下载软件从而获取收益。企业管理员的管理可以让用户在该企业网站上获取企业给予的信息。
 
 

图 5.1-1企业门户网站前台首页的运行的结果

下面以表形式给出前台页面各个部分的说明的信息,如表5.1-1所示。

表 5.1-1前台首页的文件和页面说明
区域    名称    说明    对应文件名
1    网站导航    主要展示网站的企业标志和文化以及站内导航条    tfop.jsp
2    左侧文件    主要用于显示网站公告、工具软件下载排行、工具补丁下载排行、友情链接等信息    left.jsp
3    热点新闻    主要用于显示网站的热点新闻和相关新闻    new.jsp
4    产品介绍    主要用于网站的产品信息介绍和说明    produce.jsp
5    版权信息    显示网站版权信息和注意事项    bottom.jsp

该模块的主要组成代码主要是:首页通过jsp标签将内容包含进首页的jsp代码中。
<body onLoad="clockon(bgclock)">
<table width="767" border="0" align="center" cellpadding="0" 
cellspacing="0" class="tableBorder">
<tr align="center">
<td height="178" colspan="5">
<jsp:include page="tfop.jsp"/></td>              //包含导航的jsp代码
</tr><tr>
<td width="12" align="left" valign="tfop">&nbsp;</td>
<td width="127" align="left" valign="top">
<jsp:include page="left.jsp"/></td>         //包含菜单的jsp的代码
<td width="20">&nbsp;</td>
<td align="left" valign="top">
<table width="100%"  border="2" cellspacing="0" cellpadding="0">
<tr>
<td><jsp:include page="new.jsp"/></td>         //包含新闻的jsp的代码
</tr><tr>
<td><jsp:include page="produce.jsp"/></td>       //包含产品的jsp的代码
</tr></table></td></tr><tr>
<td colspan="4" align="center">
<jsp:include page="bottom.jsp"/></td>      //包含按键的jsp的代码
</tr></table></body>
5.2  产品地带模块设计
该模块是企业在展示自己公司的产品的平台,这个模块可以通过后台管理产品模块来进行管理和添加,这样企业就可以很方便的进行产品介绍和推广,便于顾客在企业网站上进行交易。做出来的效果图如图5.2-1所示。

图 5.2-1 产品地带模块的运行结果图

首先显示产品分类,点击不同的产品名称进入不同的链接,实现分类查看产品的功能。产品分类表dsort保存着产品分类的信息,倘若想要显示产品分类列表时,只需要从产品分类表dsort中获取出该类的全部信息并循环显示。首先导入如下几个包:
<%@ page contentType="text1/html; charset=GBK" %>//设置页面格式
<%@ page import="java.util.Collection" %>//导入集合框架包
<%@ page import="java.util.Iterator" %>//导入遍历器包
<%@ page import="com.core.BasetableFactory" %>// 导入产品工厂的java的包
<%@ page import="com.model.Head" %>//导入头文件的java的包
<%@ page import="com.model.Soft" %>//导入软件的java的包
通过以下几个方法实现类信息的遍历:
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<%BasetableFactory bf=BasetableFactory.getInstance();
Collection coll=bf.ListSoft(1000,"ORDER BY uptime DESC");
if(coll==null||coll.size()<=0){%>
<tr align="center">
<td height="22" colspan="3">没有添加产品软件</td>
</tr>
<%                              //遍历产品
Iterator it=coll.iterator();
while(it.hasNext()){Soft s=(Soft)it.next();%> <tr>
<td width="74" height="20" align="center">软件名称:</td>
<td width="238">&nbsp;<%=s.getName()%></td>
<td width="188" rowspan="5" align="center" valign="middle"
 class="tableBorder">
<%String      //通过getPath()方法获取产品的图片详细路径信息
path=bf.SearchHead("WHERE iid='"+s.getIid()+"'").getPath();
if(path==null){out.print("无图片");}else{out.print("<img 
src="+path+" width=150 height=135>");}%>
</tr></table><map name="Map" id="Map">         //显示产品的链接地址
<area shape="rect" coords="457,4,501,19" href="list_softsort.jsp" /> 
</map>
其次当我们需要显示特定类别的产品信息部分时,应在门户网站首页中显示特别推荐的商品信息,需要采用分栏展示的技术,所以需要应用if语句并结合求模运算符来实现在一个单元格中同时显示两列数据的功能。其关键代码如下:
<%                                          //实例化产品的工厂类
BasetableFactory bf=BasetableFactory.getInstance();
String sql=ParamUtils.getRequestString(request,"sid");
if(sql!=null&&!"".equals(sql)) sql="WHERE sid="+sql;
Collection coll=bf.ListSoft(sql);
if(coll==null||coll.size()<0||coll.isEmpty()){%>
<%}else{                                        //启动遍历器实现遍历
Iterator it=coll.iterator();
while(it.hasNext()){ Soft s=(Soft)it.next();%>           //取下一个元素
<%String                                         //获取产品的信息路径
path=bf.SearchHead("WHEREiid='"+ StringUtils.toUnicode(s.getIid()+"'")).getPath();
if(path==null){out.print("无图片");
}else{out.print("<img src='"+path+"' width=150 height=135 >");}%>
<% for(int i=0;i<s.getCommend();i++)
{out.print("<img src='images/star.gif'>");}%>
<%=bf.SearchSsort("where sid="+s.getSid()).getName()%></td>
5.3  解决方案模块设计
该模块主要是对企业产品中出现问题时做出技术支持和帮助,这样更好的帮助用户使用和维护该产品。比如对产品的介绍、产品的展示、产品的说明、产品可能存在的问题等等。这样能够更好的对产品进行维护,能够更加方便客户对该产品的了解、使用以及反馈。如图5.3-1,是本人展示的解决方案的运行模块结果图。

 
图 5.3-1 解决方案模块的运行结果图

5.4  留言板
5.4.1  查看留言信息
留言板作为客户与企业交互的平台,客户可以将自己对企业的建议和意见通过企业门户网站的留言板反馈给企业。从而维护自己的权利、利益和使用权,这样也更好的让企业了解自身的优势和劣势,更加有利于企业的发展。查看留言信息页面是主要用于分页显示留言信息。它是通过工厂类BaseFactory中的 LGuestboard方法实现的,将如下包导入留言板的分页显示jsp文件中的。
<%@ page import="com.bwm.core.*" %>
<%@ page import="java.util.Collection" %>
<%@ page import="com.bwm.model.Guestboard" %>
<%@ page import="java.util.Iterator" %>
<%@ page contentType="text/html; charset=GBK" %>
如图5.4.1-1所示,是本实验网站的留言运行结果。

图5.4.1-1    查看留言板运行结果

5.4.2  添加留言信息
当我们打开的留言信息板块的留言信息上方的“添加留言”时,便可通过超链接进入到添加留言信息页面从而进行留言信息的添加。下图5.4.2-1是添加留言信息页面的运行结果。

图5.4.2-1 添加留言信息页面运行结果图

添加留言信息页面主要通过是addmess_guestboard.jsp文件实现,因为文件中放置了所有收集的用户留言信息的方法,以及将留言信息添加到数据表中的方法。留言信息能够被添加到数据表中主要通过BasetableFactory()中的CreateGuestboard()的方法来实现的。如下所示将留言信息保存到数据库的代码如下:
<%@ page import="java.util.Iterator" %>              //导入遍历器的java包
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.bwm.core.*" %>
<%@ page import="com.bwm.model.Guestboard" %>       // 导入留言板的java包
<%@ page import="java.util.Collection" %>
<%   boolean flag0 =false;
String submit=ParamUtils.getParameter(request,"submit");
if(submit!=null&&!"".equals(submit))
{
    session.removeAttribute("error");
    if("".equals(ParamUtils.getParameter(request,"title"))) //标题不能为空

 flag0=true;
        session.setAttribute("error","对不起,请添加标题");
        response.sendRedirect("error.jsp");
}
else{    BasetableFactory bbf=BasetableFactory.getInstance();   //如果添加留言失败
        if(!bbf.CreateGuestboard(request))
{ flag=true;
            session.setAttribute("error","对不起,添加留言失败");
            response.sendRedirect("error.jsp");        }
        else{    //关闭添加留言板并保存留言             
out.print("<script>opener.location.reload();window.close();</script>");
                 }
}
}%>
5.5  技术支持模块设计
技术支持模块主要是解决客户在产品使用过程中可能遇到的问题,这样方便客户更好的使用产品。

图 5.4-1 技术支持模块设计

常见问题的介绍
主要代码如下
<table width="96%" border="0" align="center" cellpadding="0"
 cellspacing="1" bgcolor="#45B5E3">
<tr align="center">
<td class="TableTitle1" >常见问题</td></tr>
<%                         //对字符串进行GBK编码的类实例化
StringUtils su=new StringUtils();
BasetableFactory bf=BasetableFactory.getInstance();
Collection coll=bf.ListQuestion("ORDER BY qid");
if(coll==null||coll.size()<=0)
{%><tr align="center">
<td height="27" bgcolor="#FFFFFF">当前常见问题为空</td></tr>
<%                           //启动遍历器遍历所有的信息
}else{            Iterator it=coll.iterator();
while(it.hasNext()){Question a=(Question)it.next();%>
<td height="27" bgcolor="#FFFFFF" 
style="padding-left:5px;"><strong>Q:
<%=a.getQuestion()%></strong></td> </tr> 
 //通过getquestion()方法获取方案
<tr align="left"><td height="27" bgcolor="#FFFFFF" 
<%=su.escapeHTMLTags(a.getAnswer())%>   //通过get Answer()方法获取结果
</td></tr> <%}%><%}%></table>
5.6  用户中心模块设计
该模块主要提供用户注册会员、更加方便了解企业的信息并进行交易。

图 5.5-1 用户中心模块运行结果

其主要代码如下所示:
<table width="98%" border="0" align="center" 
cellpadding="0" cellspacing="1" class="tableNew" 
style="padding-left:5px;">
<a                      //点击事件进入head.jsp页面
onClick="javascript:window.open('head.jsp','Menuhead','location=no,
scrollbars=no,menubars=no,toolbars=no,resizable=yes,left=200,top=200,
width=700,height=400');" class="delink"> 
<img src="images/ico/select.gif"  name="ico" width=64 height=64 >
</a>
<input type="hidden" name="iid" ></td></tr>
<tr align="center" bgcolor="#FFFFFF">
<td height="23" colspan="3">
 <input name="Submit" type="submit" class="btn_grey" 
onClick="return reg()" value="注册">
&nbsp;&nbsp;
<input name="Submit2" type="reset" class="btn_grey" value="重置"></td>
</tr>
</table>
5.7  网站后台首页设计
网站后台管理主要是对网站前台的信息管理,比如新闻、图片、产品、和其他文件的发布、更新、删除等操作,当然还有是管理会员信息、产品管理、资源管理和解决方案管理。简单来说就是对网站数据库和文件的快速操作,以使得网站的前台内容能够得到及时更新与调整,从而方便管理员的操作,使得维护企业门户网站更加的有效、高速。如图5.6-1所示是管理员的控制台的运行结果。

图5.6-1网站后台管理页面的运行结果图

主要代码如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.model.User" %>
<%@ page import="com.core.*" %>
<%                             //通过浏览器响应设置消息头
response.setHeader("Cache-Control","no-cache");       
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
if (!Crazyadept.UserIsOK(session,FinalConstants.STATUS_ADMIN)) 
{                              //通过浏览器响应重定向到user_logon.jsp页面
response.sendRedirect("../user_logon.jsp");}%>
6  结束语
经过几个月的努力,从配置环境、搭建服务器、查阅资料、咨询老师等等过程,大抵完成了我的论文目标。当在设计数据库、结构、jsp文件以及编写java代码的时候确实遇到很多问题,如何将编写好的java文件通过tomcat运行、调试;如何编写javabean文件,建立数据库与java文件的联系;如何处理数据库的存取,查找,显示等等;如何编写html网页排版让网站简洁、大方、美观等等问题。从我的运行结果可以看到,我依然有很多地方没有做好,比如当顾客购买公司的产品的时候,如何快捷、方便的支付成为门户网站走向多元化的一个关键问题,然而由于时间的关系本人未能够完成该功能。除此之外还有很多的问题存在,比如数据库夯余很多,数据的结果不精简。很多功能重复,没有实现封装化,这样就不是很简洁大方。所以在之后我会继续努力让该网站更加的完善。在此感谢所有帮助过我的老师和同学。
 

猜你喜欢

转载自blog.csdn.net/weixin_55459367/article/details/114148976