jsp新闻发布系统课程设计.docx
- 文档编号:4956858
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:36
- 大小:499KB
jsp新闻发布系统课程设计.docx
《jsp新闻发布系统课程设计.docx》由会员分享,可在线阅读,更多相关《jsp新闻发布系统课程设计.docx(36页珍藏版)》请在冰豆网上搜索。
jsp新闻发布系统课程设计
课程设计
课程名称
WEB技术
题目
新闻管理网站
系部
专业
班级
学号
学生姓名
任课教师
2015
年
12
月
18
日
摘要
大数据时代,能否准确快速的掌握更多的信息是事半功倍的关键。
网络的普及给人们值天下事提供了特殊便利的渠道。
本新闻管理系统注重与新闻浏览者的互操作性以及对新闻信息资源管理的操作性,采用JSP+MySQL数据库的架构实现。
新闻系统分为两大模块,分别是用户管理模块和管理员管理模块。
用户管理是友好的操作界面,供用户浏览、查询使用。
包括:
浏览新闻、查询新闻、评论新闻等功能;管理员模块是提供给管理员的,其中包括:
删除新闻、编辑新闻管理、添加新闻管理等。
使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。
第一章需求分析
1.1JSP简介
JavaSeverPage(简称JSP)是基于Java的技术,用于创建可支持跨平台及跨Web服务器的Web服务器端应用程序(即所谓的动态网页)。
它是由SunMicrosystem公司倡导,由多家公司合作而建立的一种动态网页技术标准,其网址为:
JSP正式发布于1999年6月,是基于JavaServlet以及整个Java体系的Web开发技术。
在传统的网页(即扩展名为.html的文件)中加入Java程序片(Scriplet)和JSP标记(tag)即可构成一个常规的JSP网页(其扩展名为.jsp)。
1.2新闻网站功能需求分析
在线新闻网站是现在广泛用于网上新闻的工具之一。
互联网新闻方便快捷,不受地域、时间的限制。
大数据时代,能否准确快速的掌握更多的信息是事半功倍的关键。
网络的普及给人们值天下事提供了特殊便利的渠道,新闻网站正是迎合这一社会需求应运而生的。
新闻网站主要提供了基本的用户注册,用户登录,浏览新闻,评论新闻等功能。
用户在使用浏览新闻,可以方便的使用这些简易的功能。
也为管理者提供了添加新闻、删除新闻、编辑新闻等功能使管理者能简单方便的有效管理新闻发布。
1.3开发及运行环境
1.3.1硬件平台
CPU:
Pentium42.0GHz以上
内存:
512MB以上容量
显卡:
32MB或以上显存之AGP接口显卡
1.3.2软件要求
操作系统:
Windows7旗舰版
运行环境:
Tomcat/jdk1.6
开发工具:
MyEclipse/MySQLSever5.0
第二章新闻发布网站
2.1网站结构设计
一个新闻网站应包含用户注册、管理员管理新闻两种功能。
网站设计结构如图2.1-1所示。
图2.1-1
2.2目标设计
在线新闻网站所要实现的功能如下。
●用户注册
◆用户注册信息
◆用户登录验证
◆用户查看新闻
◆用户评论新闻
◆用户注销
●管理员管理新闻网站
◆管理员登录
◆管理员查看新闻
◆添加新闻
◆编辑新闻
◆删除新闻
2.3系统功能分析与设计
在线新闻网站共分为两个模块:
用户查看模块和管理员修改模块,其功能模块划分如图2.3-1所示:
第三章数据库结构设计
根据系统功能设计要求和模块划分,本网站的数据库主要存储用户注册信息、新闻信息和评论信息。
3.1数据库需求分析
新闻网站主要包括以下数据项和数据结构。
1.用户注册信息:
user_id(自动编号)、用户名、密码。
2.新闻列表:
id(自动编号)、标题、作者、内容。
3.评论信息:
word_id(自动编号)、评论者姓名、评论内容、评论时间、所评新闻id和留言者id。
3.2数据库逻辑设计
3.2.1、用户注册信息表user_reg
如图3.2-1所示:
图3.2-1
3.2.2、新闻列表news
如图3.2-2所示:
图3.2-2
3.3.3、评论信息表
如图所示:
图3.3-3
第四章普通用户模块
网友注册模块包括一下几个子模块。
●用户注册:
◆index.jsp
◆checkuser.jsp
●用户登录验证:
◆logland.jsp
◆succ.jsp
◆userMain.jsp
◆leaverword.jsp
◆fail.jsp
◆logout.jsp
各页面直接的关系如图:
图4-1
4.1index.jsp
4.1.1页面示例
如图4.1-1为用户注册第一步所看到的页面
图4.1-1
4.1.2页面中需要填写的HTML表单元素
该页面中有2个需要填写的表单元素,如表4.1-1所示
名称
表单元素类型
含义
最大长度
user_name
text
用户登录名称
16
password
password
用户登录密码
16
表4.1-1
4.1.3页面所涉及的数据库表信息
此页面仅向系统提交用户注册名称和代码,并没有涉及到数据库表的操作。
4.1.4页面代码分析
--首先导入一些必要的packages-->
<%@pageimport="java.sql.*"%>
<%Stringuser_id=(String)session.getValue("user_id");
Stringuser_id1="1";
//如果管理员名称为空session.getValue("user_id")不等于1说明用户已经登录过,不能再注册用户
if(!
user_id.equals(user_id)&&user_id!
=null){
response.sendRedirect("havereg.htm");
}%>
4.2regsubmit.jsp
4.2.1页面示例
如图4.2-1为用户注册不成功看到的界面:
图4.2-1
4.2.2页面中需要填写的HTML表单元素
页面中无需填写HTML表单元素。
4.2.3页面所涉及的数据库表信息
页面中涉及到用户数据库表user_reg的操作。
4.2.4页面代码分析
<%
//转换由表单读取的数据的内码到GB2312
request.setCharacterEncoding("GB2312");
//取得提交表单的用户名和密码
Stringuser_name=request.getParameter("user_name");
Stringpword=request.getParameter("passssword");
//如果提交的密码为空提示错误,终止程序执行
if(pword==null){
out.print("数据有错!
");
}else{
Stringsql="select*frormscott.user_regwhereuser_name='"+user_name+"'";
//创建记录集对象,在用户表中查询用户是否存在
ResultSetrs=stmt.executeQuery(sql);
//在用户表中查询用户不存在
if(!
rs.next()){
//添加一条记录
stmt.executeUpdate("INSERTINTOscott.user_reg(user_id,user_name,pword)VALUES(scott.user_regid.nextval,'"+user_name+"','"+pword+"')");
Stringsql1="select*fromscott.user_regwhereuser_name='"+user_name+"'";
//取得用户的ID号
Resultrs1=stmt.executeQuery(sql1);
if(rs1.next()){
//将用户ID赋予session("user_id")
session.putValue("user_id",rs1.getString("user_id"));
response.sendRedirect("regok.jsp");
}
}else{
%>
}
4.3regok.jsp
4.3.1页面示例
如图4.3-1为用户注册成功所看到的页面
图4.3-1
4.3.2页面中需要填写的HTML表单元素
页面中无需填写HTML表单元素。
4.3.3页面所涉及的数据库表信息
此页面并没有涉及到数据库表的操作。
4.3.4页面代码分析
#660033">欢迎进入湖南商学院新闻网站
恭喜您,您已经成功提交申请!
请点击[继续]以浏览新闻
4.4logland.jsp
4.4.1页面示例
如图4.4-1为用户登录时所看到的界面。
图4.4-1
4.4.2页面中需要填写的HTML表单元素
页面中有两个需要用户填写的填写HTML表单元素,如表4.4-1。
名称
表单元素类型
含义
最大长度
user_name
text
用户登录名称
16
password
password
用户登录密码
16
表4.4-1
4.4.3页面所涉及的数据库表信息
此页仅向系统提交用户登录名称和密码,并没有涉及到数据库表的操作。
4.4.4页面代码分析
350px;height: auto;text-align: left;background-color: skyblue"> right">还没有账号? 200px"maxlength="6"/> red;font-size: 12px">*帐号只为6位 200px"maxlength="12"/> 30px;font-size: 16px"value="登录"/> 30px;font-size: 16px"value="重置"/> 4.5checkuser.jsp 4.5.1页面示例 此页为登录中转页面,无页面示例。 4.5.2页面中需要填写的HTML表单元素 此页为检查用户是否输入正确账号和密码登录,没有需要填写的HTML元素。 4.5.3页面所涉及的数据库表信息 此页是用户登录后进入的数据库判断,没有涉及到数据库表的操作。 4.5.4页面代码分析 <% Stringuname=request.getParameter("username"); Stringupwd=request.getParameter("password"); Stringsql="select*fromusinfowhereusername='"+uname +"'andpassword='"+upwd+"'"; %> <% Stringdriver="com.mysql.jdbc.Driver"; Stringurl="jdbc: mysql: //localhost: 3306/test"; try{ Class.forName(driver); Connectionconn=DriverManager.getConnection(url,"root", "123456"); Statementsmt=conn.createStatement(); ResultSetrs=smt.executeQuery(sql); if(rs.next()){ session.setAttribute("user",uname); response.sendRedirect("userMain.jsp"); }else response.sendRedirect("fail.jsp"); }catch(Exceptione){ out.print(e.getMessage()); } %> 4.6succ.jsp 4.6.1页面示例 此页为登录中转页面,无页面示例。 4.6.2页面中需要填写的HTML表单元素 此页为用户查看新闻页面,没有需要填写的HTML元素。 4.6.3页面所涉及的数据库表信息 此页是用户登录后进入的新闻列表,没有涉及到数据库表的操作。 4.6.4页面代码分析 <% if(session.getAttribute("user")==null){ %> 您没有登录,请 <%}else{%> 欢迎您,<%=session.getAttribute("user")%> <%} %><% if(session.getAttribute("user")==null){ %> 您没有登录,请 <%}else{%> 欢迎您,<%=session.getAttribute("user")%> <%} %> 4.7userMain.jsp 4.7.1页面示例 如图4.7-1为登录成功后所看到的页面效果 图4.7-1 4.7.2页面中需要填写的HTML表单元素 此页为用户查看新闻页面,没有需要填写的HTML元素。 4.7.3页面所涉及的数据库表信息 此页是用户登录后进入的新闻列表,没有涉及到数据库表的操作。 4.7.4页面代码分析 ///E: \JSP课程设计\CPweb\图片\myLOGO.jpg"style="width: 400px;height: 165px;"> ///E: \JSP课程设计\CPweb\图片\myLOGO.jpg"style="width: 400px;height: 165px;"> ///E: \JSP课程设计\CPweb\图片\myLOGO.jpg"style="width: 400px;height: 165px;"> 欢迎您,<%=session.getAttribute("user")%> <% Stringdriver="com.mysql.jdbc.Driver"; Stringurl="jdbc: mysql: //localhost: 3306/test"; Stringsql="select*fromnews"; try{ Class.forName(driver); Connectionconn=DriverManager.getConnection(url,"root", "123456"); Statementsmt=conn.createStatement(); ResultSetrs=smt.executeQuery(sql); while(rs.next()){ %> id=<%=rs.getInt (1)%>"class="STYLE7"><%=rs.getString("title")%> id=<%=rs.getInt (1)%>"class="STYLE7">评论 <% } %> <% }catch(Exceptione){ out.println(e.getMessage()); } %> 100px;heigth: 50px"/>