毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx

上传人:b****5 文档编号:18738089 上传时间:2022-12-31 格式:DOCX 页数:38 大小:561.79KB
下载 相关 举报
毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx_第1页
第1页 / 共38页
毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx_第2页
第2页 / 共38页
毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx_第3页
第3页 / 共38页
毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx_第4页
第4页 / 共38页
毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx

《毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。

毕业设计论文 《基于jsp的新闻发布系统设计》Word文档格式.docx

图2新闻网后台功能结构图

3系统设计

3.1设计目标

本网站是根据各行业新闻信息分类进行开发设计的,主要实现如下目标:

分类展示各行业新闻。

显示新闻的详细信息。

设置新闻搜索功能模块。

设置新闻人物投票及投票数统计功能。

提供其他网站的友情链接。

3.2开发及运行环境

硬件平台:

CPU:

P41.8GHz;

内存:

256MB以上。

软件平台:

操作系统:

Windows2000;

数据库:

SQLServer2000;

开发工具包:

JDKVersion1.4.1;

Web服务器:

Tomcat;

浏览器:

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

分辨率:

最佳效果1024*768像素。

3.3逻辑结构设计

本系统数据库采用SQLserver2000数据库,系统数据库名称为db_news。

数据库db_news中包含7张表。

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

4网站总体架构

4.1网站首页的运行结果

网站前台首页的运行结果如图5所示。

图5网站前台首页运行结果

网站框架图说明如下:

表`1网站前台首页页面说明

区域

名称

说明

对应文件

1

网站导航

主要展示网站的旗帜广告和站内导航条

typeNewWatch.do

2

功能模块

主要用于显示导航模块中的功能

linkSelect.do

3

内容显示

主要用于显示功能模块中的内容

dateNews.do?

type=今日新闻

网站后台首页的运行结果如图6所示。

图6网站后台首页运行结果

网站后台首页中的各部分说明如表2所示。

表2网站后台首页页面说明

typeTopAction.do

left_main.jsp

right_main.jsp

4.2类的分布

新闻发布系统是利用Struts框架实现的,新闻发布系统中类的分布如图7所示。

图7类的分布

类存放的文件夹功能如表3所示。

表3类存放的文件夹功能列表

功能

持久层(dao文件夹)

各种方法(增加、删除、修改和查询)的实现

样式层(domain文件夹)

所存放的类是Actionform类,在类中必须要继承ActionForm(也就是entendsActionForm)

服务层(server文件夹)

存放的dao层功能的业务的类

控制层(webtier文件夹)

存放在jsp页面中存在的方法实现的类

工具层(tool文件夹)

类名为JDBConnection.java(连接数据库的功能)、类名为Chinese.java(字符级转换的类)、类名为SessionLib(用来存在session变量)

5网站后台主要功能模块设计

5.1后台登录模块设计

在新闻发布系统中,后台管理员分为两种:

一个是普通管理员,他可以对新闻类型进行定义,也可以发布新闻、设置投票人数及网站链接;

另一个是总管理员,他除了可操作以上功能外,还可以对普通管理员进行设置,总管理员和普通管理员都能通过后台登录页面登录后台。

在前台单击“进入后台”超链接,即可进入到后台登录页面,如图8所示。

图8后台登录页面

1.样式层的类

具体代码如下

/*******************************ManagerActionForm.java***************************/

packagecom.victor.domain;

importorg.apache.struts.action.*;

publicclassManagerActionFormextendsActionForm{

privateIntegermanagerID;

//在数据库中的流水号

privateStringmanagerIssueDate;

//管理员添加日期

privateStringmanagerMark;

//管理员的标示

privateStringmanagerName;

//管理员帐号

privateStringmanagerPassword;

//管理员密码

privateStringmanagerRealName;

//管理员的真实姓名

privateStringmanagerType;

//管理员的权限

publicManagerActionForm(){

this.managerID=newInteger(-1);

this.managerIssueDate="

"

;

this.managerMark="

this.managerName="

this.managerPassword="

this.managerRealName="

this.managerType="

}

publicIntegergetManagerID(){

returnmanagerID;

publicvoidsetManagerID(IntegermanagerID){

this.managerID=managerID;

………………………………………………….

2.持久层的方法

验证输入的内容是否正确有很多方法,笔者采用的是利用sql语句的方法进行验证输入账号和密码。

对输入的账号及密码判断是否正确。

利用接口类的方法实现的代码如下:

/*********************************ManagerDao.java*******************************/

publicinterfaceManagerDao{

publicManagerActionFormmanagerCheck(ManagerActionFormmanagerActionForm)

}

实现接口的方法的代码如下:

/*******************************ManagerDaoImpl.java*****************************/

//核对普通管理员帐号和密码

publicclassManagerDaoImplimplementsManagerDao{//实现接口类中的方法用implements加上接口类名

publicManagerActionFormmanagerCheck(ManagerActionFormmanagerActionForm){

ManagerActionFormmanager=null;

定义一个Object型的数据,初使化为null

JDBConnectionconnection=newJDBConnection();

//连接数据库的方法

Stringsql="

select*fromtb_managerwhereName='

+managerActionForm.getManagerName()+"

'

try{

ResultSetrs=connection.executeQuery(sql);

//把sql语句传到JDBConnection类中去

while(rs.next()){

manager=newManagerActionForm();

manager.setManagerPassword(rs.getString(3));

//查找过所需要的字段数据

catch(SQLExceptionex){

connection.close();

returnmanager;

//把对象返回到方法中去

3.服务层的方法

/********************************ManagerFacade.java*****************************/

publicinterfaceManagerFacade{

/*******************************ManagerFacadeImpl.java**************************/

publicclassManagerFacadeImplimplementsManagerFacade{//实现接口类的方法用implements

privateManagerDaomanagerDao;

publicManagerFacadeImpl(){

this.managerDao=newManagerDaoImpl();

//实现dao类的方法。

publicManagerActionFormmanagerCheck(ManagerActionFormmanagerActionForm){

returnthis.managerDao.managerCheck(managerActionForm);

//调用持久层的方法

4.管理员登陆控制层的方法

/****************************ManagerCheckAction.java****************************/

packagecom.victor.webtier.managerAction;

//核对帐号和密码

publicclassManagerCheckActionextendsAction{

privateManagerFacademanagerFacade;

publicManagerCheckAction(){

this.managerFacade=newManagerFacadeImpl();

publicActionForwardperform(ActionMappingactionMapping,ActionFormactionForm,

HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse){

Chinesechinese=newChinese();

ManagerActionFormmanagerActionForm=(ManagerActionForm)actionForm;

managerActionForm.setManagerName(chinese.str(httpServletRequest.

getParameter("

managerName"

)));

ManagerActionFormmanager=this.managerFacade.managerCheck(managerActionForm);

//通过对象调用方法

if(manager==null){

returnactionMapping.findForward("

managerWrong"

);

//通过manager是空值的话,返回错误页面。

elseif(!

manager.getManagerPassword().equals(httpServletRequest.getParameter("

managerPassWord"

)))

{

returnactionMapping.findForward("

//查找的值与在jsp页面中的值不一致,返回错误页面。

managerRight"

//查找的值与在jsp页面中的值一致,返回正确页面。

}}

5.struts-config.xml中的配置

在这里主要配置formBean和action动作指向的jsp页面。

代码如下:

/********************************struts-config.xml*********************************/

<

form-beanname="

managerActionForm"

type="

com.victor.domain.ManagerActionForm"

/>

actionname="

com.victor.webtier.managerAction.ManagerCheckAction"

validate="

true"

scope="

request"

path="

/managerCheckAction"

>

<

forwardname="

/jsp/managerBack/managerCheckFail.jsp"

!

--指错误的页面-->

/jsp/managerBack/managerCheckSuccess.jsp"

--指向正确的页面-->

/action>

6.管理员登陆jsp页面的说明

/*********************************managerCheck.jsp*********************************/

p>

管理员登陆<

/p>

&

nbsp;

<

formname="

form"

method="

post"

action="

../../managerCheckAction.do"

>

tablewidth="

287"

height="

77"

border="

2"

cellpadding="

3"

cellspacing="

tr>

tdwidth="

90"

32"

span>

帐号:

/span>

/td>

168"

inputtype="

text"

name="

/tr>

tdheight="

密码:

td>

password"

/table>

submit"

Submit2"

value="

提交"

&

reset"

Submit"

重置"

/form>

5.2总管理员设置模块设计

总管理员在数据库中是惟一的,总管理员的信息在页面中不会显示出来,在此页面中只能修改自己的密码及对普通管理员进行设置。

用户单击“总管理员设置”超链接,进入总管理员设置页面。

系统首先对用户输入的账户和密码进行核对。

因为并不是所有的管理员都能够有这个权利,所以在SQL语句中应体现惟一性的条件,样式层所要调用的类是ActionForm,跟用户登录时调用的actionForm是同一个类,在这里就不做介绍了。

1.总管理员的登录操作

登录方法主要用于系统管理员进行系统维护时,作为登录后台时密码验证之用。

在用户输入用户账号和密码之后,调用该方法即可验证该用户是否合法。

单击“总管理员设置”超链接,进入到总管理员设置页面,实现此超链接的jsp代码如下:

/***********************************left_main.jsp*********************************/

--把超链接的jsp页面,指向框架显示出来,框架名称为mainFrame。

(如图3.6所示)-->

ahref="

aManager/adminPassword.jsp"

target="

mainFrame"

总管理员设置<

/a>

总管理员页面的运行结果如图9所示。

图9总管理员页面运行结果

总管理员页面所对应的jsp页面代码如下:

/*********************************adminPassword.jsp******************************/

../../../adminAction.do"

"

382"

110"

请输入帐户:

243"

Name"

请输入密码:

adminPassWord"

在上面的jsp页面代码中,action触发的是adminAction.do的方法,它与后台登录的方法相似,只是调用的SQL语句不同。

在持久层中查询总管理员的方法的代码如下:

接口类的方法:

/*********************************ManagerDao.java*********************************/

publicManagerActionFormadminCheck(ManagerActionFormmanagerActionForm)

实现接口类的方法:

/***********************************ManagerDaoImpl.java***************************/

publicManagerActionFormadminCheck(ManagerActionFormmanagerActionForm){

//初始化对象

JDBConnectionconnection=newJDBConnection();

Stringsql="

+

managerActionForm.getManagerName()+"

andmark='

managerActionForm.getManagerMark()+"

try{

//执行查找的方法

//取出查询的密码

//关闭数据库

}

在服务层中实现持久层的方法如下:

/*******************************ManagerFacade.java******************************/

publ

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

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1