




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2015届毕业设计说明书1 引言1.1开发背景当今社会,信息资源已经成为各个行业的重要财富。建立一个满足各行各业信息处理要求的行之有效的信息系统也成为了一个企业或者组织生存和发展的重要条件之一。因此,作为信息系统和基础的核心数据库技术得到了越来越广泛的应用。当今的社会是一个信息化快速发展的时代。在不同的行业发展中都离不开处理信息,因此基于计算机的信息管理系统被广泛的应用于商业发展和生活中。在信息化发展迅速的今天,利用计算机进行系统的信息化管理,不仅提高了我们的工作效率,也大大减少了人力的浪费,同时也有效的提高了安全性。对于整理起来相对复杂的信息和文档,利用计算机所做的各种管理系统可以充分的发挥其操作简单、管理系统化的优越性。本系统的设计使得管理学生选课信息更加简单快捷1。全套设计加扣 3012250582学生选课作为一种信息资源的集散地,包含很多的信息数据管理。由于数据繁多,容易丢失,且不易查找。因此,学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着以网络为依托的选课系统的快速发展,网上选课系统以方便,快捷的优点在逐渐的替代传统的选课系统,使得学生选课管理工作趋于规范化,系统化2。1.2系统架构本文重点研究基于J2EE的学生选课系统。采用了J2EE技术作为系统架构开发。本系统体现了较为先进的设计思想,主要有以下几点:(1)系统采用较为流行的J2EE技术体系,具有良好的可伸缩性和跨平台性,为日后功能的扩展提供了良好的升级空间。(2)采用MVC模式struts架构设计,将系统的表示层、逻辑层和web表示层分离,便于日后的开发和维护3。1.3系统目标选课系统其作用范围为:在校学生、教师、系统管理员。切实地减少了学校对信息管理的工作量,同时也提高了信息的安全性。本课题设计实现了一个基于网络平台的选课系统,具体的实现目标是:(1)教务管理模块教务管理员通过该模块,可以发布选课信息、发布专业相关信息、发布课程相关信息、修改管理员密码等。(2)学生选课模块学生通过该模块可以查询个人信息、课程信息、已选课程信息、修改个人密码等。 2 主要技术介绍2.1 J2EE概述J2EE是SUN公司定义的一个开放分布式企业级应用的规范。它是一套不同于传统开发技术的架构模式,其中包含了很多不同类型的组件,主要实现的功能是简化系统项目的开发与部署,提高安全性、可移植性和再利用价值。普通java类和J2EE组件的不同之处在于:J2EE组件装配的位置是J2EE的应用中,并且有着严格的规范,被J2EE的服务器管理。所装配的J2EE组件遵循的J2EE规范如下:可运行在服务器端的web组件为Java Servlet和Java Server Pages (JSP);可运行在服务器端的组件为Enterprise Java Bean (EJB)。J2EE是使企业解决各种问题的部署、开发、管理相关复杂结构的基于java平台的技术。J2EE技术的核心就是Java平台,J2EE不仅巩固了标准java类中的许多优点,同时还提供了对Java Servlets API、EJB、JSP以及XML页面开发技术的全面支持。其最终目的就是为了使企业开发者投放市场的时间极大的缩短。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性应用的需求。通过提供的开发平台,J2EE降低了开发多层的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise Java Beans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能4。2.2 J2EE的优势J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:(1) 保留现存的IT资产:由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有系统之上的服务器端平台机制是公司所需求的。J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS,IBM ENCINA,以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的“企业计算”领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。因此基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。(2)高效的开发:J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。(3)支持异构环境:J2EE是能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(4)可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。(5)稳定的可用性:一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性5。2.3 MVC设计模式MVC设计模式的全名是Model View Controller,模型层指的是:Mode,视图层指的是:View,控制器层指的是:Controller。MVC模式指的是一种软件的架构模式。它系统化的将软件分为三个基本部分:模型、视图、控制器。MVC模式所实现的目的是动态的程序设计,可以使程序的后续修改和扩展简便化,并且可以使程序的某一部分可以重复利用。MVC模式的具体负责功能:(1)Controller控制器层:处理用户之间的交互问题,(2)View视图层:处理程序中数据的显示部分。(3)Model模型层:处理程序中的数据逻辑,数据库存储数据。2.4 SSH框架介绍SSH2=Struts2+Spring+Hibernate是J2EE的最新流行框架。其结构如下图2.1所示。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的Java Bean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Hibernate是一个开放源代码中对象的关系映射框架,它对JDBC进行了非轻量级的对象封装。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在servlet/JSP的Web应用中使用。最具革命意义的是:Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Struts2框架是Struts1的下一代版本,Struts2是在Web Work和Struts1的基础上发展开来的。从一定的角度来说,Struts2是秉承Web Work的血统,而不是秉承Struts 1的血统。Web Work的升级版本其实就是我们现在所熟知的Struts2,因此Struts2并不是一个全新的框架结构,它在各种性能上都很好的继承了 Struts 1和Web Work的优势,是一个实用性很强的框架结构体系。Spring表示层业务层数据层Struts2Hibernate图2.1 SSH框架2.4.1 Struts简介Struts的工作流程:Action Servlet是在web项目应用程序启动时初始化的加载,Action Servlet读取配置信息则是从struts-con fig.XML中。当客户所发送的请求被Action Servlet接收到的时候,将执行如下流程:(1)查询与该用户请求的Action Mapping相对应的java例,如果存在则向下执行,如果不存在,返回信息是无效路径;(2)若实例Action Form不存在,则NEW一个Action Form对象,把用户所提交的Form表单数据保存到新建的Action Form对象中;(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用Action Form的validate()方法;(4)如果Action Form的validate()方法返回null或返回一个不包含Action Message的Errors对象,就表示表单验证成功;(5)Action Servlet根据Action Mapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;(6)Action的execute()方法返回一个Action Forward对象,Action Servlet在把客户请求转发给 Action Forward对象指向的JSP组件;(7)Action Forward对象指向JSP组件生成动态网页,返回给客户6。2.4.2 Hibernate简介Hibernate是一个开放源代码对象的关系映射框架,是一个中间件(软件),位于应用程序和数据库之间的持久化层,封装了数据访问细节,让业务逻辑层专注于业务逻辑(自动实现数据库中的数据和内存中数据的双向同步更新)。ORM映射工具,能够在面向对象的java领域和面向关系的数据库领域建立起联系7。2.4.3 Spring简介Spring的关键特性如下:1.非侵入式:Spring对很多难用的Java EE API(如JDBC,Java Mail,远程调用等)提供了一个简单的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。2.容器:spring容器从来不能独立运行,一定借助于其他容器启动,或者借助web容器启动,或者EJB容器启动。3.IOC:控制反转意味着将你设计好的类交给容器去控制,而不是在类的内部进行控制,即控制权由应用代码中转到了外部容器。4.依赖注入:可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。5.AOP:通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付8。3 系统开发工具及容器3.1 开发工具本系统使用的开发工具,后台java代码编写使用My Eclipse 10.0 My Eclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和Java EE的开发、发布,以及应用程序服务器的整合方面效率。它是功能丰富的Java EE集成开发程序的环境,包括了程序编码、代码测试、调试代码和程序发布的功能,完整支持HTML,Struts,JSF,CSS,Java script,SQL,Hibernate。My Eclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件的聚合,My Eclipse的功能非常厉害,也十分广泛,尤其是对开源的产品有不错的支持。My Eclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC等多项功能。可以说My Eclipse是几乎包含了所有主流开源产品的专属eclipse开发工具10。3.2 数据库的选择3.2.1MySQL简介 MySQL是一个开放源码的关系数据路管理系统,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。MySQL 虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性11。3.3 JDK版本的选择JDK是Sun公司针对Java开发员的软件开发工具包。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。本系统采用JDK 5edition update版本。3.4容器本系统页面采用JSP,所以对应的容器采用Apache Tomcat6.0。既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境中,它才能发挥它的作用。这个环境就是我们讲的容器。容器也是Java程序,它主要功能除了为Servlet提供环境,还有更重要的,就是提供网络传输协议与java程序实体的相互转换。客户端想服务器发送数据,遵循的是HTTP协议的数据格式。在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C+的等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些java object,这样才能使用java的方法进行数据处理。同理,当这些处理完成,又需要将这些java object转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在于服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色12。3.4.1 Tomcat简介Tomcat是由Apache公司下属的Jakarta项目开发的一个Servlet容器,Tomcat是一款轻量级的小型服务器软件,可以给我们提供基于HTTP等协议上的一个资源的访问和响应。也就是说,我们开发好的Web项目,如果想让别人通过网络用浏览器访问的话,我们就需要把这个开发好的Web项目放到可以给他们提供这样一个服务的软件中去(比如 tomcat服务器软件 Apache服务器软件 J Boss服务器软件等)。Tomcat是用java写的,Tomcat的运行本身是需要JDK的支持的也就是说Tomcat要想运行,需要看你的环境变量有没有配置一个JAVAHOME的环境变量13。4 选课系统总体设计4.1需求调研教育是科学之本,随着我国教育的普及和当前全球范围的知识经济的突飞猛进,一套高质量高效率的选课排课系统更是必不可少,当前不论是我国还是海外其他国家,均把学校教育放在战略地位,投入巨大的人力物力研制各种教育模式,其中,选课排课系统的开发是首当其冲的。一套好的管理系统是良好学习环境的组织者。由于信息系统数据量大,传统的人工操作不仅效率低,准确性不高,而且其完整性,保密性均得不到保证。此信息管理系统可以实现学生信息的高效查询,修改,删除等操作,使学生信息关系系统化,规范化和自动化。4.2可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。(1)技术的可行性本系统开发工具是My Eclipse和My SQL数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大二时就学习了java课程,大四期间也系统的了解了J2EE的知识,选课排课系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。(2)经济的可行性如今是信息化时代,信息化管理可以使选课排课系统工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。(3)操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。(4)法律的可行性本选课排课系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。综上所述,开发一个选课排课系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,因此,建立一个选课排课系统是必要可行的。4.3需求分析4.3.1系统概要设计系统概要设计:(1)功能模块设计管理员模块:可以增加专业和课程、增加专业和课程详细信息、指定课程状态、修改管理员密码。学生管理模块:可以注册用户添加学生信息、查看已选课程、查看课程列表、学生详细信息、修改学生密码。登录模块:可以判断帐号的合法性和角色/权限,根据不同的角色/权限跳转到相应的页面。(2)数据库设计:学生信息表:包含、id、性别、生日、专业等基本信息。课程信息表:包含课程号、课程名、代课老师等基本信息。学生课程信息表:包含id、课程id、学生id、代课老师等基本信息。4.4 系统分层设计本系统编码采用MVC分层结构设计。工程主要分为action包、DAO包和DTO包。action包:主要是放置Struts的Action java类,用来控制流程跳转、操纵model层、从model里面取数据呈现给表示层。DAO包:主要放置负责与数据库打交道的java类,所有类皆继承自一个Hibernate DAO。该层封装了数据的增、删、改、查操作。DTO包:主要是放置实体bean java类,用来表示实体,并且映射至数据库对应的表,负责想view层提供数据。另外,所有JSP页面均放在工程Web Root下14。4.5 系统流程 (1)登录模块登 录 输入用户名和密码用户名密码是否正确 否错误提示是 进入相应界面退出系统 图4.1 登录流程图(2) 学生模块学生选课系统 登录失败成功 学生界面 查看个人信息修改个人信息个人选课情况所有课程信息退选输入个人信息选课选课成功退选成功 修改成功退 出 系 统图4.2 学生流程图(3)管理员模块 学生选课系统 登录失败成功管理员界面 统计信息管理课程信息管理专业信息管理修改密码添加专业信息添加课程信息修改添加成功添加成功修改成功退 出 系 统图4.3 管理员流程图4.6 设计的基本思想设计思想遵循以下几点:1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2. 开发时的设计理念是面向对象的,采用面向对象技术必须对所设计系统的整体高度能够准确的抽象出来,以此来保证框架的良好,使得产品可以具有较强的安全性、稳定新和运行成功率。3. 设计模块化,有利于代码的重载,简化设计和实现过程。4. 简单方便的系统界面,设计简单友好的系统界面,方便用户较快的适应系统的操作。5速度优先原则,由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。5 详细设计5.1 数据库5.1.1数据库设计一个软件产品,数据库设计的好坏决定着软件的开发维护和运行容易程度。如果把企业的数据比作生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。整个系统的操作实际上就是操作数据库,所以,数据库的设计方式决定这系统的好坏。5.1.2数据表本系统一共建立了5张表。Tb_user log in:用户登录表 如图5.1 图5.1 表及字段说明图Tb_specialty:专业表 如图5.2 图5.2 表及字段说明图Tb_student course:学生课程表 如图5.3 图5.3 表及字段说明图Tb_student user:学生用户表 如图5.4 图5.4 表及字段说明图Tb_course:课程表 如图5.5图5.5 表及字段说明图5.2 Web层的设计这一层主要是作为用户访问系统的界面,提供Web网页服务器,同时与后台服务器连接,将客户端的请求信息传递到业务层,同时将后台反馈的信息传送到客户端。视图部分采用JSP,控制器部分交由Struts的action直接和实体bean交互以操作数据库15。5.2.1JSP简介JSP的全称为Java Server Pages是由Sun Micro systems公司创立的响应客户端请求的一种软件,目的是为HTML、XML等网页的web技术制定一个标准。JSP作为服务器端是J2EE的一种规范。JSP的作用是来替换Servlet显示信息的功能,简单理解就是在HTML页面中嵌入java代码 从而达到动态网页的效果。JSP的适用场合是在整个软件开发系统中处于视图层,作为视图来使用。5.3 EJB层的设计5.3.1实体Bean的设计 实体Bean是根据数据库之中的表来建立的其中的相关属性/成员变量对应数据库表中的各种字段。以本工程的一个实体Bean Student为例,各种操作需要调用到Student实体Bean,Student实体Bean的代码如下:学生信息:package com.jwy.dto;public class StuUser implements java.io.Serializable private Integer id;/学生编号private String stuName;/学生姓名private String stuNo;/学生学号private Integer specialtyId;/学生所学专业编号private String stuSex;/学生性别private String birthday;/学生出生年月日private String homeAddr;/学生家庭地址private String tel;/学生电话private String addr;/学生当前居住地址public StuUser() public StuUser(Integer id, String stuName, String stuNo,Integer specialtyId, String stuSex, String birthday,String homeAddr, String tel, String addr) this.id = id;this.stuName = stuName;this.stuNo = stuNo;this.specialtyId = specialtyId;this.stuSex = stuSex;this.birthday = birthday;this.homeAddr = homeAddr;this.tel = tel;this.addr = addr;public Integer getId() return this.id;public void setId(Integer id) this.id = id;public String getStuName() return this.stuName;public void setStuName(String stuName) this.stuName = stuName;public String getStuNo() return this.stuNo;public void setStuNo(String stuNo) this.stuNo = stuNo;public Integer getSpecialtyId() return this.specialtyId;public void setSpecialtyId(Integer specialtyId) this.specialtyId = specialtyId;public String getStuSex() return this.stuSex;public void setStuSex(String stuSex) this.stuSex = stuSex;public String getBirthday() return this.birthday;public void setBirthday(String birthday) this.birthday = birthday;public String getHomeAddr() return this.homeAddr;public void setHomeAddr(String homeAddr) this.homeAddr = homeAddr;public String getTel() return this.tel; public void setTel(String tel) this.tel = tel;public String getAddr() return this.addr;public void setAddr(String addr) this.addr = addr;5.3.2数据库映射与连接本系统使用的是Hibernate将对象持久化,让传统的关系型数据库与实体映射成为符合面向对象的编程处理方式,Hibernate是对象关系映射的框架,对JDBC的封装是非轻量级的,使得Java程序员可以轻松的去操做数据库。 采用Hibernate,实体与数据库的映射只需要配置相应的XML文件,可以和代码完全的分离使用。而Spring则将 Hibernate全权交给Spring处理,使得程序员编写代码更加的简洁方便。以下是本次设计所采用的连接方式。以下是Spring的application Context.XML的内容。这里使用的是与Spring整合的方式,而不是传统的hibernate.CFG.XML配置文件。同时也需要JDBC的驱动,My SQL-connector-java-5.1.5-bin.jar.data Source是本次设计采用的数据源。所采用的连接池,代码中也有相应的配置。Driver Class指向JDBC驱动。JDBC URL为所用数据库的URL,此次设计采用My SQL数据库,URL为JDBC:My SQL:/local host/system。本机的地址是:local host,数据库的名称是:System,User和password为:root,到此数据库的链接完成。其他和Hibernate有关的,session Factory和transaction是用Spring依赖注入的功能实现的,将Hibernate中的各种事务分配给Spring来管理的。在session Factory中要注入Hibernate的数据源,这是我们需要注意的地方。学生信息配置文件: 学生编号 课程编号 5.4 选课系统的实现5.4.1用户登录 用户登录界面如图5.6:图5.6 用户登录界面用户登录,系统会根据用户的类型,跳转到相应的JSP页面,也就是说让用户拥有自己应该有的功能,比如管理员可以添加专业、课程信息,而学生只能选择课程、查看课程信息,却不能去修改课程。用户登录代码如下:public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) DynaActionForm userLoginForm = (DynaActionForm) form;UserLogin userLogin = userLoginDao.findbyNameAndPwd(userLoginForm.getString(loginName), userLoginForm.getString(pwd);if (userLogin = null) request.setAttribute(error, 用户登录失败,用户名或密码不正确);return mapping.findForward(index); else request.getSession().setAttribute(loginName,userLogin.getLoginName();request.getSession().setAttribute(id, userLogin.getId();if (userLogin.getType().equals(1) System.out.println(管理员登录);return mapping.findForward(manager); else / 判断学生有没有填写过基本信息StuUser stuUser = stuUserDao.findById(userLogin.getId();if (stuUser = null) System.out.println(没添写过基础信息);List list = specialtyDao.findStuByAll();request.setAttribute(list, list);return mapping.findForward(addStuInfo); else Specialty specialty = specialtyDao.findById(stuUser.getSpecialtyId();request.setAttribute(specialty, specialty);request.setAttribute(stuUser, stuUser);System.out.println(添写过基础信息);return mapping.findForward(welcome);5.4.2用户注册用户注册界面如图5.7: 图5.7 用户注册界面用户注册时,系统会判定所填写的用户名是否存在,如果不存在则代码将向下执行,之后跳转到填写基本信息的页面,如果存在则返回错误提示,并再次跳转到注册页面。用户注册代码如下:public class RegAction extends Action private IUserLoginDao userLoginDao;private ISpecialtyDao specialtyDao;/* * param specialtyDao the specialtyDao to set */public void setSpecialtyDao(ISpecialtyDao specialtyDao) this.specialtyDao = specialtyDao;/* * param userLoginDao the userLoginDao to set */public void setUserLoginDao(IUserLoginDao userLoginDao) this.userLoginDao = userLoginDao;/* * Method execute * param mapping * param form * param request * param response * return ActionForward */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) UserLogin userLogin = new UserLogin();userLogin.setType(2);/设置用户类型为学生userLogin.setLoginName(request.getParameter(loginName);userLogin.setPwd(request.getParameter(pwd);userLogin.setMail(request.getParameter(mail);if(!userLoginDao.findByLoginName(userLogin.getLoginName()System.out.println(用户名不存在可以注册);Integer id = userLoginDao.insert(userLogin); /返回自动生成的主键request.getSession().setAttribute(id,id);request.getSession().setAttribute(loginName, userLogin.getLoginName();/进入到填写基本信息页面List list = specialtyDao.findStuByAll();request.setAttribute(list, list);return mapping.findForward(addStuInfo);elserequest.setAttribute(error, 用户名已经存在,不可以注册);/返回到注册页面return mapping.findForward(reg);5.4.3管理员功能下面介绍管理员功能。管理员用管理员账号登陆后,然后默认进入的是管理员操作页面。管理员可以增加专业信息,可以增加课程信息,课程信息有对应的专业,也就是说一门专业对应多门课程,课程信息包括上课信息和带课老师情况,管理员添加完课程信息以后,学生就可以登录到系统选择对应专业的课程,学生可以查看课程的时间地点是否适合自己选这门课,学生也可以查看代课老师的信息,从而做到了学生的自主化,学生选完课以后,管理员就可以查看统计信息,就可以知道选择课程的学生的情况,这样教务处就可以省去很多繁琐的工作,避免了一些认为的失误,大大的提高了教学管理的效率。以下action层是添加专业的代码:public ActionForward insert(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) DynaActionForm specialtyForm = (DynaActionForm) form;Specialty specialty = new Specialty();specialty.setIsFinish(false); / 设置是否结业,默认为否System.out.println(Name: + specialtyForm.getString(name);specialty.setName(specialtyForm.getString(name);specialty.setEnterYear(specialtyForm.getString(enterYear);specialty.setLangthYear(specialtyForm.getString(langthYear);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 回收产业社会影响评估-洞察及研究
- 塑料厂离职管理规范制度
- 合同管理制度例子
- 地质年代测年新进展-洞察及研究
- 辐射防护优化设计-洞察及研究
- 海外签证申请基础知识问答(试题及答案)
- 2025年度茶叶行业风险控制服务合同
- 2025年跨境职业技能认证培训平台运营管理优化与风险控制研究
- 2025年荆州理工职业学院单招职业适应性考试题库答案
- 闯关答题题目及答案
- 2025至2030中国DHA藻油行业发展趋势分析与未来投资战略咨询研究报告
- 2025年中国汽车用PTC电加热器数据监测报告
- 海参池养殖合作合同协议书
- 幼儿园中班科学语言《望着月亮吃大饼》课件
- 日本《大肠癌治疗指南》解读
- 颞下颌关节肿瘤
- 素质的课件教学课件
- 高考语文专题复习:构词方式
- 设计院管理规章制度手册及实施指南
- 医院转诊合同标准文本
- 学生奶采购配送服务方案(技术标)
评论
0/150
提交评论