欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    javaweb毕业论文.doc

    • 资源ID:34784207       资源大小:1.18MB        全文页数:38页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    javaweb毕业论文.doc

    摘要计算机的出现带给人们的生产生活一次全新的革命,提高了人们的工作效率。而计算机网络则给人们之间信息的交流带来了极大的便利,丰富了人们获取知识的途径。现如今,远程教育在网络上大肆流行,由于其投资小,限制小与自由便利等特点广受人们的青睐。本设计采用软件工程中结构化思想,采用标准的软件设计流程,从可行性研究、需求分析、系统设计以与系统实现和测试等步骤来开发网校系统,本文运用软件工程原理和软件开发方法,对本应用进行了概要设计和详细设计。该应用操作简便、界面友好、灵活、实用、安全,可以满足不同爱好学习者的要求,本文详细介绍了网校系统上开发的设计背景,设计思路以与实现方法,着重说明了该应用的创新点、突破点、用户的体验要求和应用的实际运行情况。围绕该应用的实际使用情况来对该应用进行分析设计。关键词:网校系统;远程教育;计算机;学习ABSTRACT The computer is to bring people's production and living a new revolution, to improve people's working efficiency. The computer network is to exchange information between people has brought great convenience, enriching the way people acquire knowledge. Today, distance education pandemic on the network, because of its small investment, small and restricted freedom of convenience and so well received by people of all ages. The design uses a structured software engineering thinking, the use of standard software design process, from feasibility studies, needs analysis, system design and system implementation and testing steps to develop e-campus system, paper uses software engineering principles and software development methods, this application outline design and detailed design. The application is simple, user-friendly, flexible, practical, safe, loving learners meet different requirements, on-campus paper describes the design of the system development background, design ideas and implementation, highlighting the innovations of the application, breaking point, the user's actual operation experience requirements and applications. Around the actual usage of the application to the analysis and design applications. Keywords:Campus system; distance education; computers; learning 目录第一章概述01.1系统的开发背景以与意义 1 1.1.1 开发背景. 1 1.1.2 开发意义. 1 1.2系统的国外研究以与应用情况. 1 1.3系统目标以与主要容. 1 1.4系统要解决的问题. 2 第二章系统的架构. 32.1系统开发平台. 3 2.2系统的运行环境. 3 2.3技术路线. 3 第三章系统的功能和设计. 53.1系统功能模块概述和分析. 5 3.2系统功能模块设计. 7 3.2.1前台设计与实现 . 7 3.2.2后台设计与实现 . 7 3.4程序代码设计. 8 3.4.1数据访问层的代码封装8 3.4.2.通用工具类12 3.4.3相关配置文件13 3.4.4单元测试类18 第四章测试. 20 4.1功能测试. 20 4.2测试方法与测试结果分析. 20 第五章结论. 22 5.1项目开发结果. 22 5.2尚存在的问题. 22 参考文献. 错误 !未定义书签。附录. 24 致 . 32 第一章概述1.1系统的开发背景以与意义1.1.1 开发背景计算机的出现带给人们的生产生活一次全新的革命,提高了人们的工作效率。而计算机网络则给人们之间信息的交流带来了极大的便利,丰富了人们获取知识的途径。现如今,远程教育在网络上大肆流行,由于其投资小,限制小与自由便利等特点广受人们的青睐。1.1.2 开发意义所谓的网络教育或者网校,是在网络环境下,以现代的教育思想和学习理论为指导,充分发挥网络的各种教育功能和丰富的网络教育资源优势,向受教育者提供一种网络教和学的环境,传递数字化容。但由于学习系统设计质量参差不齐与理论研究欠缺等等。网校作为一种与学习者交互最直接的工具,设计和开发一款运行稳定,界面美观的学习系统无疑变得非常迫切重要。1.2系统的国外研究以与应用情况随着全球化趋势不断加强,在当今知识大爆炸的世界,如何更好的学习便尤为重要。网校是通过互联网实现校外教学的完整过程;只要具备上网条件即可以在任何时间、任何地点接入互联网,自主地选择学习容。相对于面授教育而言,网络教育最大限度地突破了教育的时空限制,是师生分离、非面对面组织的教学活动,是一种跨学校、跨地区的教育体制和教学模式。1.3系统目标以与主要容 一. 建立起学校的网上名片,塑造基于互联网的学校教育品牌形象; 一. 建立起教学信息和资源的网上便捷共享平台,实现教育教学资源的有效整合; 一. 良好的资讯展示形式,实现校务信息、资讯的透明公开; 一. 建立多种教学基地,实现多种手段辅助教学(如:视频教学、PPT教学)一. 健全学校网校安全机制,保证信息的安全与可读性;一. 提高用户浏览、使用体验。一. 1.4系统要解决的问题对前台的美化、布局。以与 jquery,Ajax,easeui等前台框架的应用,并能很好的掌握前后台的交互;根据该系统自主学习的特征,重点对支持自主互动学习环境进行设计,主要容包括:教学计划,教学大纲,课程选择,重点难点,在线自测,上传下载,答疑系统,常见问题 FAQ,留言表,调查表等第二章系统的架构2.1系统开发平台系统的开发是在 Tomcat 环境下进行的。Tomcat 是一个免费的开源的 Servlet 容器,它是 Apache 基金会的 Jakarta 项目中的一个核心项目,由 Apache,Sun 和其它一些公司与个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规总能在Tomcat 中得到体现。Tomcat 被 Java World 杂志的编辑选为 2001 年度最具创新的 Java 产品,可见其在业界的地位。Tomcat 的环境主要有以下几方面技术优势:1Tomcat 中的应用程序是一个 WAR(Web Archive)文件。WAR 是 Sun 提出的一种Web 应用程序格式,与 JAR 类似,也是许多文件的一个压缩包。2在Tomcat 中,应用程序的部署很简单,你只需将你的WAR 放到Tomcat 的webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。3Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 html页面。4Tomcat 也可以与其它一些软件集成起来实现更多的功能。2.2系统的运行环境操作系统:Windows XP 以上版本。服务器软件:Tomcat6.0 以上版本。浏览器:IE、Fire Fox、Google Chrome。2.3技术路线在与其他同类编程语言想比较之下,Java具有开发速度快、可移植、面向对象、可扩展性强、开源自由等特点,逐渐成为 web开发领域的主流技术。就本设计而言,用户通过浏览器访问本系统,高效的执行效率是提高用户体验的重要因素。选择用 CSS+HTML+easyUI设计界面,一些特别的显示效果使用 JavaScript和 jQuery等技术实现了一个很好的用户界面。基于 Struts2+Spring+Hibernate架构目前已经成为 J2EE轻量级架构开发的主题,struts最为基于 MVC设计模式的 web应用的一种典型体现,借助标签、动态表单等相关技术,使项目实现的更简单,更高效,更方便。Spring提供了一种轻量级 Ioc容器,该容器负责创建、管理应用组建。Hibernate是采用 ORM映射机制的持久层开发工具,它是 Java应用和关系数据库之间的桥梁,负责Java对象和关系数据的映射。采用 SSH架构快速构建web系统,能使系统结构清晰,同时具备很好的可扩展性和可维护性,大大提高了 web系统的可重用性。图 3-2 前台结构图1. 2系统功能模块设计2. 2.1前台设计与实现 1.登录、注册用户可以浏览信息,但要参与学生必须登录,没有账号可以注册,若注册后忘记密码,系统会通过电子的方式给会员找回密码。 2.课程选择用户可以根据一级分类、二级分类、三级分类以与课程名称、上课老师等信息检索所需要的课程信息。 3.在线自测会员学习完课程后可以选择进行在线自测。 4.调查表会员可以参加系统的调查表,将不满意的信息反馈。 5.FAQ 常见问题专门解答。3.2.2后台设计与实现1.系统管理:实现对管理员管理、会员管理、教师管理、学校管理、角色管理的添加、删除、修改、查询,同时超级管理员可以对普通管理员分配权限;上传图片等。 2.资源管理:实现一级分类管理、二级分类管、三级分类管理、课程管理、课时管理的添加、删除、修改、查询 3.个人设置:修改个人信息、修改密码4.前台管理:FAQ分类管理、FAQ问题管理、调查表管理、调查表问题管理,同时可以对调查表进行图表分析3.4程序代码设计3.4.1数据访问层的代码封装 /* baseDao的实现类 author lujiangfei * param <T> */ public class BaseDaoImpl<T> implements BaseDao<T> private Class<T> clazz = null; Resource private SessionFactory sessionFactory; SuppressWarnings("unchecked") public BaseDaoImpl() / 通过反射得到 T的真实类型 ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();/得到带泛型的超类 this.clazz = (Class<T>) pt.getActualTypeArguments()0; Override public void save(T entity) getSession().save(entity); Override public void delete(Integer id) getSession().delete(getSession().get(clazz, id); Override public void update(T entity) getSession().update(entity); SuppressWarnings("unchecked") public T getById(Integer id) if(id=null) return null; return (T) getSession().get(clazz, id); SuppressWarnings("unchecked") public List<T> getByIds(Integer ids) return getSession() .createQuery("from "+clazz.getSimpleName()+" where id in (:id)")/ .setParameterList("id", ids)/ .list(); SuppressWarnings("unchecked") public List<T> getAll() return getSession().createQuery("from "+clazz.getSimpleName().list(); protected Session getSession() return sessionFactory.getCurrentSession(); Override public PageBean getPageBean(int pageNum, HqlHelper hqlHelper) int pageSize = Configuration.getPageSize(); List<Object> parameters = hqlHelper.getParameters(); / 查询本页的数据列表 Query listQuery = getSession().createQuery(hqlHelper.getQueryListHql(); if (parameters != null && parameters.size() > 0) / 设置参数 for (int i = 0; i < parameters.size(); i+) listQuery.setParameter(i, parameters.get(i); listQuery.setFirstResult(pageNum - 1) * pageSize); listQuery.setMaxResults(pageSize); List list = listQuery.list(); / 执行查询/ 查询总记录数 Query countQuery = getSession().createQuery(hqlHelper.getQueryCountHql(); if (parameters != null && parameters.size() > 0) / 设置参数 for (int i = 0; i < parameters.size(); i+) countQuery.setParameter(i, parameters.get(i); Long count = (Long) countQuery.uniqueResult(); / 执行查询 return new PageBean(pageNum, pageSize, list, count.intValue(); Override public void deleteByIds(Integer ids) for(int i=0;i<ids.length;i+) this.delete(idsi); /* basedao封装操作数据库的基本方法 author lujiangfei * param <T> */ public interface BaseDao<T> /* 添加 param entity */ void save(T entity); /* 删除 param id */ void delete(Integer id); /* 批量删除 param ids */ void deleteByIds(Integer ids); /* 更新 param entity */ void update(T entity); /* 取得 param id return */ T getById(Integer id); /* 根据 Ids取得 list param ids return */ List<T> getByIds(Integer ids); /* 获取 return */ List<T> getAll(); /* 获取分页的信息 param pageNum param hqlHelper return */ PageBean getPageBean(int pageNum, HqlHelper hqlHelper); 3.4.2.通用工具类 public class JsonUtil /* 将对象转换成 json param o param str return */ public static String convert2Json(Object o,String .str) JsonConfig config = new JsonConfig(); config.setExcludes(str); return JSONArray.fromObject(o, config).toString(); /* Map工具类, 快速构造 map author lujiangfei * */ public class Maps /* 功能描述:构造一个HashMap, key为String, value为Object param keyValues 键1:值1, 键2:值2的数组结构, 注意key必须为String类型 return */ public static <T> Map<String, Object> create(Object. keyValues) return create(String.class, keyValues); /* 12 / 38 功能描述:构造一个 HashMap param keyType 构造 map的 key的类型 param keyValues 键1:值1, 键2:值2的数组结构 return */ SuppressWarnings("unchecked") public static <T> Map<T, Object> create(Class<T> keyType, Object. keyValues) Map<T, Object> map = new HashMap<T, Object>(); for (int i = 0; i < keyValues.length; i+) map.put(T) keyValuesi, keyValuesi+1); i+; return map; 3.4.3相关配置文件struts.xml配置信息 <struts> <!- 开发模式,重新加载文件 -> <constant name="struts.devMode" value="true"> </constant> <!- 配置扩展名-> <constant name="struts.action.extension" value="action"></constant> <!- 设置编码,可以不写,默认为 UTF-8 -> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!- 配置主题 -> <constant name="struts.ui.theme" value="simple"></constant> <!- 让OGNL中可以使用静态的方法 -> <constant name="struts.ognl.allowStaticMethodAccess" value="true" /> <package name="struts2" namespace="/" extends="struts-default"> <interceptors> <!- 声明一个拦截器 -> <interceptor name="checkePrivilege" class=".ibm.ljf.interceptor.CheckPrivilegeIntercepter"></interceptor> <!- 重新定义 defaultStack拦截器栈,需要先判断权限 -> <interceptor-stack name="defaultStack"> <interceptor-ref name="checkePrivilege" /> <interceptor-ref name="defaultStack" /> </interceptor-stack> </interceptors> <!- 全局配置 -> <global-results> <result name="loginUI">/WEB-INF/jsp/adminAction/loginUI.jsp</result> <result name="success">/success.jsp</result> <result name="noPrivilegeError">/noPrivilegeError.jsp</result> </global-results> <!- 主页面配置 -> <action name="home_*" class="homeAction" method="1"> <result name="1">/WEB-INF/jsp/homeAction/1.jsp</result> </action> <!- 管理员配置 -> <action name="admin_*" class="adminAction" method="1"> <result name="list">/WEB-INF/jsp/adminAction/list.jsp</result> <result name="toList" type="redirectAction">admin_list</result> <result name="addUI">/WEB-INF/jsp/adminAction/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/adminAction/editUI.jsp</result> <result name="editPwdUI">/WEB-INF/jsp/adminAction/editPwdUI.jsp</result> <result name="index" type="redirect">/index.jsp</result> <result name="logOut">/WEB-INF/jsp/adminAction/logout.jsp</result> </action> <!- 会员配置 -> <action name="user_*" class="userAction" method="1"> <result name="list">/WEB-INF/jsp/userAction/list.jsp</result> <result name="toList" type="redirectAction">user_list</result> <result name="addUI">/WEB-INF/jsp/userAction/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/userAction/editUI.jsp</result> <result name="editPwdUI">/WEB-INF/jsp/userAction/editPwdUI.jsp</result> <result name="index" type="redirect">/index.jsp</result> <result name="logOut">/WEB-INF/jsp/userAction/logout.jsp</result> <result name="mngIndex">/WEB-INF/mng/index.jsp</result> </action> <!- 教师配置 -> <action name="teacher_*" class="teacherAction" method="1"> <result name="list">/WEB-INF/jsp/teacherAction/list.jsp</result> <result name="toList" type="redirectAction">teacher_list</result> <result name="addUI">/WEB-INF/jsp/teacherAction/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/teacherAction/editUI.jsp</result> </action> <!- 学校配置 -> <action name="school_*" class="schoolAction" method="1"> <result name="list">/WEB-INF/jsp/schoolAction/list.jsp</result> <result name="toList" type="redirectAction">school_list</result> <result name="addUI">/WEB-INF/jsp/schoolAction/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/schoolAction/editUI.jsp</result> </action> <!-角色配置 -> <action name="role_*" class="roleAction" method="1"> <result name="list">/WEB-INF/jsp/roleAction/list.jsp</result> <result name="toList" type="redirectAction">role_list</result> <result name="addUI">/WEB-INF/jsp/roleAction/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/roleAction/editUI.jsp</result> <result name="setPrivilegeUI">/WEB-INF/jsp/roleAction/setPrivilegeUI.jsp</result> </action> <!- 一级分类配置 -> <action name="category1_*" class="category1Action" method="1"> <result name="list">/WEB-INF/jsp/category1Action/list.jsp</result> <result name="toList" type="redirectAction">category1_list</result> <result name="addUI">/WEB-INF/jsp/category1Action/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/category1Action/editUI.jsp</result> </action> <!- 二级分类配置 -> <action name="category2_*" class="category2Action" method="1"> <result name="list">/WEB-INF/jsp/category2Action/list.jsp</result> <result name="toList" type="redirectAction">category2_list?category1Id=$category1Id</result> <result name="addUI">/WEB-INF/jsp/category2Action/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/category2Action/editUI.jsp</result> </action> <!- 三级分类配置 -> <action name="category3_*" class="category3Action" method="1"> <result name="list">/WEB-INF/jsp/category3Action/list.jsp</result> <result name="toList" type="redirectAction">category3_list?category2Id=$category2Id&amp;category1Id=$categor y1Id</result> <result name="addUI">/WEB-INF/jsp/category3Action/addUI.jsp</result> <result name="editUI">/WEB-INF/jsp/category3Action/editUI.jsp</result> </action> <!- 课程配置 -> <action name="course_*" class="courseAction" method="1"> <result name="list">/WEB-INF/jsp/courseAction/list.jsp</result> <result name="toList" type="redirectAction">course_list?category3Id=$category3Id&amp;teacherId=$teacherId&a mp;category2Id=$category2Id&amp;category1Id=$category1Id</result> <result name="addUI">/

    注意事项

    本文(javaweb毕业论文.doc)为本站会员(暗伤)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开