九江学院
信息科学与技术学院
《新闻发布系统开发》课程设计(实训)报告书
题 目:
专 业:
班 级:
姓 名:
学 号:
同组人员:
指导老师:
设计时间: 年 月 日 ~ 年 月 日
目 录
《新闻发布系统开发》课程设计(实训)报告书............... 1
1.课程设计(实训)计划............................... 3
2.系统需求分析与功能设计............................. 3
3. 总体设计......................................... 4
4. 数据库设计....................................... 5
5. 程序模块设计..................................... 6
6. 技术难点与分析.................................... 7
7. 系统测试......................................... 8
8. 心得体会......................................... 9
9. 参考文献........................................ 10
新闻添加模块功能如下:
对新闻的添加直接在管理页面点击添加新闻这个链接,这时我们可以转到另外一个新的页面:新闻添加页面。我们可以在这里要填写新闻的作者、新闻标题、新闻类型、新闻内容、新闻发布时间,填写完毕了,我们可以直接返回到新闻管理页面看到我们添加的新闻,点击新闻标题,我们就可以进入新闻的预览了。
新闻修改模块功能如下:
如果我们想对我们不满意的新闻重新进行编辑,那么我们就可以在管理页面点击编辑,在这个系统里面我们设计管理员可以对新闻的标题和内容进行编辑,其它的就不可以编辑了,编辑后的新闻可以在管理页面里显示出来。
新闻删除模块功能如下:
新闻的删除相对来说是比较简单的,我们只需要在管理页面对于那些我们不满意的新闻选中,然后点击删除就可以直接把新闻删除了。
新闻浏览模块功能如下:
想对新闻进行详细的浏览,我们可以点击新闻的标题直接进入网页阅读模式,在这个新的页面当中,我们不能在这里进行任何的编辑。
管理员登陆模块功能如下:
当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。当未登录用户单击系统导航栏上的“新闻管理”超镕接时,进入管理员登录页面。用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。
新闻发布系统功能结构图,如图1所示:
图 1 新闻发布管理系统流程图
我们使用的是SQL Server 2005数据库,要使得新闻发布系统和数据库链接,我们必须要创建一个ODBC数据源,我们现在创建的数据源名字叫做:newsAccess.下面我们创建的是数据库、用户表和新闻信息表。
create database newsAccess;
use newsAccess;
create table UserInfo
(
UserId int primary key identity,
UserName nvarchar(10) not null,
UserPwd nvarchar(16) not null
);
insert into UserInfo values('admin','admin');
create table NewsInfo
(
NewsId int primary key identity,
NewsUserName nvarchar(10) not null,
NewsTitle nvarchar(100) not null,
NewsType nvarchar(10) not null,
Newscontent ntext not null,
NewsUpTime datetime not null
);
表1 新闻信息表newsinfo
表2 管理员信息表users
使用数据表users来储存管理员的信息,表的结构如下表
表3 新闻评论comment
使用数据表comment来储存新闻评论信息,表的结构如下表
表4 新闻类别信息名称classes
使用数据表classes来储存新闻类别信息,表的结构如下表
我们在新闻管理页面中对新闻的管理,首先我们必须链接数据库,下面的语句是用来链接的关键语句:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:newsAccess");
stmt=conn.createStatement();
我们还提供了添加、删除、修改、浏览的关键语句:
添加新闻
String sql="Insert into NewsInfo values('"+ username+"','"+title+"','"+type+"','"+content+"',getdate())";
stmt.executeUpdate(sql); response.sendRedirect("newsManage.jsp");
修改新闻
stmt=conn.createStatement();
sql="select * from NewsInfo where NewsId='"+NewsId+"'";
rs=stmt.executeQuery(sql);
if(rs.next())
String username=rs.getString("NewsUserName");
删除新闻
conn=DriverManager.getConnection("jdbc:odbc:newsAccess");
Statement stmt=conn.createStatement();
String sql= "DELETE FROM NewsInfo WHERE NewsId="+NewsId;
浏览新闻
sql="select * from NewsInfo where NewsId="+newsID;
rs=stmt.executeQuery(sql);
if(rs.next())
{
NewsTitle=rs.getString("NewsTitle");
Type=rs.getString("NewsType"); Content=rs.getString("Newscontent");
Uptime=rs.getString("NewsUpTime");
}
编码的转换(以添加新闻的标题和内容为例)
String title=(String)request.getParameter("newstitle");
if(title==null)
{title="";}
byte c[]=title.getBytes("ISO-8859-1");
title=new String(c);
String content=(String)request.getParameter("NewsContent1");
if(content==null)
{content="";}
byte d[]=content.getBytes("ISO-8859-1");
content=new String(d);
我们登录进去需要输入管理员的用户名和密码,系统默认的是admin和admin,如果我们输入的用户名和密码有错,又或者是他们其中至少一个没有填写,则会出现错误,如图所示:
图2 登录界面
图3 登录出错
图4 新闻管理页面
在管理页面我们可以进行新闻的添加,我们点击就可以进行新闻的添加了,添加完成了我们可以进入浏览,在这里我们添加了三条VOA的新闻,然后我们在进行浏览,如下图所示:
图5 添加页面
图6 增加新闻
图7 浏览新闻
在管理页面可以直接点击修改链接来进行修改,我们将第二和第三条新闻修改为中文新闻。
图8 新闻修改页面
图9 修改新闻
直接在管理页面中删除新闻,我们删除中间三条新闻有:
图10 删除新闻
<%
request.setCharacterEncoding("gbk");
SearchNews sh = new SearchNews();
News n=sh.getNews(1);
if(n != null)
{
%>
<% out.println(n.getBiaoti()); %>
<% out.print(n.getFabushijian()); %></td>
<% out.println(n.getLaiyuan()); %>
<% out.println(n.getZhaiyao()); %></td>
<% out.println(n.getTupian()); %>
<% out.println(StringToHtml.toHtml(n.getZhengwen())); %>
<% out.println(n.getGuanjianzi()); %>
<% out.println(n.getFabiaozhe()); %>
<% out.println(n.getClassid()); %>
<% out.println(n.getDianjilv()); %>
<% } %>
<%out.println(n.getBanquanxinxi()); %>
<% if(n.getComcount()!=0) { %>
<a href="commentofnew.jsp?newid=<% out.print(n.getNewsid()); %>"> <em>评论
<% out.print(n.getComcount()); %> 条>></em> </a>
<% } else { %> <em>评论
<% out.print(n.getComcount()); %> 条>></em> <% } %></td>
</tr>
<p><hr>我要留言:</hr>
<form action="AddCommentOfNews" method="post" enctype="multipart/form-data" name="form1" id="form1">
<textarea name="commenttext" rows="15" cols="61"></textarea>
<input name="newsid" type="hidden" value="<% out.print(n.getNewsid()); %>"/>
<input name="Submit" type="submit" value="提交" />
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
int newsid = Integer.parseInt(request.getParameter("newsid"));
String comment = request.getParameter("commenttext");
String comperson = request.getParameter("person");
String type = request.getParameter("type");
PrintWriter pw = response.getWriter();
pw.println(newsid);
pw.println(comment);
Comment comm = new Comment();
comm.setContext(comment);
comm.setNewid(newsid);
comm.setComPerson(comperson);
int result = ModifComment.insert(comm);
if(type.equals("new"))
{
response.sendRedirect("oneofnews.jsp?newid="+newsid);
}
else if(type.equals("comment"))
{
response.sendRedirect("commentofnew.jsp?newid="+newsid);
}
else if(type.equals("admincomment"))
{
response.sendRedirect("admin\\admin_commentview.jsp?newid="+newsid);
}
}
添加一条评论的代码为:
public class InsertComment{
public static void insert(Comment comment)
{
DBConnectPool dbp=DBConnectPool.getInstance();
Connection conn=dbp.getConnection();
PreparedStatement pstmt=null;
try {
pstmt=conn.prepareStatement("inser into comment values(?,?,?,?)");
pstmt.setInt(1, comment.getNewid());
pstmt.setDate(2, (java.sql.Date)(new Date()));
pstmt.setString(3,comment.getComPerson());
pstmt.setString(4, comment.getContext());
pstmt.executeUpdate();
}
catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally
{
try
{
if(pstmt!=null)
pstmt.close();
}
catch(SQLException el)
{
el.printStackTrace();
}
}
}
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
String username = request.getParameter("name");
String passwd = request.getParameter("pass");
boolean flag = false;
User user = (new SearchUsers()).getUser(username);
if(user!=null)
{
if(passwd.equals(user.getPassWord()))
几个星期的课程设计,新闻发布系统开发基本完成,新闻发布的基本功能这个系统都已经具备了。在这个过程中我也碰见了许多的困难,但是通过老师的教导,同学们的帮助以及自己不断的翻阅资料,分析和改正错误,不断的调试系统,终于我们可以完成了,很是欣慰。
新闻发布系统的成功制作更是激发了我对学习网页语言的语言的热情,网页语言是我们必须要学的,这是一个好的开始,我对这些语言也越来越感兴趣了。
[1] 耿祥义.Java大学实用教程.电子工业出版社,2005/03
[2] 耿祥义.Java大学实用教程实验指导.电子工业出版社,2005/03
[3]张登辉.ASP编程基础及应用.机械工业出版社, 2003/03
[4] 王珊、陈红等.数据库和数据库管理系统.电子工业出版社,2008/12
[5] 孙一林.Java语言程序设计.北京:清华大学出版社,2001
[6] 殷兆麟..Java网络编程基础.北京大学出版社,2004
[7] 教育部考试中心.全国计算机等级考试大纲.北京:高等教育出版社,2004
[8] 孙燕.Java程序设计培训教程.北京:清华大学出版社,2002
[9] 林建铭.精通Java2.北京科学出版社,2001
[10] 温平进、张威等.Instant Java2 实例解析.北京:北京希望电子出版社,2002
酒店管理信息系统的分析、设计和实施随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店…
学院课程设计实训报告系部信息工程系专业软件技术班级学号姓名题客房管理系统指导教师报告成绩日期年月日1摘要1报告阐述了酒店管理系统的…
石家庄科技信息职业学院C程序设计课程设计实训报告系部信息工程系专业计算机软件专业班级学号姓名课题酒店管理系统指导教师报告成绩起讫日…
前言1报告阐述了酒店管理系统的整体开发过程对于设计思想和设计流程做出了全面的叙述对数据库中的各表之间的联系做出了详细的说明制定了系…
苏州市职业大学实习实训报告名称20xx年6月9日至20xx年6月21日共2周学院部计算机工程学院班级12信息管理3轨道姓名蔡云豪学…
XXXX年班子创“四好”工作总结XXXX:班长是标杆,班子是单位的车头和动力。XXXX年班子创“四好”工作坚持了以邓小平理论和“三…
今年以来,界首镇招商引资工作在县委、县政府的正确领导下,在县商务局的指导下,镇党委、政府加大招商引资力度,拓宽招商引资渠道,招商引…
河北分公司“3.15”客户服务活动总结报告一、“3.15”客服活动开展情况3.15期间,河北分公司及各地机构结合各地市场实际情况纷…
本学期,校务办在校领导的关心和支持下,在日常事务管理、后勤协助、学校宣传等各方面积极开展工作,认真履行了校务办的职能,发挥了校务办…
专业技术工作总结自20xx年x月毕业于武汉工程职业技术学院土木系建筑工程专业,20xx年x月进入武汉永铭建设集团工作。自参加工作以…