jsp课程设计.docx
- 文档编号:10532834
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:24
- 大小:443.08KB
jsp课程设计.docx
《jsp课程设计.docx》由会员分享,可在线阅读,更多相关《jsp课程设计.docx(24页珍藏版)》请在冰点文库上搜索。
jsp课程设计
2.1功能需求描述
新闻发布系统的主要目的是为用户提供一个方便的、可快速浏览当前最新新闻的界面,并且也可以随时发布最新的讯息以达到信息共享的目的。
因此要为用户提供一个方便易用的使用界面,同时也为具有更高权限的管理用户提供添加、删除新闻的系统维护功能。
新闻发布系统主要需要实现以下一些基本功能。
2.2查看新闻功能
任何用户均可以使用查看新闻功能。
用户通过在系统导航栏单击“查看新闻”超链接,可以进入查看新闻页面。
查看新闻功能显示所有新闻,并且使用分页显示效果,每页显示8条新闻,用户可通过单击下方的页码或文本框中输入页码来条转到任意一页浏览。
这里显示的所有新闻按发布时间降序排列,以保证最新发布的新闻位于最前面。
用户通过单击每条新闻的标题可以查看到新闻的详细内容。
2.3招聘新闻搜索功能
任何用户均可以使用新闻搜索功能。
在新闻查看页面上,用户可以通过在“查询类别”下拉列表框中选择按新闻的标题、内容、作者和发布日期等不同的查询方式来搜索符合条件的新闻。
这里提供的是模糊搜索功能,即只要在查询字段只能感包含用户输入的关键内容就认为是符合查询条件的记录。
查询结果同样以分页的方式显示。
2.4发布招聘新闻功能
任何用户均可以使用发布新闻功能。
用户通过在系统导航栏上单击“发布新闻”超链接可以进入发布新闻页面。
发布新闻时,需要填写新闻的标题、内容和发布者姓名,发布时间取当前系统时间,不需要用户填写。
2.5管理员登录功能
当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。
当未登录用户单击系统导航栏上的“新闻管理”超链接时,进入管理员登录页面。
用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。
2.6新闻管理功能
当用户作为管理员登录系统后,可以进行新闻管理操作,包括对现有新闻的修改和删除。
在管理页面上,用户可以通过单击每条记录右侧的“编辑”和“删除”超链接来进行操作。
当管理员的本次维护工作结束后,可通过单击“管理员推出”超链接来注册管理员身份。
第三章详细设计
3.1总体设计
在前面对用户需求的分析和研究的过程中,对于本系统中几个主要的功能模块大致有了一个抽象的认识。
下面将通过总体设计,给出新闻发布系统的模块结构、流程描述和用户界面布局。
3.2要实现目的
新闻发布系统面向各层次的网络用户,为了使它合适个多的用户使用,系统的界面实际应该尽量做到简洁、友好、方便、易用,用户不需要专门的学习便可熟练操作。
本系统采用B/S模式,服务器端使用jsp进行动态网页的开发。
3.3系统模块结构
依据需求分析结果,新闻法务系统可以分为四个模块:
数据库访问模块、新闻查看模块、新闻发布模块和新闻管理模块,如图:
3-1
系统模块结构图3-1
3.4模式设计
3.4.1数据库访问模块
利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。
当jsp页面中需要访问数据库时直接调用这个JavaBean即可。
3.4.2.新闻查看模块
新闻查看模块提供分页显示全部新闻的功能,用户通过单击每条新闻的标题可以查看到本条新闻的详细内容。
还可以通过输入查询类别和查询关键字来选择符合条件的新闻浏览。
新闻查看模块功能树如图:
3-2
新闻查看模块功能树图3-2
3.4.3新闻发布模块:
新闻发布模块提供发布新消息的功能。
3.4.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.1界面设计显示
新闻发布心痛系统的界面设计仍遵循简洁美观、方便易用的基本原则。
为了方便用户在各个功能间快速切换,本系统使用了导航栏方式,在各个页面的头部均包含了导航文件。
系统具体设计如下。
4.1.1查看新闻页面(系统首页)设计:
具体设计效果如图4-1
设计首页效果图4-1
4.1.2查看新闻详细内容页面设计:
具体设计效果如图4-2
新闻详细内容4-2
4.1.3发布新闻页面设计:
具体设计效果如图4-3
发布新闻页面4-3
4.1.4管理员登录页面设计:
具体设计效果如图4-4
管理员登录页面4-4
4.1.5招聘新闻管理页面设计:
具体设计效果如图4-5
新闻管理页面4-5
4.2问题及分析
1)SQL2005用户无法连接,启动后立即停止。
解决方法:
用户的安全性设置不完备,数据库各项服务功能没有完全开启。
2)jsp编程的格式化问题,一定要细心。
总结
本次课程设计,使我对《JSP》这门课程有了更深入的理解。
《JSP》是一门实践性较强的课程,而且是一门比较难的课程为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。
在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写Java程序的能力。
培养了基本的、良好的程序设计技能以及合作能力。
这次课程设计同样提高了我的综合运用所学知识的能力。
并对MyEclipse有了更深入的了解。
总的来说,这次程序设计让我获益匪浅。
本系统是一个简单的新闻管理系统,在实现过程中并未考虑到新闻添加后的审核等安全方面的问题,在实际应用中可以进一步的完善。
本系统使用了JDBC技术实现了与后台数据库的互连,主要使用了JDBC中的几个重要接口,如:
DriverManager、Connection、Statement和ResultSet等,利用其中的标准方法实现与数据库的连接、访问、断连等操作。
具备了一个数据库应用程序的最普遍的功能,如添加、修改、删除、和查询,所使用的语句和操作步骤均可能在今后的相似类型的程序中使用到。
另外,使用了JavaBean技术封装了对数据库的常用操作,在使用时只需对写好的JavaBean组件做简单的调用即可,有效地减少了代码冗余,提高了程序的执行效率。
在对本系统的实现过程中,首先应了解对<%@include%>指令的使用,该指令的功能是包含一个静态文件,通常应用于对网站的导航栏的实现。
其次,应了解SQL语言中的like谓词的使用,通常用它来进行字符串的模糊匹配,可使用通配符“%”和“_”来代表任意长度字符串和任意单个字符。
最后,应重点掌握利用JDBC的标准接口访问数据库的操作方法,并应对在JSP页面中如何使用JavaBean组件有所了解。
致谢
在这次课程设计的撰写过程中,我得到了许多人的帮助。
首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计商的难题。
同时也感谢学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。
参考文献
(1)王永茂.JSP程序设计[M].北京:
清华大学出版社,2010年11月.
(2)王国辉、李文立.JSP数据库系统开发完全手册[M].北京:
人民邮电出版社 ,2006年3月.
(3)宋昆、李严等.SQLServer数据库开发实例解析[M].北京:
机械工
附录主要程序代码(部分代码)
1首页部分主要代码(index1.jsp)
<%!
StringDBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringDBUrl="jdbc:
sqlserver:
//localhost:
1433;databaseName=vbsj";
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
%>
。
。
。
。
。
。
。
。
。
。
(略)
<%
try{
Class.forName(DBDriver);
conn=DriverManager.getConnection(DBUrl,"sa","sa");
stmt=conn.createStatement();
Stringsql="selecttop6*fromcontentorderbyNewsDate";
rs=stmt.executeQuery(sql);
}
catch(Exceptione){
e.printStackTrace();
}
%>
<%
try{
if(rs!
=null){
rs.close();
}
//都要关闭。
}
catch(Exceptione){
}
%>
<%
Stringsql="selecttop3*fromcontentwhereislist='true'orderbynewsDatedesc";
rs=stmt.executeQuery(sql);
%>
<%
while(rs.next()){
%>
<%=rs.getString("title")%>
size="2"color="black"> <% Stringstr=""; if(rs.getString("news").length()>100) str=rs.getString("news").substring(0,100); else str=rs.getString("news"); %> newsid=<%=rs.getInt("newsid")%>"><%=str+"..."%>
<%
}
%>
///管理员登陆
2管理员登陆界面代码(loginForm.html)
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--
管理员登陆
3新闻管理界面代码(manager.jsp)
<%@pagelanguage="java"import="java.util.*"pageEncoding="GB18030"%>
<%@pageimport="java.sql.*"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--
-->
<%!
StringDBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringDBUrl="jdbc:
sqlserver:
//localhost:
1433;databaseName=vbsj";
Connectionconn=null;
PreparedStatementpstmt=null;
Statementstmt=null;
ResultSetrs=null;
%>
<%
request.setCharacterEncoding("GBK");
Stringusn=(String)session.getAttribute("usn");
Stringgrdname=(String)session.getAttribute("grdname");
intgrade=(Integer)session.getAttribute("grade");
intuserid=(Integer)session.getAttribute("adminid");
if(grade==1){
//合法用户登陆后。
。
Class.forName(DBDriver);
conn=DriverMa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 课程设计