收藏 分销(赏)

广州大学华软软件学院企业javaII课程设计新闻联播.doc

上传人:精**** 文档编号:4627431 上传时间:2024-10-08 格式:DOC 页数:70 大小:3.82MB 下载积分:18 金币
下载 相关 举报
广州大学华软软件学院企业javaII课程设计新闻联播.doc_第1页
第1页 / 共70页
广州大学华软软件学院企业javaII课程设计新闻联播.doc_第2页
第2页 / 共70页


点击查看更多>>
资源描述
广州大学华软软件学院企业javaII课程设计新闻联播 - 66 - 2020年5月29日 文档仅供参考 广州大学华软软件学院 第六学期 <企业级JAVAⅡ>课程设计 题 目:新闻网、新闻网信息管理系统 专 业:网络应用软件开发 班 级:IB01 组 长:邓理安 组 员:方泓清 递交日期: 6月4日 目录 新闻网信息管理系统(后台) - 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 学号: 姓名:方泓清 学号: 姓名:邓理安 一、系统执行原理 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的action。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/ /XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 定义c3p0数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- 指定连接数据库驱动 --> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <!-- 指定连接数据库url --> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/newsmanage?useUnicode=true&amp;characterEncoding=utf-8" /> <property name="user" value="root" /> <property name="password" value="" /> </bean> <!-- 定义Hibernate的sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!-- 依赖注入上面所配置的数据源 --> <property name="dataSource" ref="dataSource" /> <!-- 使用mappingResource属性列出全部映射文件 --> <property name="mappingResources"> <list> <value>com/sise/s2sh/po/Admin.hbm.xml</value> <value>com/sise/s2sh/po/News.hbm.xml</value> </list> </property> <!-- 配置Hibernate的sessionFactory的属性 --> <property name="hibernateProperties"> <props> <!-- 指定使用方言 --> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <!-- 是否在控制台输出hql语句 --> <prop key="show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.jdbc.batch_size">20</prop> </props> </property> </bean> <!-- 定义事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 定义事务管理拦截器 --> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 定义代理自动管理事务 --> <bean id="ProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!-- 指定需要Spring管理事务的Bean --> <property name="beanNames"> <list> <value>adminService</value> <value>newsService</value> </list> </property> <!-- 调用事务管理拦截器 --> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> <!-- 配置HibernateTemplate --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 依赖注入 --> <bean id="adminService" class="com.sise.s2sh.service.impl.AdminServiceImpl"> <property name="adminDao" ref="adminDao" /> </bean> <bean id="newsService" class="com.sise.s2sh.service.impl.NewsServiceImpl"> <property name="newsDao" ref="newsDao" /> </bean> <bean id="adminDao" class="com.sise.s2sh.dao.impl.AdminDaoImpl"> <property name="hibernateTemplate" ref="hibernateTemplate" /> </bean> <bean id="newsDao" class="com.sise.s2sh.dao.impl.NewsDaoImpl"> <property name="hibernateTemplate" ref="hibernateTemplate" /> </bean> <bean id="login" class="com.sise.s2sh.action.admin.Login"> <property name="adminService" ref="adminService" /> </bean> <bean id="newnews" class="com.sise.s2sh.action.news.NewNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="findNews" class="com.sise.s2sh.action.news.findNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="findRangeNews" class="com.sise.s2sh.action.news.FindRangeNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="firstPage" class="com.sise.s2sh.action.news.FirstNewsPage"> <property name="newsService" ref="newsService" /> </bean> <bean id="previousOrNextPage" class="com.sise.s2sh.action.news.PreviousOrNextNewsPage"> <property name="newsService" ref="newsService" /> </bean> <bean id="lastPage" class="com.sise.s2sh.action.news.LastNewsPage"> <property name="newsService" ref="newsService" /> </bean> <bean id="findOneNews" class="com.sise.s2sh.action.news.findOneNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="updateNews" class="com.sise.s2sh.action.news.UpdateNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="deleteOneNews" class="com.sise.s2sh.action.news.DeleteOneNews"> <property name="newsService" ref="newsService" /> </bean> <bean id="changepwd" class="com.sise.s2sh.action.admin.ChangePwd"> <property name="adminService" ref="adminService" /> </bean> <bean id="createadmin" class="com.sise.s2sh.action.admin.Createadmin"> <property name="adminService" ref="adminService" /> </bean> <bean id="logout" class="com.sise.s2sh.action.admin.Logout" /> </beans> ②struts.xml(位于NewsManage/src目录下)用于管理应用中的action映射,以及action包含的result定义等。主要配置struts项目的一些全局属性,用户和响应action之间的对应关系,以及配置action中可能用到的参数、处理结果返回页面,还有拦截器的配置等。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml" /> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.custom.i18n.resources" value="Messages" /> <package name="default" extends="struts-default"> <!-- 自定义拦截器 --> <interceptors> <interceptor name="SessionInterceptor" class="com.sise.s2sh.action.interceptors.SessionInterceptor" /> </interceptors> <global-results> <result name="loginPage">/sessionNull.jsp</result> </global-results> <action name="loginValidate" class="com.sise.s2sh.action.validators.LoginValidate"> <result name="input">/login.jsp</result> <result type="chain">login</result> </action> <action name="login" class="login"> <result>/index.jsp</result> <result name="error">/login.jsp</result> </action> <action name="newnewsValidate" class="com.sise.s2sh.action.validators.NewnewsValidate"> <result name="input">/newsSystem/newsManage/news_add.jsp</result> <result type="chain">newNews</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="newNews" class="newnews"> <result name="success" type="redirect">findNews.action</result> <result name="addnewsError">/newsSystem/newsManage/news_add.jsp</result> <result name="invalid.token">/newsSystem/newsManage/news_add.jsp</result> <!-- 限制页面重复提交 --> <interceptor-ref name="defaultStack" /> <interceptor-ref name="tokenSession" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="findNews" class="findNews"> <result>/newsSystem/newsManage/news_m.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="findRangeNews" class="findRangeNews"> <result>/newsSystem/newsManage/news_m.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="firstPage" class="firstPage"> <result>/newsSystem/newsManage/news_m.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="previousOrNextPage" class="previousOrNextPage"> <result>/newsSystem/newsManage/news_m.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="lastPage" class="lastPage"> <result>/newsSystem/newsManage/news_m.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="findOneNews" class="findOneNews"> <result>/newsSystem/newsManage/news_edit.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="showOneNews" class="findOneNews"> <result>/newsSystem/newsManage/news_see.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="updatenewsValidate" class="com.sise.s2sh.action.validators.UpdateNewsValidate"> <result name="input">/newsSystem/newsManage/news_edit.jsp</result> <result type="chain">updateNews</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="updateNews" class="updateNews"> <result name="success" type="redirect">findNews.action</result> <result name="invalid.token">/newsSystem/newsManage/news_edit.jsp</result> <!-- 限制页面重复提交 --> <interceptor-ref name="defaultStack" /> <interceptor-ref name="tokenSession" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="deleteOneNews" class="deleteOneNews"> <result name="success" type="redirect">findNews.action</result> <result name="deletenewserror" type="chain">findNews</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="changepwdValidate" class="com.sise.s2sh.action.validators.ChangePwdValidate"> <result name="input">/newsSystem/adminManage/pwd_change.jsp</result> <result type="chain">changepwd</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="changepwd" class="changepwd"> <result name="success"> /newsSystem/adminManage/pwd_changesuccess.jsp </result> <result name="pwderror">/newsSystem/adminManage/pwd_change.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="createadminValidate" class="com.sise.s2sh.action.validators.CreateAdminValidate"> <result name="input">/newsSystem/adminManage/admin_add.jsp</result> <result type="chain">createadmin</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="createadmin" class="createadmin"> <result>/newsSystem/adminManage/admin_addsuccess.jsp</result> <result name="createAdminError">/newsSystem/adminManage/admin_add.jsp</result> <interceptor-ref name="defaultStack" /> <interceptor-ref name="tokenSession" /> <interceptor-ref name="SessionInterceptor" /> </action> <action name="logout" class="logout"> <result type="redirect">/login.jsp</result> </action> </package> </struts> ③web.xml(位于NewsManage/WebRoot/WEB-INF目录下)web容器的配置文件。用于指定应用程序的开始页面、注册和指定任何应用程序的过滤器filter、监听器listener、指定应用上下文初始参数的名/值、为servlet注册和创立URL等。 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns=" xmlns:xsi="http://www.w3.org/ /XMLSchema-instance" xsi:schemaLocation=" <welcome-file-list> <welcome-file>/login.jsp</welcome-file> </welcome-file-list> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>safecode</servlet-name> <servlet-class>com.sise.s2sh.util.SafeCode</servlet-class> </servlet> <servlet-mapping> <servlet-name>safecode</servlet-name> <url-pattern>/safecode</url-pattern> </servlet-mapping> </web-app> 2.系统各功能模块设计与实现 ①登录功能 ·管理员访问登录页面(login.jsp)进入登录界面并输入用户名、密码和验证码,由系统进行 判断(首先判断验证码是否正确,若正确则进一步判断用户名和密码,否则提示相应信息),如果为合法用户则进入系统界面,否则提示相应信息。登录同时将保存当前管理员信息到session对象中,如果管理员直接访问系统主页面(index.jsp)将获取不到用户名,此时会跳转回登录页面并提示相应信息。 ·运行界面如图1-3-1: 图1-3-1 ·关键代码如下: @Override public 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信息存入session session.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.set
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服