




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业级JAVA课程设计文档广州大学华软软件学院2012年第六学期企业级JAVA课程设计题 目:新闻网、新闻网信息管理系统专 业:网络应用软件开发班 级:IB01组 长:邓理安组 员:方泓清递交日期:2012年6月4日- 39 -目录新闻网信息管理系统(后台)- 1 -一、系统执行原理- 2 -二、系统功能需求- 2 -1、系统功能描述- 2 -三、数据库设计- 4 -1、数据库使用MY SQL。 2、相关各数据库表:- 4 -1、公共模块设计与实现- 5 -2.系统各功能模块设计与实现- 13 -新闻联播新闻网(前台)- 29 -一、系统执行原理- 29 -二、系统功能需求- 30 -三、数据库设计- 31 -1、数据库使用MY SQL。 2、相关各数据库表:- 31 -四、系统实现- 33 -1、公共模块设计与实现- 33 -系统各功能模块设计与实现- 38 -五、附录- 60 -新闻网信息管理系统(后台) 上课班级:IB01 学号:0940111147 姓名:方泓清 学号:0940111145 姓名:邓理安一、系统执行原理1.客户机将HTTP请求发送给Web服务器2.Web服务器将该请求转发给struts.xml 3.在struts.xml中的action的type实现spring的请求代理4.在spring的配置文件中对action类进行注入5.action类中注入sevice,service中注入dao,当服务器启动时,spring对类自动设置。6.执行顺序从action -service-dao,然后返回。7.action将响应发送给Web服务器8.Web服务器将响应转发给客户机二、系统功能需求1、 系统功能描述 角色:管理员 功能描述: (1)身份验证功能:管理员只有成功登录后才可进入系统管理新闻以及相关信息。其流程图如图1-1-1所示: 图1-1-1 (2)管理员:可增加、修改、删除、查询新闻信息;可修改密码、增加管理员。 其流程图如图1-1-2所示: 图1-1-2三、数据库设计 1、数据库使用MY SQL。 2、相关各数据库表: 管理员表admin(如图1-2-1) 图1-2-1 新闻信息表news(如图2-2) 图1-2-2四、系统实现 1、公共模块设计与实现 applicationContext.xml(位于NewsManage/WebRoot/WEB-INF目录下)用于管理数据库连接、Hibernate的sessionFactory、事务管理以及struts2的/sise/s2sh/po/Admin.hbm.xmlcom/sise/s2sh/po/News.hbm.xmlorg.hibernate.dialect.MySQLDialecttrueupdate20PROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIREDadminServicenewsServicetransactionInterceptor struts.xml(位于NewsManage/src目录下)用于管理应用中的action映射,以及action包含的result定义等。主要配置struts项目的一些全局属性,用户和响应action之间的对应关系,以及配置action中可能用到的参数、处理结果返回页面,还有拦截器的配置等。 /sessionNull.jsp/login.jsplogin/index.jsp/login.jsp/newsSystem/newsManage/news_add.jspnewNewsfindNews.action/newsSystem/newsManage/news_add.jsp/newsSystem/newsManage/news_add.jsp/newsSystem/newsManage/news_m.jsp /newsSystem/newsManage/news_m.jsp /newsSystem/newsManage/news_m.jsp /newsSystem/newsManage/news_m.jsp /newsSystem/newsManage/news_m.jsp/newsSystem/newsManage/news_edit.jsp/newsSystem/newsManage/news_see.jsp/newsSystem/newsManage/news_edit.jspupdateNewsfindNews.action/newsSystem/newsManage/news_edit.jsp findNews.action findNews /newsSystem/adminManage/pwd_change.jspchangepwd/newsSystem/adminManage/pwd_changesuccess.jsp/newsSystem/adminManage/pwd_change.jsp/newsSystem/adminManage/admin_add.jspcreateadmin/newsSystem/adminManage/admin_addsuccess.jsp/newsSystem/adminManage/admin_add.jsp/login.jsp web.xml(位于NewsManage/WebRoot/WEB-INF目录下)web容器的配置文件。用于指定应用程序的开始页面、注册和指定任何应用程序的过滤器filter、监听器listener、指定应用上下文初始参数的名/值、为servlet注册和创建URL等。/login.jsporg.springframework.web.context.ContextLoaderListenerstruts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*safecodecom.sise.s2sh.util.SafeCodesafecode/safecode2.系统各功能模块设计与实现 登录功能 管理员访问登录页面(login.jsp)进入登录界面并输入用户名、密码和验证码,由系统进行 判断(首先判断验证码是否正确,若正确则进一步判断用户名和密码,否则提示相应信息),如果为合法用户则进入系统界面,否则提示相应信息。登录同时将保存当前管理员信息到session对象中,如果管理员直接访问系统主页面(index.jsp)将获取不到用户名,此时会跳转回登录页面并提示相应信息。运行界面如图1-3-1: 图1-3-1关键代码如下:Overridepublic String execute() throws Exception HttpSession session = ServletActionContext.getRequest().getSession();if (session.getAttribute(rand) = null) return ERROR;/ 获得图形校验码String sf = (String) session.getAttribute(rand);/ 如果图形校验码正确,判断帐号、密码是否正确if (sf.equals(safecode) Admin admin = adminService.findAdmin(name, password);if (admin = null) addActionError(getText(loginerror);return ERROR; else / 将admin信息存入sessionsession.setAttribute(admin, admin);session.setAttribute(name, admin.getName();session.setAttribute(previousLogintime, admin.getLogintime();/ 获得当前系统时间并格式化,存入管理员登录时间Date date = Calendar.getInstance().getTime();SimpleDateFormat formatter = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String dateString = formatter.format(date);admin.setLogintime(dateString);/ 更新管理员登录时间信息adminService.updatelogintime(admin);return SUCCESS; else addActionError(getText(codeerror);return ERROR;其中,各表单域均有对应的表单验证,后台使用struts2表单验证框架。验证返回信息统一由项目src目录下的Mperties保存。系统主页面管理员通过登录进入系统,运行界面如图1-3-2: 图1-3-2系统界面分上、下、左、右四个部分。右上方显示登录折系统管理员用户名以及上次登录时间,在安全方面有一定作用。右上角为退出按钮,可安全退出系统。左方为选择列表栏,可选择相应模块进行管理。右方为欢迎界面,显示一些基本信息。关键代码如下:(实现管理员用户名以及上次登录时间代码请看上方登录功能代码) 显示管理员、管理员上次登录时间关键代码:(详细代码请查看项目NewsManage/WebRoot/admin_top.jsp)欢迎! 您上次登录时间: 安全退出系统关键代码:(详细代码请查看项目NewsManage/src/com.sise.s2sh.action.admin/Logout.java)public String execute() throws Exception HttpSession session = ServletActionContext.getRequest().getSession();session.invalidate();return SUCCESS;管理员管理模块(修改密码)选择管理员管理修改密码,运行界面如图1-3-3: 图1-3-3关键代码如下:实现功能关键代码(详细代码请查看项目NewsManage/src/com.sise.s2sh.action.admin/ChangePwd.java和NewsManage/src/com.sise.s2sh.dao.impl /AdminDaoImpl.java)public String execute() throws Exception HttpSession session = ServletActionContext.getRequest().getSession();/从session获得当前登录管理员信息Admin admin = (Admin)session.getAttribute(admin);/判断旧密码是否正确if (admin.getPassword().equals(password) admin.setPassword(newpwd1);/更新管理员密码信息adminService.changepwd(admin);return SUCCESS;elseaddActionError(getText(oldpswerror);return PWDERROR;public void changepwd(Admin admin) hibernateTemplate.update(password, admin);此模块同样拥有由struts2表单验证框架实现的表单验证,只有在旧密码输入正确,两次输入的新密码相同时修改密码操作才能成功。管理员管理模块(创建新管理员)选择管理员管理新管理员,运行界面如图1-3-4: 图1-3-4关键代码如下:实现功能关键代码(详细代码请查看项目NewsManage/src/com.sise.s2sh.action.admin/Createadmin.java和NewsManage/src/com.sise.s2sh.dao.impl /AdminDaoImpl.java)public String execute() throws Exception /通过用户名查找管理员信息Admin a = adminService.findAdminByName(name);/如果不为空,说明已经存在if (a != null) addActionError(getText(adminexist);return CREATEADMINERROR; else Date date = Calendar.getInstance().getTime();SimpleDateFormat formatter = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String dateString = formatter.format(date);Admin admin = new Admin();admin.setName(name);admin.setPassword(newpwd1);admin.setLogintime(dateString);adminService.addAdmin(admin);return SUCCESS;SuppressWarnings(unchecked)public Admin findAdminByName(String name) String sql = from Admin as admin where =?;List list = hibernateTemplate.find(sql, name);if (list != null & list.size() 0)return list.get(0);elsereturn null;public void addAdmin(Admin admin) hibernateTemplate.save(admin);此模块同样拥有由struts2表单验证框架实现的表单验证,只有在各表单域输入内容符合要求时新建管理员操作才能成功。如果管理员已经存在,则操作无效。通过查找指定管理员用户名,如果不为空说明新建的管理员暂未存在,此时操作可进行。新闻常规管理模块(新增新闻)选择新闻常规管理新增新闻,运行界面如图1-3-5: 图1-3-5关键代码如下:实现功能关键代码(详细代码请查看项目NewsManage/src/com.sise.s2sh.action.news/NewNews.java和NewsManage/src/com.sise.s2sh.dao.impl /NewsDaoImpl.java)private static final String ADDNEWSERROR = addnewsError;SuppressWarnings(unchecked)public String execute() throws Exception HttpSession session = ServletActionContext.getRequest().getSession();/ 获得当前系统时间并格式化,存入创建新闻时间Date date = Calendar.getInstance().getTime();News news = new News();news.setTitle(title);news.setSource(source);news.setContent(content);news.setType(type);news.setAdminName(Admin) session.getAttribute(admin).getName();news.setIssue_time(date);List list = newsService.findNewsByTitle(news);if (list != null) addActionError(getText(newsexist);return ADDNEWSERROR; else newsService.addNews(news);return SUCCESS;S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产40万立方米加气混凝土砌块生产线建设项目可行性研究报告
- 港口可行性研究报告
- 林场公路建设项目可行性研究报告
- 二零二五年度生态宜居房地产商品房买卖合同书
- 二零二五年度离婚协议债务偿还及监督协议范本
- 二零二五年度定制化货物汽车运输服务合同
- 二零二五年高净值客户定制化委托理财服务协议
- 2025版钢结构工程竣工验收与维护保养合同
- 二零二五年度互联网金融服务承包经营协议书范本
- 二零二五年度抵债资产处置与回购协议样本
- 2025高级会计师考试试题及答案
- 2025-2030中国特高压电网建设规划与设备需求分析报告
- 2026版赢在微点顶层设计大一轮物理-专题提升二十 测量电阻的其他几种方法
- 民族文化宫2025年公开招聘17人笔试模拟试题含答案详解
- 光传输业务配置课件
- 2025年幼儿园教师专业考试试题及答案书
- 机关事业单位工人汽车驾驶员高级、技师国家题库练习题及答案
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 2025年青海辅警招聘考试题及答案
- 初中英语新课程标准测试试题及答案3套
- 科技项目申报专员系列培训(技术攻关项目)
评论
0/150
提交评论