新闻发布管理系统jsp.docx
- 文档编号:30369968
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:20
- 大小:264.04KB
新闻发布管理系统jsp.docx
《新闻发布管理系统jsp.docx》由会员分享,可在线阅读,更多相关《新闻发布管理系统jsp.docx(20页珍藏版)》请在冰豆网上搜索。
新闻发布管理系统jsp
2设计简介及设计方案论述
2.1功能需求描述
新闻发布系统的主要目的是为用户提供一个方便的、可快速浏览当前最新新闻的界面,并且也可以随时发布最新的讯息以达到信息共享的目的。
因此要为用户提供一个方便易用的使用界面,同时也为具有更高权限的管理用户提供添加、删除新闻的系统维护功能。
新闻发布系统主要需要实现以下一些基本功能。
2.2查看新闻功能
任何用户均可以使用查看新闻功能。
用户通过在系统导航栏单击“查看新闻”超链接,可以进入查看新闻页面。
查看新闻功能显示所有新闻,并且使用分页显示效果,每页显示8条新闻,用户可通过单击下方的页码或文本框中输入页码来条转到任意一页浏览。
这里显示的所有新闻按发布时间降序排列,以保证最新发布的新闻位于最前面。
用户通过单击每条新闻的标题可以查看到新闻的详细内容。
2.3招聘新闻搜索功能
任何用户均可以使用新闻搜索功能。
在新闻查看页面上,用户可以通过在“查询类别”下拉列表框中选择按新闻的标题、内容、作者和发布日期等不同的查询方式来搜索符合条件的新闻。
这里提供的是模糊搜索功能,即只要在查询字段只能感包含用户输入的关键内容就认为是符合查询条件的记录。
查询结果同样以分页的方式显示。
2.4发布招聘新闻功能
任何用户均可以使用发布新闻功能。
用户通过在系统导航栏上单击“发布新闻”超链接可以进入发布新闻页面。
发布新闻时,需要填写新闻的标题、内容和发布者姓名,发布时间取当前系统时间,不需要用户填写。
2.5管理员登录功能
当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。
当未登录用户单击系统导航栏上的“新闻管理”超链接时,进入管理员登录页面。
用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。
2.6新闻管理功能
当用户作为管理员登录系统后,可以进行新闻管理操作,包括对现有新闻的修改和删除。
在管理页面上,用户可以通过单击每条记录右侧的“编辑”和“删除”超链接来进行操作。
当管理员的本次维护工作结束后,可通过单击“管理员推出”超链接来注册管理员身份。
3详细设计
3.1总体设计
在前面对用户需求的分析和研究的过程中,对于本系统中几个主要的功能模块大致有了一个抽象的认识。
下面将通过总体设计,给出新闻发布系统的模块结构、流程描述和用户界面布局。
3.2要实现目的
新闻发布系统面向各层次的网络用户,为了使它合适个多的用户使用,系统的界面实际应该尽量做到简洁、友好、方便、易用,用户不需要专门的学习便可熟练操作。
本系统采用B/S模式,服务器端使用jsp进行动态网页的开发。
3.3系统模块结构
依据需求分析结果,新闻法务系统可以分为四个模块:
数据库访问模块、新闻查看模块、新闻发布模块和新闻管理模块,如图:
3-1
系统模块结构图3-1
3.4模式设计
1)数据库访问模块
利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。
当jsp页面中需要访问数据库时直接调用这个JavaBean即可。
2)新闻查看模块
新闻查看模块提供分页显示全部新闻的功能,用户通过单击每条新闻的标题可以查看到本条新闻的详细内容。
还可以通过输入查询类别和查询关键字来选择符合条件的新闻浏览。
新闻查看模块功能树如图:
3-2
新闻查看模块功能树图3-2
3)新闻发布模块
新闻发布模块提供发布新消息的功能。
4)新闻管理模块
新闻管理模块包括修改新闻和删除新闻的功能。
在进入管理模块前,需要以合法的管理员身份登录。
新闻管理模块功能树如图:
3-3
新闻管理模块功能树图:
3-3
3.5系统流程描述
系统的流程如图:
3-4
系统的流程图:
3-4
3.6数据库设计
本系统采用sql2005数据库,在数据库中使用数据表news来储存现有的新闻信息。
另外,还使用了admin数据表来储存管理员的信息,表的结构如表
本系统中采用JSVC—ODBC桥的方式连接数据库,因此要首先配置一个ODBC数据源,数据源名定为news。
表admin的结构
字段名
数据类型
长度
是否主键
描述
userid
int
11
是
数据库流水号
username
varchar
50
否
管理员帐号
password
varchar
50
否
管理员密码
表news的结构
字段名
数据类型
长度
是否主键
描述
Newsid
int
11
是
新闻编号
Newtitle
varchar
50
否
新闻的标题
Newstext
text
否
新闻的类别
Newstypeid
int
11
否
新闻的类别名
表newstype的结构
字段名
数据类型
长度
是否主键
描述
Newstypeid
int
11
是
数据库流水号
Newstypename
varchar
50
否
新闻类型名称
4设计结果及分析
新闻发布心痛系统的界面设计仍遵循简洁美观、方便易用的基本原则。
为了方便用户在各个功能间快速切换,本系统使用了导航栏方式,在各个页面的头部均包含了导航文件。
系统具体界面设计如下。
4.1主页
4.2操作主页
4.3添加新闻
4.4修改新闻
4.5删除新闻
5详细设计
5.1首页
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@pageimport="java.sql.*"%>
<%@pageimport="java.lang.Math.*"%>
useBeanid="conn"scope="page"class="com.news.conn"/> <%! Stringsql=""; inttotalRecords=1; ResultSetrs=null; ResultSetrsTemp=null; %> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
//打开新窗口函数NewsWindow(id)
functionNewsWindow(id){
window.open('newswind.jsp?
id='+id,'infoWin','height=400,width=600,scrollbars=yes,resizable=yes');
}
<%
rsTemp=conn.executeQuery("select(count)idascountidfromnews");
try{
rsTemp.next();
totalRecords=rsTemp.getInt("countid");
rsTemp.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
sql="select*fromnewsorderbyid";
rs=conn.executeQuery(sql);
if(!
rs.next()){
out.println("
还没有任何新闻
");}
else{
%>
全部新闻
cellSpacing=0width=100%> <% intcc=1; do{ //不同行之间以不同颜色显示 if(cc%2==1) out.println(" else out.println(" %> NewsWindow(<%=rs.getInt("id")%>)"> <%=rs.getString("title")%>标题 作者 日期
<%
out.println("
cc++;
}while(rs.next());
//out.println("
共"+totalRecords+"条新闻");
}
rs.close();
%>
5.2操作主页面
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@pageimport="java.sql.*,java.lang.Math.*"%>
useBeanid="conn"scope="page"class="com.news.conn"/> <%! Stringsql=""; intid=1; ResultSetrs=null; ResultSetrsTemp=null; %> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
functionNewsWindow(id){
window.open('newswind.jsp?
id='+id,'infoWin','height=400,width=600,scrollbars=yes,resizable=yes');
}
<%
//out.println("del的值是:
"+request.getParameter("del"));
//out.println("deletefromnewswhereid="+request.getParameter("del"));
if(request.getParameter("del")!
=null)
conn.executeUpdate("deletefromnewswhereid="+request.getParameter("del"));
sql="select*fromnewsorderbyid";
rs=conn.executeQuery(sql);
if(!
rs.next())
out.println("
还没有任何新闻
");else{
%>
全部新闻
<%
do{
id=rs.getInt("id");
%>
NewsWindow(<%=id%>)">
<%=rs.getString("title")%>--
<%=rs.getString("content")%>
【<%=rs.getDate("times").toString()%>】
id=<%=id%>">编辑
del=<%=id%>">删除
<%
}while(rs.next());
}
rs.close();
%>
5.3增加新闻
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@pageimport="java.sql.*,java.lang.Math.*"%>
<%@pageimport="java.util.Date"%>
useBeanid="conn"scope="page"class="com.news.conn"/> <%! Stringid=""; Stringtitle=""; Stringtitle1=""; Stringcontent=""; Stringkeyw=""; Stringauthor=""; intcurrid=1; Stringsql=""; ResultSetrsTemp=null;%> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
<%
rsTemp=conn.executeQuery("selectmax(id)asmaxidfromnews");
try{
if(rsTemp.next())
currid=rsTemp.getInt("maxid")+1;
rsTemp.close();
}catch(Exceptione){
e.printStackTrace();
}
request.setCharacterEncoding("UTF-8");
if(request.getParameter("title")!
=null){
title=request.getParameter("title");
}
if(request.getParameter("body")!
=null){
content=request.getParameter("body");
}
if(request.getParameter("keyw")!
=null){
keyw=request.getParameter("keyw");
}
if(request.getParameter("author")!
=null){
author=request.getParameter("author");
}
if(request.getParameter("title")!
=null){
java.util.Dated=newjava.util.Date();//获取当前时间
java.sql.Datedate=newjava.sql.Date(d.getTime());
out.println("所要插入的id是:
"+currid);
sql="insertintonewsvalues("+currid+",'"+title+"','"+author+"','"+content+"','"+keyw+"','"+date+"')";
conn.executeUpdate(sql);
out.println("
");
out.println("
新闻添加成功!
");
out.println("
");
}else{
out.println("
");
out.println("
请输入正确的信息后再进行录入!
");out.println("
");
}
%>
5.4修改新闻
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@pageimport="java.sql.*"%>
useBeanid="conn"scope="page"class="com.news.conn"/> <%! Stringid=""; Stringtitle=""; Stringtitle1=""; Stringcontent=""; Stringkeyw=""; Stringauthor=""; booleanflag1=false; booleanflag2=false; booleanflag3=false; booleanflag4=false; booleanflag5=false; Stringsql=""; ResultSetrs=null; %> DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http: //www.w3.org/TR/html4/loose.dtd">
<%
request.setCharacterEncoding("UTF-8");
if(request.getParameter("id")!
=null){
flag1=true;
id=request.getParameter("id");
}
if(request.getParameter("title")!
=null){
flag2=true;
title=request.getParameter("title");
}
if(request.getParameter("body")!
=nul
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新闻 发布 管理 系统 jsp