《J2EE系统架构和程序设计》课程设计项目实训项目——某职业技术学院学生选课系统_第1页
《J2EE系统架构和程序设计》课程设计项目实训项目——某职业技术学院学生选课系统_第2页
《J2EE系统架构和程序设计》课程设计项目实训项目——某职业技术学院学生选课系统_第3页
《J2EE系统架构和程序设计》课程设计项目实训项目——某职业技术学院学生选课系统_第4页
《J2EE系统架构和程序设计》课程设计项目实训项目——某职业技术学院学生选课系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录 TOC o 1-3 h z u HYPERLINK l _Toc477549826 J2EE系统架构和程序设计课程设计项目实训项目某职业技术学院学生选课系统 PAGEREF _Toc477549826 h 2 HYPERLINK l _Toc477549827 系统业务需求说明 PAGEREF _Toc477549827 h 2 HYPERLINK l _Toc477549828 1系统的需求分析和系统建模 PAGEREF _Toc477549828 h 11 HYPERLINK l _Toc477549829 系统架构设计 PAGEREF _Toc477549829 h 17 HYP

2、ERLINK l _Toc477549830 项目的数据库系统设计 PAGEREF _Toc477549830 h 20 HYPERLINK l _Toc477549831 项目的系统功能实现 PAGEREF _Toc477549831 h 22 HYPERLINK l _Toc477549832 项目中应用J2EE 过滤器及Web监听器组件技术 PAGEREF _Toc477549832 h 55 HYPERLINK l _Toc477549833 课程设计项目实训的个人感想 PAGEREF _Toc477549833 h 56J2EE系统架构和程序设计课程设计项目实训项目某职业技术学院学生

3、选课系统系统业务需求说明1、项目背景说明今天,随着信息技术的发展, 各高校的选课流程已不再是过去的手工形式了。取而代之的是各种各样的选课电子系统。选课流程繁琐复杂,而且容易出错,如何有效的理清各项工作流程并且使整个选课过程高效的进行,一直是高校探索的课题。这次,应客户的需求,某高校决定开发一套职业技术学院学生选课系统。学生选课系统是利用现代化信息技术对选课流程进行高效管理的一款系统。它代替了以前的许多手工流程,层次化,条理化地解决了许多繁琐的问题。因此,该系统适合应用于高校等基于网络的学生管理的环境。能够比较简单的维护和管理学生选课,保证高效率和低成本。如下为采用通用语言表述的系统主要的功能性

4、需求:(1)应该提供对选课的学生进行基本的管理功能:包括注册、登陆、修改和在线注销等方面的功能(2)应该提供对课程进行选课、查询课程信息、统计所选择的课程的总学分等基本功能(3)对部分的功能模块中的数据应该采用XML文件的形式作为持久化的载体,并利用Java中的XML解析技术进行读/写该XML文件中的数据(4)对部分的功能模块中的页面采用XML+XSLT的方式代替JSP页面进行显示(5)利用过滤器组件技术实现系统的安全身份验证2、业务领域与目标(1)业务领域 本系统面向中小型学院,用户群体为学院的教务科,教师以及学生。(2)业务目标根据现实选课流程实现各种操作,如:发布课程,删除课程,查询课程

5、,浏览所选课程,提交课程以及其他查询教师和教室等相关操作。(3)项目提交产品运行程序所需要的所有文件(页面文件、源代码、数据库文件以及其它的配置文件)。 系统的主要功能操作的说明书(运行过程中代表系统的主要功能实现的页面,进行屏幕拷贝截图放到Word 文档中以便进行功能检查)。3、参与选课系统的组织机构与人员分工(1)教学科管理员管理员对课程信息、学生信息、教师信息及系统进行维护。并且可获得下学期课程信息后,发布课程信息,若信息有误,可修改信息。课程选课人数不足,可以停开该课程。如果过了选课期限,可以禁止学生选课。(2)教师提交课程信息给教学科,可以查询自己的课程。(3)学生学生可通过输入帐号

6、、密码登录选课系统,在登录系统后,学生可进行选课、退课及查询操作。学生在选课期间可以查询下学期所要上的课程,选中课程,然后提交。一定期限内。如果发现选课有误,可以修改课程或删除课程。提交之后,可以浏览自己选的课程。(4)系统管理员主要执行的操作包含添加、修改、删除、系统故障解决等系统方面的管理功能。4、业务范围及边界(1)选课系统需求描述学生课程管理系统的设计目的是要将学生所选的各个课程信息通过网络方式进行管理,为学生、教师和教务管理人员提供便利。系统的用户有3种类型,分别为系统管理员,学生及教师。系统对于一个用户只允许以一种身份登录。系统管理员登录系统后可以对系统进行功能管理。其主要操作是维

7、护学生,教师,课程和班级的基本信息,以及维护选课系统的状态。学生登录后的主要操作是选课和个人信息的维护。教师登录后的主要操作是管理自己的班级并为学生登录成绩。由于选课系统各个流程之间耦合非常紧密,操作简单,故决定整体对待,不再进行明细划分。下面为本选课系统的功能性需求描述:学生有登录选课系统的帐号和密码。学生在登录选课系统后可执行选课,退课,查询(包括本学期课表及其它课程),修改自己信息等操作。管理员进行课程信息维护。(包含修改、删除、故障解决)管理员进行学生信息维护。(包含修改、删除、故障解决)管理员进行教师信息维护。(包含修改、删除、故障解决)管理员进行系统维护。(2)选课系统数据流图(3

8、)选课系统总用例图(边界定义)(4)与学生和教师相关的系统用例 (5)与系统管理员相关的用例(6)系统中的各个用例所构成的系统用例图5、识别选课系统的用例(1)学生登录:本用例用于学生登录选课系统选课:本用例为学生提供选课的功能。退课:本用例为学生提供退课的功能。查询:本用例为学生提供课程查询的功能。(包括本学期课表及其它课程)(2)管理员登录:本用例用于管理员登录选课系统课程信息维护:管理员通过本用例对课程信息进行维护。学生信息维护:管理员通过本用例对学生信息进行维护。教师信息维护:管理员通过本用例对教师信息进行维护。系统维护:管理员通过本用例对系统进行维护。6、业务活动描述(1)事件响应与

9、用例清单(业务事件)事件触发器来源活动/用况响应目的地教师填写课程信息教学需要教师填写表单教学科教学科整理课程信息并完成表单教学需求教学科填写表单教学科添加课程教室信息教学需要教学科填写表单教学科学生查询要选课程进入选课期限学生查询信息显示课程信息学生学生选择课程已选好课程学生提交课程信息显示信息学生教学科查询学生选课信息选课借书教学科查询信息显示信息教学科教学科删除课程选课人数不足教学科删除信息信息删除教学科教师查询课程选择情况选课结束教师查询信息显示信息教师学生查询已选课程选课结束学生查询信息显示信息学生(2)各个用例的事件流用例编号:student01用例名称:查询用例说明: 学生登录选

10、课系统后,查看所有课程参与者: 学生;前置条件:学生要先进行登录;基本流程:登录选课系统,点击查看课程,提交系统用例编号:student02用例名称:选课用例说明: 学生登录选课系统后,提交自己要选择的课程参与者: 学生;前置条件:学生要先进行登录;基本流程:登录选课系统,在自己想选的课程后面点击注册,提交系统用例编号:student03用例名称:退课用例说明: 学生登录选课系统后,查看自己已选的课程,根据自己的情况可以退掉一些课程参与者: 学生;前置条件:学生要先进行选课;基本流程:登录选课系统,在自己想退的课程后面点击删除,提交系统用例编号:student04用例名称:修改信息用例说明:

11、学生登录选课系统后,可以对自己的信息进行修改 参与者: 学生;前置条件:学生要先进行登录;基本流程:登录选课系统,点击修改信息,提交系统用例编号:admin01用例名称:管理学生用例说明: 管理员登录选课系统后,可以对学生的信息进行管理 参与者: 管理员前置条件:管理员要先进行登录;基本流程:依照学生情况查看,删除学生信息;用例编号:admin02用例名称:管理课程用例说明: 管理员登录选课系统后,可以对课程的信息进行管理参与者: 管理员前置条件:管理员要先进行登录;基本流程:依照课程情况查看,删除,修改课程信息;用例编号:admin03用例名称:管理教师用例说明: 管理员登录选课系统后,可以

12、对教师的信息进行管理参与者: 管理员前置条件:管理员要先进行登录;基本流程:依照教师情况查看,删除,修改教师信息;用例编号:admin04用例名称:注册用例说明: 管理员登录选课系统后,可以注册其他的管理员参与者: 管理员前置条件:管理员要先进行登录;基本流程:依照教学安排注册新的管理员;(3)业务过程(包括业务协作)(泳道图)7、项目的非功能性需求(1)易用性系统面对的用户包括管理人员、教师、以及在校学生等,在各个接口和设计上,应尽量做到人性化设计,易于为各类用户所操作。(2)安全性由于面对的用户有明显的权限区别,系统必须保证各类用户在使用时不越出自身的权限。采取密码验证的方式,对不同用户进

13、行信息和权限管设置、管理。严格按照权限设置限制各用户的行为,保证系统的安全性和正常运行。(3)鲁棒性由于系统面对的是整个学院的师生,需存储各种用户的课程信息,权限信息等,信息量巨大,同时由于选课时信息量流动性较大,系统在运行过程中必须保证数据的一致性和完整性等。不致出现由系统内部因素而引起的数据信息不一致或丢失等问题。对于突发情况,如断电,机器损坏等,都能及时的恢复事务,以保证系统中数据的完整、正确、一致性。(4)可维护性统交付后将由本团队负责维护和升级,鉴于可维护性方面考虑,要求在系统开发过程中编写详细的文档,以供维护和升级人员查看,减少时间开销。(5)系统的容错性有一定的错误处理能力,如密

14、码错误提示,课容量不足提示等。(6)系统的响应性能允许大量用户同时访问及进行页面交互,因此对系统的稳健性的要求是可以支持2000人同时在线。在选课期间,系统应该能够在7*24小时内运行,系统的反应速度不超过2秒,同时要保证相关的系统核心数据不能丢失。8、系统的环境和设计约束(1)环境约束局域网环境.(2)设计约束必须采用Struts架构设计和实现。(3)技术约束必须采用数据库连接池和数据源方式连接数据库。系统的需求分析和系统建模1、系统静态建模有关系统中主要类的关键名词:学生,课程,管理员,注册,登录,修改,注销,课程选择,课程退除,课程查看,课程添加,课程删除。2、分类(1)界面有关类:输入

15、,输出(2)业务有关类:业务实体:学生,课程,管理员业务逻辑:注册,登录,修改,注销,课程选择,课程退除,课程查看,课程添加,课程删除(3)系统调度有关类:业务调度3、系统的分析类图4、系统的动态建模(1)管理员顺序图(2)管理员活动图(3)学生顺序图(4)学生活动图(5)教师顺序图(6)教师活动图(7)学生状态图(8)课程状态图系统架构设计1、开发平台的选择本项目采用Java平台(由前面的设计约束已经决定)。2、本系统选用B/S架构系统由于需要基于大量的用户的界面交互,同时考虑到本系统需要基于达到“零维护”的设计目标,因此本项目选用B/S架构。为提高系统的开发质量,本项目选择Struts框架

16、,而业务逻辑和数据访问等程序代码采用J2EE JavaBean组件技术进行封装,并应用Tomcat服务器,开发工具使用MyEclipse和Macromedia Dreamweaver,而数据库系统则选择开源的MySQL,并使用Apache DBCP的数据库连接池和数据源连接数据库系统。下面为在本项目中配置出数据库连接池的配置定义文件中的数据源信息: 3、系统的架构包图和部分类图(1)系统包图(2)系统组件图(3)系统类图项目的数据库系统设计1、系统的ER图2、创建系统数据库表结构的SQL语句代码示例(1)建立管理员数据库表create table admin ( adm_id int(16)

17、not null, name varchar(32) default null, password varchar(32) default null, primary key (adm_id);(2)建立学生信息数据库表create table student ( stu_id varchar(16) not null, name varchar(32) default null, password varchar(32) default null, department varchar(32) default null, sex varchar(32) default null, mark

18、int(20) default null, tel varchar(32) default null, email varchar(32) default null, course varchar(100) default null, primary key (stu_id);(3)建立教师数据库表create table teacher( tea_id varchar(16) not null, name varchar(32) default null, password varchar(32) default null, title varchar(32) default null, p

19、rimary key (tea_id);(4)建立课程信息数据库表create table course( cou_id varchar(16) not null, name varchar(32) default null, mark int(20) default null, dep varchar(32) default null, room varchar(32) default null, prepare varchar(32) default null, time varchar(32) default null, teacher varchar(32) default null,

20、 primary key (cou_id);(5)建立班级数据库表create table classes( cla_id varchar(16) not null, teacher_id varchar(32) default null, course_id varchar(32) default null, course_time varchar(32) default null, primary key (cla_id), foreign key (course_id) references course (cou_id), foreign key (teacher_id) refere

21、nces teacher (tea_id);create table coursechosen ( course_id varchar(32) default null, student_id varchar(32) default null, accept varchar(32) default null, score varchar(32) default null, foreign key (course_id) references course (cou_id), foreign key (student_id) references student (stu_id);3、数据字典字

22、段主键数据类型功能描述其它信息stu_id是varchar2它代表student表中的主键,并且与coursechosen表产生关联course_id是varchar2它代表course表中的主键,并且与coursechosen表产生关联项目的系统功能实现1、项目中的各个程序类及Web页面的存储结构关系示图本系统的程序代码主要是在MyEclipse开发工具中编写和调试,某些界面设计运用到XML+XSLT技术,另外大部分界面设计和实现是在Dreamweaver页面设计工具中设计完成的。本项目的基本应用功能如下:(1)应该提供对选课的学生进行基本的管理功能:包括注册、登陆、修改和在线注销等方面的功

23、能;(2)应该提供对课程进行选课、查询课程信息、统计所选择的课程的总学分等基本功能;(3)对部分的功能模块中的数据应该采用XML文件的形式作为持久化的载体,并利用Java中的XML解析技术进行读/写该XML文件中的数据;(4)对部分的功能模块中的页面采用XML+XSLT的方式代替JSP页面进行显示;(5)利用过滤器组件技术实现系统的安全身份验证。除此之外,本项目还完成了以下新的功能:(1)用户和管理员登录之后,主页可以显示用户或管理员的姓名(登录时只输入ID和Password);(2)管理员可以对已经注册的学生和老师进行查看和删除;(3)管理员可以对课程进行添加、查看、修改和删除;(4)学生可

24、以查看自己的课表;(5)教师可以查看自己所开的课程的信息;(6)教师可以查看选自己某门课程的学生的学号和姓名,并统计此门课共有几个人选(7)统计在线人数;2、学生用户系统登陆在浏览器中输入系统的首页面URL地址后,系统将会出现如下的登录表单页面。然后在该登录表单中输入登录的身份信息,并点击其中的“提交”按钮,向系统后台提交登录的身份信息,系统将进行数据检查。如果登录成功,系统将显示出如下的提示信息:学生进行系统登录的后台Action程序类的代码示例如下:import com.stuman.dao.UserManageDAOInterface;import com.stuman.dao.User

25、ManageDAOJDBCImple;import com.stuman.form.*;. . ServletRequest;import javax.servlet. . ServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.stuman.form.

26、userLoginForm;import com.stuman.model.*;public class userLoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) userLoginForm userLoginForm = (userLoginForm) form;String sort = userLoginForm.getSort();int logi

27、nSort = Integer.parseInt(sort);String userName = (userLoginForm.getUsername().trim(); String userPassword = (userLoginForm.getPassword().trim(); switch(loginSort)case 1: UserInfoManageInterface userInfoManageImpleBean=new UserInfoManageImple(); UserManageDAOInterface user=new UserManageDAOJDBCImple(

28、); UserInfoVO userInfoVOBean=new UserInfoVO(); if(user.SelectOneUserInfoData(userName, userPassword)=null) return (mapping.findForward(stu_idNull); request.getSession().setAttribute(stuid, user.SelectOneUserInfoData(userName, userPassword).getId(); userInfoVOBean.setName(userName); userInfoVOBean.se

29、tPassword(userPassword); boolean loginResult=userInfoManageImpleBean.doUserLogin(userInfoVOBean); if (loginResult) request.getSession().setAttribute(isLogin,true); return (mapping.findForward(stuLoginSuccess); else return (mapping.findForward(stuLoginFailure); case 2:TeacherInfoManageInterface Teach

30、erInfoManageImpleBean=new TeacherInfoManageImple(); TeacherInfoVO TeacherInfoVOBean=new TeacherInfoVO(); TeacherInfoVOBean.setName(userName); TeacherInfoVOBean.setPassword(userPassword);boolean teacherResult=TeacherInfoManageImpleBean.doTeacherLogin(TeacherInfoVOBean); if (teacherResult) return (map

31、ping.findForward(stuLoginSuccess); else return (mapping.findForward(stuLoginFailure); case 3: AdminInfoManageInterface AdminInfoManageImpleBean = new AdminInfoManageImple(); AdminInfoVO AdminInfoVOBean=new AdminInfoVO(); AdminInfoVOBean.setName(userName); AdminInfoVOBean.setPassword(userPassword); b

32、oolean AdminResult=AdminInfoManageImpleBean.doAdminLogin(AdminInfoVOBean); if (AdminResult) return (mapping.findForward(adminLoginSuccess); else return (mapping.findForward(adminLoginFailure); return null;而对应的系统数据库表数据访问的DAO组件的程序代码示例如下:import java.sql.*;import java.util.ArrayList;ist;import com.stuma

33、n.model.*;import javax.servlet.*;import java.io.*;import javax.servlet. .*;public class UserManageDAOJDBCImple implements UserManageDAOInterface private java.sql.Connection con=null;ConnectDBInterface connectDBBean=null;public UserManageDAOJDBCImple() connectDBBean=new ConnectDBBean();public boolean

34、 InsertOneUserInfo(UserInfoPO oneUserInfoPO) String insert_SqlStatement=null;insert_SqlStatement=insert into student(stu_id,name,password ,department,sex,tel,email) values (?,?,?,?,?,?,?);con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement

35、,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);pstmt.setString(1, oneUserInfoPO.getId();pstmt.setString(2, oneUserInfoPO.getName();pstmt.setString(3, oneUserInfoPO.getPassword();pstmt.setString(4, oneUserInfoPO.getDepartment();pstmt.setString(5, oneUserInfoPO.getSex();Tel();pstmt.setSt

36、ring(7, oneUserInfoPO.getEmail();pstmt.executeUpdate();catch(SQLException e)System.out.println(在查询数据库表时出现错误!);return false;return true;public UserInfoPO SelectOneUserInfoData(String userName, String userPassWord) ResultSet rs=null;UserInfoPO oneUserInfo=null;String select_SqlStatement=null;select_Sq

37、lStatement=select * from student where name=+ userName+ and password=+userPassWord+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()oneUs

38、erInfo=new UserInfoPO(); /目前只转换下面的几个属性oneUserInfo.setId(rs.getString(stu_id);oneUserInfo.setName(rs.getString(name);oneUserInfo.setPassword(rs.getString(password);elseoneUserInfo=null;catch(SQLException e)System.out.println(在查询数据库表时出现错误!);return oneUserInfo;public boolean UpdateOneStuInfo(UserInfoPO

39、 oneUserInfoPO)String insert_SqlStatement=null;insert_SqlStatement=update student set name=+oneUserInfoPO.getName()+,password =+oneUserInfoPO.getPassword()+,tel=+oneUserInfoPO.getTel()+,email=+oneUserInfoPO.getEmail()+where stu_id=+oneUserInfoPO.getId()+;con=connectDBBean.getConnection();tryjava.sql

40、.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在更新数据库表时出现错误!);return false;return true;public boolean InsertCourseOneStuInfo(String stuid,String couid)Strin

41、g insert_SqlStatement=null;ResultSet rs=null;String select_SqlStatement=null;String stucourse=;String newcourse=;select_SqlStatement=select course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,Resul

42、tSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()stucourse=rs.getString(course);catch(SQLException e)System.out.println(在插入课程到学生数据库表时出现错误!); if(stucourse=null) insert_SqlStatement=update student set course=+couid+ where stu_id=+stuid+;con=connectDBBean.get

43、Connection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在插入数据库表时出现错误!);return false;return true; con=connectDBBean.getConnection();tryjava.sq

44、l.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); pstmt.executeUpdate();catch(SQLException e)System.out.println(在插入数据库表时出现错误!);return false;return true;public List SelectAllUserInfoData()ArrayList results = new ArrayList

45、();try con=connectDBBean.getConnection();Statement sql = con.createStatement();ResultSet rs =sql.executeQuery(select stu_id,name,password,department,sex,tel,email from student);while (rs.next() UserInfoVO student = new UserInfoVO();student.setId(rs.getString(1);student.setName(rs.getString(2);studen

46、t.setPassword(rs.getString(3);student.setDepartment(rs.getString(4);student.setSex(rs.getString(5);student.setTel(rs.getString(6);student.setEmail(rs.getString(7);results.add(student); if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在选择学生时查询数据库表时出现错误

47、!);return null;public boolean DeleteOneStudent(String stuid)try con=connectDBBean.getConnection();Statement sql = con.createStatement();sql.executeUpdate(delete from student where stu_id = +stuid+);catch(SQLException e) System.out.println(在删除学生时查询数据库表时出现错误!); return false;return true;public List Sel

48、ectOneStudent(String stuid)ArrayList results = new ArrayList();try con=connectDBBean.getConnection();Statement sql = con.createStatement();ResultSet rs = sql.executeQuery(select stu_id,name,password,department,sex,tel,email from student where stu_id = +stuid+);while (rs.next() UserInfoVO student = n

49、ew UserInfoVO();student.setId(rs.getString(1);student.setName(rs.getString(2);student.setPassword(rs.getString(3);student.setDepartment(rs.getString(4);student.setSex(rs.getString(5);Tel(rs.getString(6);student.setEmail(rs.getString(7);results.add(student); if (results != null & results.size() 0) re

50、turn results; catch (SQLException e) System.out.println(在选择一个学生时查询数据库表时出现错误!);return null; public boolean DeleteOneStudentCourse(String stuid,String couid) String insert_SqlStatement=null;ResultSet rs=null;String select_SqlStatement=null;String stucourse=;String newcourse=;select_SqlStatement=select

51、 course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()stucourse=rs.getString(course);catch(SQLExcept

52、ion e)System.out.println(在插入课程到学生数据库表时出现错误!);String subString=null;int i=0;while(i 0) return results; catch (SQLException e) System.out.println(在查询数据库表时出现错误!);return null;public List getAllCourse()ArrayList results = new ArrayList();try ection();Statement sql = con.createStatement();(select cou_id,n

53、ame , mark , dep ,room ,prepare , time ,teacher from course);while (rs.next() Course courForStu = new Course();courForStu.setCouid(rs.getString(1);courForStu.setName(rs.getString(2);courForStu.setMark(rs.getInt(3);courForStu.setDep(rs.getString(4);courForStu.setRoom(rs.getString(5);courForStu.setPre

54、pare(rs.getString(6);g(7);courForStu.setTeacher(rs.getString(8);results.add(courForStu);if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在查询数据库表时出现错误!);return null; public boolean deleteOneCourse(String couid)try con=connectDBBean.getConnection();Stat

55、ement sql = con.createStatement();sql.executeUpdate(delete from course where cou_id = +couid+);catch(SQLException e)ut.println(在删除课程时查询数据库表时出现错误!); return false;return true;public List getOneCourse(String couid)ArrayList results = new ArrayList();try con=connectDBBean.getConnection();Statement sql =

56、 con.createStatement();ResultS(select cou_id,name , mark , dep ,room ,prepare , time ,teacher from course where cou_id = +couid+);while (rs.next() Course courForStu = new Course();courForStu.setCouid(rs.getString(1);courForStu.setName(rs.getString(2);courForStu.setMark(rs.getInt(3);courForStu.setDep

57、(rs.getString(4);courForStu.setRoom(rs.getString(5);courForStu.setPrepare(rs.getString(6);courForStu.setTime(rs.getString(7);courForStu.setTeacher(rs.getString(8);results.add(courForStu);if (results != null & results.size() 0) return results; catch (SQLException e) System.out.println(在得到某个课程信息查询数据库表

58、时出现错误!);return null; public List getOneStuCourse(String stuid) ArrayList results = new ArrayList(); ArrayList courseresults = new ArrayList(); String sel_SqlStatement=null;ResultSet rs=null; String select_SqlStatement=null;String stucourse=;String course=;int i=0;String subString=;select_SqlStatemen

59、t=select course from student where stu_id= +stuid+;con=connectDBBean.getConnection();tryjava.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = pstmt.executeQuery();if(rs.next()course=rs.getString(course);while(icou

60、rse.length()subString=course.substring(i,i+4);results.add(subString);i=i+4;catch(SQLException e)System.out.println(在选择学生课程时查询数据库表时出现错误!);i=0;while(i 0) return courseresults; return null;4、查看某学生所有的已选课程信息当某学生对自己的各个课程选择完毕后,系统将会汇总出该学生的各个已选课列表信息。对应此功能的系统后台Action程序类的代码示例如下:import com.stuman.form.*;import

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论