企业门户网站毕业论文毕业论文.docx

上传人:b****3 文档编号:10216481 上传时间:2023-05-24 格式:DOCX 页数:44 大小:1,022.75KB
下载 相关 举报
企业门户网站毕业论文毕业论文.docx_第1页
第1页 / 共44页
企业门户网站毕业论文毕业论文.docx_第2页
第2页 / 共44页
企业门户网站毕业论文毕业论文.docx_第3页
第3页 / 共44页
企业门户网站毕业论文毕业论文.docx_第4页
第4页 / 共44页
企业门户网站毕业论文毕业论文.docx_第5页
第5页 / 共44页
企业门户网站毕业论文毕业论文.docx_第6页
第6页 / 共44页
企业门户网站毕业论文毕业论文.docx_第7页
第7页 / 共44页
企业门户网站毕业论文毕业论文.docx_第8页
第8页 / 共44页
企业门户网站毕业论文毕业论文.docx_第9页
第9页 / 共44页
企业门户网站毕业论文毕业论文.docx_第10页
第10页 / 共44页
企业门户网站毕业论文毕业论文.docx_第11页
第11页 / 共44页
企业门户网站毕业论文毕业论文.docx_第12页
第12页 / 共44页
企业门户网站毕业论文毕业论文.docx_第13页
第13页 / 共44页
企业门户网站毕业论文毕业论文.docx_第14页
第14页 / 共44页
企业门户网站毕业论文毕业论文.docx_第15页
第15页 / 共44页
企业门户网站毕业论文毕业论文.docx_第16页
第16页 / 共44页
企业门户网站毕业论文毕业论文.docx_第17页
第17页 / 共44页
企业门户网站毕业论文毕业论文.docx_第18页
第18页 / 共44页
企业门户网站毕业论文毕业论文.docx_第19页
第19页 / 共44页
企业门户网站毕业论文毕业论文.docx_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

企业门户网站毕业论文毕业论文.docx

《企业门户网站毕业论文毕业论文.docx》由会员分享,可在线阅读,更多相关《企业门户网站毕业论文毕业论文.docx(44页珍藏版)》请在冰点文库上搜索。

企业门户网站毕业论文毕业论文.docx

企业门户网站毕业论文毕业论文

 

企业门户

 

学院

专业

班级

学号

姓名

指导教师

教师职称

 

 

摘要

[摘要]

企业需要更高效能且技术统一的平台,以整合当前的网上业务,同时让本身的系统能够随时便利升级,以支持未来网上业务的发展。

建设集多功能(如客户关系管理、网上销售、知识管理、容管理等)于一身的企业门户,成为势在必行的上网策略。

本系统的开发恰恰满足了这一要求。

论文中详细介绍了系统的需求分析、总体设计与各功能模块的详细设计。

[关键词]门户性企业门户性企业门户

摘要1

0引言1

1系统分析2

1.1需求分析2

1.2可行性分析2

2总体设计2

2.1项目规划2

2.2系统功能结构图2

3系统设计3

3.1设计目标3

3.2开发与运行环境4

3.3数据库设计4

4辅助JavaBean的编写5

4.1基本数据库操作的JavaBean的编写5

4.2字符串处理的JavaBean“StringUtils”的编写7

4.3字符串处理的JavaBean“ParamUtils”的编写10

4.4Final常量JavaBean的编写12

4.5判断用户身份的JavaBean的编写15

4.6输出实用HTML代码的JavaBean的编写15

5抽象工厂模式在企业门户中的实现17

5.1抽象工厂角色的实现17

5.2具体工厂角色的实现18

5.3抽象产品角色的实现18

5.4具体产品角色的实现20

6主要功能模块设计26

6.1前台首页设计26

6.2产品地带模块设计28

6.3留言簿模块设计30

6.4论坛模块设计33

6.5后台首页设计34

附录A参考文献36

附录B数据表37

附录C文件架构图39

0引言

Internet的全球性发展,对人们的生活、生产方式都产生了深远的影响。

据推算到2006年底,我国网民人数将达到1.8个亿,成为全球最大的互联网市场。

建设企业门户性,树立企业的网络形象,成为企业适应信息化时代发展的最佳方式。

企业门户性的建设,使企业能够通过网络和客户更好的交流,拉近企业和客户的距离,掌握大量的客户反馈信息,并与时作出企业部调整方案,以满足客户不断增长的需求。

企业门户性的建设和管理水平,直接影响企业的网络形象,拥有一个设计美观、功能全面的门户性,已经成为企业网络化建设的一个重要容。

1系统分析

1.1需求分析

通过相关调查,要求具有以下功能:

❑通过前台全面介绍企业的软件产品并提供软件下载。

❑在前台为针对性问题提供解决方案。

❑前台在线解答用户常见问题。

❑提供软件补丁下载的功能。

❑提供用户注册、登录、用户名和密码修改的功能。

❑需提供在线留言簿,方便用户留言。

❑为用户设置论坛模块。

❑通过后台对用户信息进行管理,包括设置用户权限和查询用户信息等功能。

❑在后台可以管理公告信息、新闻信息、论坛头像、友情。

❑通过后台对软件类别与前台提供的软件和软件补丁进行管理。

❑通过后台管理问题解决方案、常见问题解答等信息。

❑对用户留言信息进行回复和管理。

1.2可行性分析

企业门户满足了企业通过前台展示企业软件产品、为用户提供问题解决方案的要求。

通过的建立,加强企业与客户之间的沟通,使企业能够与时了解客户的需求,与时帮助客户解决日常工作中遇到的各种问题,更好的服务于客户,从而增进了企业和客户之间的友好业务关系。

2总体设计

2.1项目规划

对于一个企业门户来说,通常由两部分组成,一部分是前台,用于企业信息展示和与客户进行交流,另一部分是后台,用于对信息的管理和回复留言。

❑前台

前台展示区要现:

首页、产品地带、解决方案、技术支持、客户渠道、论坛等模块信息的显示功能。

❑后台

后台管理模块要现:

用户管理、用户查找、论坛头像管理、公告管理、新闻中心管理、友情管理、软件类别管理、软件资源管理、常见问题管理、解决方案管理、留言薄管理、下载工具补丁管理、论坛版块管理、论坛管理等14个功能模块的功能。

2.2系统功能结构图

 

论坛详细信息

产品分类

友情

产品介绍

新闻热点

公告

软件下载排行

工具补丁下载排行

企业门户前台

首页

产品地带

解决方案

技术支持

客户渠道

论坛

解决方案详细信息

常见问题

工具下载

补丁下载

用户注册

用户登录

用户修改

留言薄

企业门户前台功能结构,如图1所示。

图1企业门户前台功能结构图

用户管理

用户查找

论坛头像管理

公告管理

新闻中心管理

软件类别管理

友情管理

软件资源管理

解决方案管理

常见问题管理

留言薄管理

工具下载管理

论坛管理

论坛版块管理

企业门户后台

企业门户后台功能结构,如图2所示。

图2企业门户后台功能结构图

3系统设计

3.1设计目标

本门户是根据企业实际要求进行开发设计的,主要实现如下目标:

❑网页风格符合企业的特点,界面美观大方。

❑能够对公司的产品进行与时的宣传,并为本公司开发的部分或全部软件提供下载功能。

❑针对某行业或某一问题提供相应的解决方案。

❑充分为用户着想,提供细致周到的技术支持。

❑提供为用户快速留言的留言簿,并具有版主回复功能。

❑提供在线论坛与其维护功能。

❑为管理员提供方便、快捷的维护平台。

❑提供用户精确查找功能。

❑提供本地上传论坛图像功能。

❑提供在线上传下载软件数据包的功能

❑运行安全稳定。

3.2开发与运行环境

硬件平台:

❑CPU:

P41.8GHz;

❑存:

256MB以上。

软件平台:

❑操作系统:

WindowsXP/Windows2000;

❑数据库:

MySQL5.0;

❑开发工具包:

JDKVersion1.4.2;

❑JSP服务器:

Tomcat;

❑浏览器:

IE5.0,推荐使用IE6.0;

❑分辨率:

最佳效果1024*768像素。

3.3数据库设计

本系统数据库采用MySQL数据库,系统数据库名称为mingri。

数据库mingri中包含14表。

关于数据库中的主要数据表请参见附录B。

4辅助JavaBean的编写

根据系统的需求编写需要的JavaBean。

下面将给出企业门户中所需要的部分辅助JavaBean的编写过程。

4.1基本数据库操作的JavaBean的编写

基本数据库操作的JavaBean是一个公共类,通常包括连接数据库的方法getConnection、获取结果集总记录数的方法getRow、删除数据的方法Delete等。

下面将给出编写企业门户中的基本数据库操作的JavaBean“Database”的实现过程。

(1)先将“Database”保存到指定的包中,并导入所需的类包,并将其保存到“.bwm.core”包中,代码如下:

package.bwm.core;

importjava.sql.Connection;

importjava.sql.SQLException;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

(2)定义Database类,并定义静态变量与构造方法,代码如下:

publicclassDatabase{//定义Database类

privatestaticConnectioncon;//定义静态变量static

privatestaticStringproxool="org.logicalcobwebs.proxool.ProxoolDriver";

privatestaticStringpoolname="proxool.mingri";

publicDatabase(){//构造方法

}

}

(3)创建连接数据库的方法getConnection,该方法返回Connection对象的一个实例。

getConnection方法的代码如下:

publicstaticConnectiongetConnection(){

try{

Class.forName(proxool);//调用Class的forName方法加载数据库驱动程序类

con=DriverManager.getConnection(poolname);//获取Connection对象的引用

}catch(ClassNotFoundExceptione){

System.out.println(e.getMessage());

}catch(SQLExceptione){

System.out.println(e.getMessage());

}

if(con==null){

System.out.println("没有获取到数据库连接");

}

returncon;

}

(4)定义getRow方法获取结果集的总记录数。

由于ResultSet对象没有提供直接获取结果集总行数的方法,所以此处需要定义获取结果集总行数的方法。

getRow方法的代码如下:

publicstaticintgetRow(Stringsql){

inti=0;

PreparedStatementps=null;

ResultSetrs=null;

try{

ps=con.prepareStatement("SELECTCOUNT(*)FROM"+sql,

ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

rs=ps.executeQuery();

if(rs.next()){

i=rs.getInt

(1);

}

}catch(SQLExceptione){

System.out.println(e.getMessage());

i=0;

}finally{

System.out.println("SELECTCOUNT(*)FROM"+sql);

try{

rs.close();//关闭ResultSet对象的一个实例

}catch(SQLExceptione){}

try{

ps.close();//关闭PreparedStatement对象的一个实例

}catch(SQLExceptione){}

returni;

}

}

(5)定义删除数据的方法Delete,代码如下:

publicstaticbooleanDelete(Stringsql){

booleanb=false;

Connectioncon=null;

PreparedStatementps=null;

try{

con=Database.getConnection();//调用getConnection方法连接数据库

ps=con.prepareStatement(sql);

if(ps.executeUpdate()>0){

b=true;

}else{

b=false;

}

}catch(SQLExceptione){

b=false;

e.printStackTrace();

}finally{

System.out.println(ps+"Database.Delete()"+sql);

try{

if(ps!

=null){

ps.close();//关闭PreparedStatement对象的一个实例

}

}catch(SQLExceptione){

ps=null;

}

try{

if(con!

=null){

con.close();//关闭Connection对象的一个实例

}

}catch(SQLExceptione){

con=null;

}

}

returnb;

}

4.2字符串处理的JavaBean“StringUtils”的编写

在JSP中经常需要对输入或输出的字符串进行处理,通常将处理该问题的方法统一放置在一个单独的类中。

在本实例中将其保存在StringUtils类中。

StringUtils类的实现方法如下:

(1)定义StringUtils类、导入类中所需的包,并定义对字符串进行GBK编码的方法toChinese,代码如下:

package.bwm.core;

importjava.util.Date;

importjava.text.SimpleDateFormat;

importjava.text.ParseException;

publicclassStringUtils{

//对字符串进行GBK编码

publicstaticStringtoChinese(Stringstrvalue){

try{

if(strvalue==null){

return"";

}else{

strvalue=newString(strvalue.getBytes("ISO8859_1"),"GBK");

returnstrvalue;

}

}catch(Exceptione){

return"";

}

}

}

(2)编写对输入的字符串进行一次编码转换,防止SQL注入的方法StringtoSql,代码如下:

publicstaticStringStringtoSql(Stringstr){

str=nullToString(str,"");

try{

str=str.trim().replace('\'',(char)1);

}catch(Exceptione){

return"";

}

returnstr;

}

(3)编写对字符串进行二次编码转换,防止出库时异常的方法SqltoString,代码如下:

publicstaticStringSqltoString(Stringstr){

str=nullToString(str,"");

try{

str=str.replace((char)1,'\'').trim();

}catch(Exceptione){

return"";

}

returnstr;

}

(4)编写对字符串进行Unicode编码的方法toUnicode,代码如下:

publicstaticStringtoUnicode(Stringstrvalue){

try{

if(strvalue==null){

returnnull;

}else{

strvalue=newString(strvalue.getBytes("GBK"),"ISO8859_1");

returnstrvalue;

}

}catch(Exceptione){

return"";

}

}

(5)编写判断是否为当前时间的方法compareNowTime,代码如下:

publicstaticbooleancompareNowTime(Stringdate){

SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");

Dated=null;

try{

d=format.parse(date);

}catch(ParseExceptionex){

}

if(System.currentTimeMillis()-259200000

returntrue;

}

returnfalse;

}

(6)编写判断用户输入的是否是数字或字母的方法isID,代码如下:

publicstaticbooleanisID(Stringstr){

if(str!

=null&&str.length()>0){

if(str.charAt(0)<57&&str.charAt(0)>48)returnfalse;

for(inti=0;i

if(str.charAt(i)<65&&str.charAt(i)>57||str.charAt(i)>90&&

str.charAt(i)<97&&str.charAt(i)!

=95||str.charAt(i)>122||str.charAt(i)<48){

returnfalse;

}

}

returntrue;

}

returnfalse;

}

(7)对输入数据中的HTML字符进行转换的方法escapeHTMLTags,代码如下:

publicstaticfinalStringescapeHTMLTags(Stringinput){

if(input==null||input.length()==0){

returninput;

}

StringBufferbuf=newStringBuffer(input.length());

charch='';

for(inti=0;i

ch=input.charAt(i);

if(ch=='<'){

buf.append("<");

}elseif(ch=='>'){

buf.append(">");

}else{

buf.append(ch);

}

}

returnbuf.toString();

}

(8)编写处理字符串中的空值的方法nullToString,代码如下:

publicstaticfinalStringnullToString(Stringv,StringtoV){

if(v==null){

v=toV;

}

returnv;

}

(9)编写对SQL语句中输入的空值进行处理的方法SqlToLink,代码如下:

publicstaticfinalStringSqlToLink(Stringstr){

str=StringUtils.nullToString(str,"");

if("".equals(str)){

str="LIKE'%'";

}else{

str=("LIKE'%"+str+"%'");

}

returnstr;

}

(10)编写将整型值转换为字符串的方法SqlToLink,代码如下:

publicstaticfinalStringSqlToLink(inti){

Stringstr="";

try{

str=newInteger(i).toString();

}catch(Exceptione){}

if(i==-1){

str="";

}

returnStringUtils.SqlToLink(str);

}

}

4.3字符串处理的JavaBean“ParamUtils”的编写

字符串处理的JavaBean“ParamUtils”主要用于对从JSP页中获取的数据进行规化处理。

ParamUtils类的实现方法如下:

(1)定义ParamUtils类、导入类中所需的包,并定义对传入要读取的表单信息与对读取的表单信息进行处理的方法getParameter,代码如下:

package.bwm.core;

importjavax.servlet..ServletRequest;

import.jspsmart.upload.Request;

publicclassParamUtils{

//传入要读取的表单信息

publicstaticStringgetParameter(ServletRequestrequest,StringparamName){

returngetParameter(request,paramName,false);//根据参数值的不同,调用同名的方法

}

//对表单信息读取后,对于空的信息与没有值的表单设置默认值,返回字符串

publicstaticStringgetParameter(ServletRequestrequest,StringparamName,StringdefaultStr){

Stringtemp=request.getParameter(paramName);

if(temp!

=null){

if(temp.equals("")){

returndefaultStr;

}else{

returnnullToString(temp);

}

}else{

returndefaultStr;

}

}

}

(2)编写将从表单中获取的字符串中的HTML标记中的<和>替换为相对应的HTML标记的方法getEscapeHTMLParameter,代码如下:

publicstaticStringgetEscapeHTMLParameter(ServletRequestrequest,StringparamName){

returnnullToString(StringUtils.escapeHTMLTags(ParamUtils.getParameter(

request,paramName,true)));

}

(3)编写对表单信息读取后,对于空的信息与没有值的表单设置默认值,返回字符串的方法getParameter,代码如下:

publicstaticStringgetParameter(ServletRequestrequest,StringparamName,booleanemptyStringsOK){

Stringtemp=request.getParameter(paramName);

if(temp!

=null){

if(temp.equals("")&&!

empty

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2