基于struts和hibernate的教学答疑系统毕业论文(编辑修改稿)内容摘要:

ache,以 ISAPI 形式被载入 IIS 或 PWS,以 NSAPI 的形式被载入Netscape Enterprise Server。  由于 Java 的跨平台特性,基于 Java 的 Tomcat 也具有跨平台性。 Tomcat 的目录结构 首先,下载 包,解压缩到一个目录下,如:“ c:\tomcat”。 这时,会得到如下的 Tomcat 的目录结构: jakarta tomcat | bin Tomcat 执行脚本目录 | Common 放置一些通 用类(如 JDBC 的驱动程序等) | conf Tomcat 配置文件 | doc Tomcat 文档 | lib Tomcat 运行需要的库文件( JARS) | logs Tomcat 执行时的 LOG 文件 | src Tomcat 的源代码 | webapps Tomcat的主要 Web发布目录(存放我们自己的 JSP,SERVLET,类) | work Tomcat 的工作目录, Tomcat 将翻译 JSP 文件到的 Java 文件和 class 文件放在这里。 (表 31) 表 31 tomcat目录结构 目 录 名 该目录内的文件的一般功能描述 bin 包含有 Startup。 bat(启动服务器)与 shutdown。 bat(关闭服务器)文件 conf 包含设置部署在 Tomcat 上的 Web 应用的变量的初始值的设置文件,包括 server。 xml (Tomcat 的全局配置文件 ) 和 web。 xml (为不同的 Tomcat配置的 web 应用设置缺省值的文件) doc 包含关于 Tomcat 的各种各样的文档。 mon 在其 lib 目录下,主要存放如 JDBC 的驱动程序等 lib 包含被 Tomcat 使用的各种各样的 jar 文件。 在 UNIX 上,任何这个目录中的文件将被附加到 Tomcat 的 classpath 中。 logs Tomcat 的 log 文件。 src servlet API 的源文件。 webapps 包含 Web 应用的程序 ( JSP、 Servlet 和 JavaBean 等) work 由 Tomcat 自动生成,这是 Tomcat 放置它运行期间的中间 (intermediate)文件 (诸如编译的 JSP 文件 )地 方。 如果当 Tomcat 运行时, 你删除了这个目录那么将不能够执行包含 JSP 的页面。 本系统由 Myeclipse 部署至 服务器中。 MYSQL 的介绍 MySQL 是最受欢迎的开源 SQL 数据库管理系统,它由 MySQL AB 开发、发布和支持。 MySQL AB 是一家基于 MySQL 开发人员的商业公司,它是一家使用了一种成功的 商业模式来结合开源价值和方法论的第二代开源公司。 MySQL 是一个数据库管理系统:一个数据库是一个结构化的数据集合。 如果要添加、访问和处理存储在一个计算机数据库中的数据, 你就需要一个像 MySQL 这样的数据库管理系统。 从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。 MySQL 是一个关系数据库管理系统:关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。 “ MySQL”中的 SQL 代表“ Structured Query Language”(结构化查询语言)。 SQL 是用于访问数据库的最通用的标准语言,它是由 ANSI/ISO 定义的 SQL 标准。 SQL 标准 发展自1986 年以来,已经存在多个版本: SQL86, SQL92, SQL:1999, SQL:20xx,其中 SQL:20xx是该标准的当前版本。 MySQ 是开源的:开源意味着任何人都可以使用和修改该软件,任何人都可以从Inter 上下载和使用 MySQL 而不需要支付任何费用。 如果你愿意,你可以研究其源代码,并根据你的需要修改它。 本系统采用 MySQL 版本。 Myeclipse 的介绍 说到 Myeclips 先得说下 Eclipse, Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 MyEclipse 是什么。 简单而言, MyEclipse 是 Eclipse 的插件,也是一款功能强大的J2EE 集成开发环境,支持代码编写、配置、测试以及除错。 所以作为本次毕业设计 IDE工具的不二人选。 第四章 教学 答疑系统的 总体 设计 系统的需求分析 项目目标 : 本软件功能大致分为三 大 模块 :学生模块 ,教师模块和管理员模块。 学生模块 :学生用户进行操作的模块。 教师模块 :教师用户进行操作的模块。 管理员模块 :管理员用户进行操作的模块。 具体各用户需求分析 : 1. 学生 用户 的 需求分析 学生 登录后可以选择查看个人资料或者进入答疑系统 ,进入答疑系统后可以提出 问题,问题提交给服务器端 , 等待教师的解答。 若教师解答了此题目,当学生下次 查看自己问题 时即可看到老师回答的答案。 2. 教师 用户的需求分析 教师 登录后可以选择查看个人资料或者进入答疑系统 ,进入答疑系统后可以查看 未解题目 ,对 未解问题的解答 ,教师还可以 进行 题库的管理 操作 ,给题库添加删除修改章节,章节关键字,章节标准答案,标准答案的关键字。 让题库能适应学生的要求。 3. 管理员 用户的需求分析 管理员登录后可以 为对用户的管理 操作 ,对题目的管理操作和个人信息的修改 ,以及添加新的用户。 系统的总体设计 系统结构采用 B/S 结构 : B/S( Browser/Server)结构即浏览器和服务器结构。 它是随着 Inter 技术的兴起,对 C/S 结构的一种变化或者改进的结构。 在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑 在前端( Browser)实现,但是主要事务逻辑在服务器端( Server)实现,形成所谓三层 ( 3tier) 结构。 一个三层架构的应用程序由三部分组成, 这三部分各自分布在网络中的不同地方。 这三个部分分别是:工作站或表示层接口、事务逻辑、数据库以及与其相关的程序设计。 在一个典型的三层架构应用程序中,应用程序的用户工作站包括提供图形用户界面( GUI)的程序设计和具体的应用程序入口表格或交互式窗口。 事务逻辑处在局域网( LAN)服务器或其他共享主机上,它作为响应工作站所发出客户请求的服务器,而相对于处于大型机的第三层它 是作为客户端,并且决定需要什么数据以及数据存储在哪里。 第三层包括数据库以及处理读写以及访问数据库的程序。 然而应用程序的设计可能比这个架构要复杂,对于大型程序来说,这个三层模式是一种比较简便的考虑方法。 这种应用程序的设计使用客户 /服务器模式,各层可以同时开发,并且可以由不同的 成员 组用不同的语言来开发。 因为各个层次的开发不会影响其他层次,所以这种模型对于进一步开发软件是很方便的。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。 以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Inter/Intra 模式下数据库应用,相对易于把握、成本也是较低的。 它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Inter/Intra 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。 特别是在 JAVA 这样的跨平台语言出现之后, B/S 架构管理软件更是方便、快捷、高效。 系统流程图如 (图 41)所示 图 (41) 系统流程图 登录 判断权限 学生模块 教 师模块 管理员模块 查看问题 提交问题 修改资料 修改资料 查看问题 解答问题 管理人员 管理问题 注册 退出 终止 系统用例图设计 系统用例图如 (图 42)所示 图 42 系统用例图 本系统的分层结构以及技术选用 : (图 43) 图 43 分层结构技术图 在整体设计模式上采用 StrutsMVC 模式的 B/S 架构 serviceLocator 表示层 Struts Struts Action, ActionForm, Jsp, Strutsconfig.xml,etc. DAO Classes JavaBean Hibernate session Management 持久层 Hibernate DataSource Transactions Business Service Classes QueryLanguage Support and other Hibernate Services 各层的技术选用 : 在表现层 :选用 Struts,JSP 为主要表现技术。 需在 : servlet servletnameaction/servletname servletclass/servletclass initparam paramnameconfig/paramname paramvalue/WEBINF//paramvalue /initparam initparam paramnamedebug/paramname paramvalue3/paramvalue /initparam initparam paramnamedetail/paramname paramvalue3/paramvalue /initparam loadonstartup0/loadonstartup /servlet servletmapping servletnameaction/servletname urlpattern*.do/urlpattern /servletmapping 在业务层 :选用 JavaBean 为主要技术 ,负责业务的操作。 在持久层 :选用 Hibernate 为主要技术 ,负责对持久对象的操作。 由于使用 Hibernate 为持久层, 由于我使用了 Spring 做中间代理 ,所有与数据库连接的工作只需要在 中配置 ,部分代码如下 : !— 数据库连 接设置 !— 设置 JDBC 驱动 bean id=dataSource class= property name=driverClassName value/value /property /bean !— 设置 MYSQL 的 URL property name=url valuejdbc: /property !— 设置用户名 ,密码 property name=usernamevalueroot/value/property property name=passwordvalueroot/value/property !— SQL 方言设置 bean id=hibernateProperties class= property name=properties props prop key=/prop prop key=true/prop /props /property /bean 在数据库层上 :选用开源的 MySql为数据库。 :工厂模式。 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性 和低耦合的目的。 跟为系统以后的扩展提供了良好接口。 以 AdminMgmtService 为例 , //产生 DAO 的工厂 ,绑定在线程上面 ,单例 ,线程安全。 public interface AdminMgmtService { Userinfo login(Str。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。