spring高级编程新闻发布系统报告.docx
- 文档编号:15263388
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:25
- 大小:203.64KB
spring高级编程新闻发布系统报告.docx
《spring高级编程新闻发布系统报告.docx》由会员分享,可在线阅读,更多相关《spring高级编程新闻发布系统报告.docx(25页珍藏版)》请在冰点文库上搜索。
spring高级编程新闻发布系统报告
Spring大作业
新闻发布系统
学号:
12325477
姓名:
萧云飞
目录
1系统功能说明
1.1系统简介……………………………………………………..3
1.2系统主要功能…………………………………………....3
1.3系统开发环境………………………………………………3
2系统设计
2.1系统总体设计……………………………………………….3
2.2界面设计………………………………………………………4
2.3数据库设计…………………………………………………..7
2.4主要功能模块………………………………………………..7
3关键技术与应用
3.1HTML5…………………………………………………………8
3.2jQuery………………………………………………………….9
3.3SpringDAO…………………………………………………..14
3.4SpringMVC……………………………………………………16
3.5系统实现过程中遇到的错误及其解决方法……..19
4总结与体会………………………………………………………….19
1系统功能说明
1.1系统简介
当今社会是一个信息化的社会,新闻作为信息的一部分,有着信息量大、类别繁多、形式多样等特点。
新闻发布系统由此提出,简单地说,新闻发布系统就是充当一个网络新闻媒介的功能,主要对新闻的管理功能。
随着网络的快速发展和普及,越来越多的用户习惯上网浏览新闻。
本系统的主要目的就是为用户提供一个方便、及时的网上新闻发布、浏览平台。
利用本系统,用户可以直接在网上发布新闻信息并根据自己的需要对新闻进行检索。
1.2系统主要功能
(一)用户管理员通过数据库连接进入系统。
(二)管理员可以增加管理员的登录。
(三)管理员和用户可以查询已发布的新闻。
.
1.3系统开发环境
Eclipse
H2数据库
JDK1.7
Tomcat8.0
2系统设计
2.1系统总体设计
2.1系统功能模块图
图2-1系统模块结构图
2.2界面设计
登陆界面
管理员界面
用户界面
管理员查询新闻界面
管理员添加user界面
用户查询新闻界面
用户编辑新闻界面
2.3数据库设计
数据库表
2.4主要功能模块
2.4系统功能模块图
图2-4系统模块结构图
3关键技术与应用
3.1HTML5
所有的jsp文件
3.2jQuery
Index.jsp
<%@pagepageEncoding="utf-8"%>
DOCTYPEhtml>
Web高级编程实验平台
body{text-align:
center;}
/*#system_logo_large{width:
800;height:
200;align:
center}*/
/*#login_form{margin-left:
auto;margin-right:
auto}*/
varc=document.getElementById("system_logo_large");
varctx=c.getContext("2d");
ctx.font="50pxVerdana";
//创建渐变
vargradient=ctx.createLinearGradient(0,0,c.width,0);
gradient.addColorStop("0.2","green");
gradient.addColorStop("0.8","yellow");
gradient.addColorStop("1.0","green");
ctx.strokeStyle=gradient;
ctx.lineWidth=3;
ctx.strokeText("新闻发布平台",200,150);
${msg}
账号:
密码:
管理员新闻人
writer.jsp
<%@pagepageEncoding="utf-8"%>
<%@taglibprefix="c"uri="
DOCTYPEhtml>
新闻发布平台
$(document).ready(function(){
$(".flip").click(function(){
$(".panel").slideDown("slow");
});
});
/*
#system_logo{width:
800;height:
200;align:
center}
#user_info{padding-left:
5px;padding-bottom:
10px;border-bottom:
1pxsolid#555555}
#menu{width:
200px;float:
left;font-size:
10pt}
#content{padding-left:
50px;border-left:
1pxsolid#555555;float:
left}
hr{height:
1px;border:
none;border-top:
1pxsolid#555555}
ul{list-style-type:
square}
ulli{padding-top:
10px}
a{color:
black;text-decoration:
none}
a:
hover{color:
red}
*/
#report{
padding:
.4em1em.4em20px;
text-decoration:
none;
position:
relative;
}
#reportspan.ui-icon{
margin:
05px00;
position:
absolute;
left:
.2em;
top:
50%;
margin-top:
-8px;
}
#dialogtextarea{
min-width:
95%;
min-height:
40%;
}
div.panel
{
height:
120px;
display:
none;
}
新闻天下
在这里,你可以尽情的挥洒你的文采
注意事项
varc=document.getElementById("system_logo");
varctx=c.getContext("2d");
ctx.font="20pxComicSansMs";
//创建渐变
vargradient=ctx.createLinearGradient(0,0,c.width,0);
gradient.addColorStop("0.2","green");
gradient.addColorStop("0.8","yellow");
gradient.addColorStop("1.0","green");
ctx.strokeStyle=gradient;
ctx.lineWidth=1;
ctx.strokeText("新闻发布平台-新闻人",0,30);
--
-->
学号:
${user.account},姓名:
${user.name}(退出)
编写新闻
--ui-dialog-->
varnewsnum=1;
functionnews(n){
//alert
(2);
$("#content_s").load("news",{num:
n});
newsnum=n;
}
news
(1);
prepareReportDialog("#dialog",function(){
$.post("saveReport",{
experimentId:
newsnum,
result:
$("#result").val(),
conclusion:
$("#conclusion").val()
}
);
});
$("#report").click(function(event){
$("#dialog").load("getReport",{experimentId:
newsnum});
$("#dialog").dialog("open");
});
3.3SpringDAO
UserDao.java
packagenews.dao;
importjava.util.List;
importnews.model.User;
publicinterfaceUserDao{
UserfindUser(Stringaccount,Stringpassword,inttype);
booleanaddad(Stringaccount,Stringpassword,Stringname);
}
UserDaoJdbcImpl.java
packagenews.dao;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.List;
importnews.model.Student;
importnews.model.User;
importorg.springframework.dao.EmptyResultDataAccessException;
importorg.springframework.jdbc.core.RowMapper;
importorg.springframework.jdbc.core.support.JdbcDaoSupport;
publicclassUserDaoJdbcImplextendsJdbcDaoSupportimplementsUserDao{
@Override
publicUserfindUser(Stringaccount,Stringpassword,inttype){
try{
if(type==0)
returnthis.getJdbcTemplate().queryForObject("selectaccount,password,namefromtuserswhereaccount=?
andpassword=?
",
newObject[]{account,password},
newRowMapper(){
@Override
publicUsermapRow(ResultSetrs,introwNum)throwsSQLException{
Useru=newUser();
u.setAccount(rs.getString
(1));
u.setPassword(rs.getString
(2));
u.setName(rs.getString(3));
u.setType(0);
returnu;
}
});
else
returnthis.getJdbcTemplate().queryForObject("selectstudentNo,password,name,clazzNofromstudentswherestudentNo=?
andpassword=?
",
newObject[]{account,password},
newRowMapper(){
@Override
publicUsermapRow(ResultSetrs,introwNum)throwsSQLException{
Studentu=newStudent();
u.setAccount(rs.getString
(1));
u.setPassword(rs.getString
(2));
u.setName(rs.getString(3));
u.setStudentNo(u.getAccount());
u.setClazzNo(rs.getString(4));
u.setType(0);
returnu;
}
});
}catch(EmptyResultDataAccessExceptione){
returnnull;
}
}
@Override
publicbooleanaddad(Stringaccount,Stringpassword,Stringname)
{
intflag=0;
System.out.println(account);
System.out.println(password);
System.out.println(name);
Stringsql="Insertintotusersvalues(?
?
?
)";
try{
flag=this.getJdbcTemplate().update(sql,
newObject[]{account,password,name});
}catch(Exceptionea){System.out.println("有重复的tuser,已取消!
!
!
");}
if(flag==1)
returntrue;
else
returnfalse;
}
}
3.4SpringMVC
Student.java
packagenews.model;
publicclassStudentextendsUser{
privateStringstudentNo;
//privateStringname;
privateStringclazzNo;
publicStudent(){
super.setType
(1);
}
publicStudent(StringstudentNo,Stringname,Stringpassword,StringclazzNo){
super(studentNo,name,password);
this.studentNo=studentNo;
this.clazzNo=clazzNo;
super.setType
(1);
}
publicStringgetStudentNo(){
returnstudentNo;
}
publicvoidsetStudentNo(StringstudentNo){
this.studentNo=studentNo;
}
publicStringgetClazzNo(){
returnclazzNo;
}
publicvoidsetClazzNo(StringclazzNo){
this.clazzNo=clazzNo;
}
}
代码说明:
这段代码应用了mvc中model技术。
HomeController.java
packagenews.controller;
importjava.util.List;
importjavax.servlet.http.HttpSession;
importnews.model.Report;
importnews.model.Student;
importnews.model.User;
importnews.service.LabService;
importnews.vo.ExperimentScore;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
importorg.springframework.ui.Model;
importorg.springframework.web.bind.annotation.RequestMapping;
@Controller
publicclassHomeController{
@Autowired
privateLabServicelabservice;
@RequestMapping("/")
publicStringindex(){
return"index";
}
//添加了session处理
@RequestMapping("/login")
publicStringlogin(Stringaccount,Stringpassword,inttype,
HttpSessionsession,Modelmodel){
Useruser=labservice.login(account,password,type);
if(user==null){
model.addAttribute("msg","账号或密码错误!
");
return"index";
}
else{
session.setAttribute("user",user);
if(type==1){
return"writer";
}
else
return"admin";
}
}
@RequestMappi