学生选课管理系统实训需求开发指导书.doc_第1页
学生选课管理系统实训需求开发指导书.doc_第2页
学生选课管理系统实训需求开发指导书.doc_第3页
学生选课管理系统实训需求开发指导书.doc_第4页
学生选课管理系统实训需求开发指导书.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

学生选课管理系统实训指导书 主 编:张小华 姚骏屏副主编:李冀明 张正龙目录1系统需求概述42系统需求分析42.1系统用例分析42.2总体业务流程分析52.3系统功能分析62.4系统功能流程描述72.4.1登录72.4.2教师信息管理72.4.3课程信息管理82.4.4班级信息管理92.4.5学生信息管理102.4.6选授课程112.4.7选授班级122.4.8评定成绩132.4.9教师信息修改142.4.10选学课程142.4.11成绩查询152.4.12学生信息修改163系统设计173.1系统数据库设计173.1.1物理数据模型173.1.2系统数据字典183.2技术架构设计203.3功能时序图213.3.1登录213.3.2班级信息管理223.3.3学生信息管理233.3.4教师信息管理243.3.5课程信息管理253.3.6选授课程263.3.7选授班级273.3.8评定成绩283.3.9教师信息修改293.3.10选学课程303.3.11成绩查询323.3.12学生信息修改334系统程序实现344.1开发环境344.1.1开发工具配置(略)344.1.2工程代码导入344.2工程结构354.3程序开发指南354.3.1编码规范364.3.2理解需求384.3.3理解设计384.3.4VO对象封装384.3.5Servlet层实现414.3.6Service层实现474.3.7DAO层实现504.3.8JSP页面实现591 系统需求概述目前高校大多都采用学分制的教学方式,因此学生可以在遵守课程管理的基础上,依照自己的兴趣爱好来选择所学习的课程,此方式大大提高了学生的自主性和积极性,但却给教学、课程管理提出了更高的要求,因此提出本系统,期望能将学生选课管理信息化、规范化、制度化。提出本系统期望实现的功能大致包括:系统登录管理、基础信息管理、教师授课管理和学生选课管理。通过四个管理子功能实现整个学生选课管理系统的完整性、适用性。系统登录管理,本系统的所有操作都应保证安全性,要求必须在完成登录验证通过后才能继续下一步的操作。管理员登录成功后,可操作基本信息的管理功能;教师登录成功后,可操作老师授课管理的功能,学生登录成功后,可操作学生选课管理的功能。基础信息管理,是指管理员在登录成功之后,可以对系统中的课程信息、班级信息、教师信息、学生信息等基础信息数据进行管理和维护,为教师授课管理和学生选课管理提供操作数据,在此需要明确的是,在进行教师信息和学生信息维护的同时,也向本系统增加了对应的教师用户和学生用户,而管理员用户将在数据库初始化是完成(在数据库设计中将详细说明)。教师授课管理,是指教师用户登录成功后,可以选择教授哪一门或多门课程,并可选择给哪个班级教授该课程,在所授的课程结束后,对学生进行成绩评定的一系列相关操作。除此之外,还包括个人密码维护。学生选课管理,是指学生用户登录成功后,可以选择学习哪一门课程,并在学习结束后,查询所学课程的成绩等一系列操作,除此之外,还包括个人密码维护。2 系统需求分析2.1 系统用例分析根据系统的需求描述进行分析,我们得出本系统的用户角色分为系统管理员、教师和学生,每一类角色的用户可以完成各自不同的业务功能。其中管理员的用例包括:登录、信息管理(课程信息管理、班级信息管理、教师信息管理、学生信息管理);教师的用例包括:登录、选择授课课程、确定授课班级、所授学生评分和密码维护;学生用户的用例包括:登录、选择所学课程、查看课程成绩和密码维护。(见图1)图1:系统用例图2.2 总体业务流程分析本系统的总体业务流程,涵盖了学分制教学活动中教师授课、评定成绩、学生选课、查询成绩等一系列任务,首先系统管理员登录系统,进行系统基本信息的管理维护,增加教师信息、课程信息、班级信息、学生信息后,教师才可以登录系统,选择所教课程,学生也可登录系统选择所学课程,然后教师根据学生的选学课程情况,确定所教班级,并在课程结束后,给自己所教课程的班级内的同学评定成绩,最后学生查询自己的课程成绩。(见图2)图2:总体业务概要流程图2.3 系统功能分析根据系统总体业务流程,结合系统操作的分级、分权限及系统操作的便捷性,从系统操作功能上,将系统划分成如下的几个功能模块或子功能模块:信息管理模块:主要由系统管理员操作,完成教师信息维护、课程信息维护、班级信息维护、学生信息维护等基础信息数据的管理功能。授课管理模块:主要由教师角色操作,完成选授课程、选授班级、评定成绩等授课管理相关的管理功能。选课管理模块:主要由学生角色操作,完成选学课程、查询成绩等选课管理相关的模块。根据系统的功能分析列出功能清单及优先级说明 A:高;B:中;C:低 功能模块名称功能名称优先级信息管理登录管理A教师信息管理A课程信息管理A班级信息管理A学生信息管理A授课管理选授课程A选授班级A评定成绩A密码维护B选课管理选学课程A查询成绩A密码维护B表1:系统功能清单2.4 系统功能流程描述2.4.1 登录流程描述:用户进入登录页面输入账号、密码,选择用户类型后,点击登录按钮提交登录信息,系统接收到登录请求后,根据提交的用户名及用户类型调用系统登录的业务方法,该方法根据用户名及用户类型作为查询条件,获取到该用户的信息,并返回给调用者进行用户的密码验证,通过后进入系统主页面,失败则进入登录页面并提示。2.4.2 教师信息管理流程描述: 管理员用户登录成功后,进入系统主页面,可以进行教师信息的管理(增、删、查、改)。在教师信息管理列表页面点击增加进入新增页面,输入教师信息并提交,调用业务保存教师信息,成功后返回到教师信息列表页面并显示新增的教师信息,选中教师信息点击修改进入修改页面并显示出教师已有信息,修改信息后提交,调用业务保存修改后的教师信息,成功后返回到教师信息列表页面,选中教师信息点击删除,提示用户将删除教师信息,确认后调用业务教师班级信息,成功后返回教师列表页面。2.4.3 课程信息管理流程描述:管理员用户登录成功后,进入系统主页面,可以进行课程信息的管理(增、删、查、改)。在课程信息管理列表页面点击增加进入新增页面,输入课程信息并提交,调用业务保存课程信息,成功后返回到课程信息列表页面并显示新增的课程信息,选中课程信息点击修改进入修改页面并显示出课程已有信息,用户修改信息后提交,调用业务保存修改后的信息,成功后返回到课程信息列表页面,选中课程信息点击删除,提示用户将删除课程信息,确认后调用业务删除课程信息,成功后返回课程列表页面。2.4.4 班级信息管理流程描述:管理员用户登录成功后,进入系统主页面,可以进行班级信息的管理(增、删、查、改)。在班级信息管理列表页面点击增加进入新增页面,输入班级信息并提交,调用业务保存班级信息,成功后返回到班级信息列表页面并显示新增的班级信息,选中班级信息点击修改进入修改页面并显示出班级已有信息,用户修改信息后提交,调用业务保存修改后的信息,成功后返回到班级信息列表页面,选中班级信息点击删除,提示用户将删除班级信息,确认后调用业务删除班级信息,成功后返回班级列表页面。2.4.5 学生信息管理流程描述:管理员用户登录成功后,进入系统主页面,可以进行学生信息的管理(增、删、查、改)。在学生信息管理列表页面点击增加进入新增页面,输入学生信息并提交,调用业务保存学生信息,成功后返回到学生信息列表页面并显示新增的学生信息,选中学生信息点击修改进入修改页面并显示出学生已有信息,修改信息后提交,调用业务保存修改后的学生信息,成功后返回到学生信息列表页面,选中学生信息点击删除,提示用户将删除学生信息,确认后调用业务学生班级信息,成功后返回学生列表页面。2.4.6 选授课程流程描述:教师进入选课模块,系统自动列出待授的课程(上课人数不够的课程),教师选择课程后提交,系统会判断当前该课程授课人数是否大于规定人数,如果是,则提示失败信息,教师返回后,课从新转到选课界面,从新操作。否则提示操作成功。如下图2.4.7 选授班级流程描述:教师登录系统后,选择选授班级的功能按钮后,将根据教师所授的课程为条件,将选择学习这门课程的同学所在的班级信息展现出来,教师再确定给哪个班级上所选择的课程,如下图2.4.8 评定成绩流程描述:教师登录成功后,首先选择该教师所教授的课程,然后再选择该教师教授的班级,提交信息后系统显示该班级的所有同学的信息,教师逐个将成绩录入系统,然后提交系统保存。2.4.9 教师信息修改流程描述:教师登录成功后,可修改自己的一些信息,包括登录密码,基本信息等。2.4.10 选学课程流程描述: 学生用户登录成功后,进入系统主页面,可以进行选学课程,点击选学课程 进入选学课程界面,显示出课程列表,选择一门课程,确认以后对该学生的课程总数以及已有课程进行判断,如果已达上线,则不能再选择,如果选中的课程已经存在,则不能再选择,判断无误后,该学生选择成功2.4.11 成绩查询流程描述: 学生用户登录成功后,进入系统主页面,可以进行成绩查询,选择查询成绩,进入成绩查询界面,选择查询条件,系统返回查询的成绩结果2.4.12 学生信息修改流程描述:学生用户登录成功后,进入系统主页面。可通过跳转进入学生信息修改页面并显示出学生已有信息,输入学生信息后点击修改进行学生信息的修改后提交,调用业务保存修改后的学生信息,成功后返回到学生信息修改页面,错误后给出提示并返回到学生信息修改页面。3 系统设计3.1 系统数据库设计3.1.1 物理数据模型根据系统功能分析得出,本系统的数据结构为:系部信息表、教师信息表、课程信息表、班级信息表、学生信息表、教师课程班、学生课程表、教师授课班级表以及系统用户表。其中系部信息表是为了关系教师与学生,其数据不由系统管理,将在数据库初始化的时候根据学院情况操作数据库录入数据给本系统使用;系统用户表在数据库初始化的时候,也将直接操作数据库,录入系统管理员的用户数据,当管理员通过系统进行教师信息和学生信息维护的时候,将在系统用户表中增加对应的教师用户和学生用户。3.1.2 系统数据字典表格:UserInfo注释系统用户表表名UserInfo字段名注释数据类型精度必填主键外键备注User_Code登陆账号varchar(32)YPKUser_Name用户名称varchar(50)YUser_Pwd用户密码varchar(50)YUser_Type用户类型Char(1)Y0管理1员教师2学生表格:DeptInfo注释系部信息表表名DeptInfo字段名注释数据类型精度必填主键外键备注Dept_Code系部代码varchar(32)YPKDept_Name系部名称varchar(50)YDept_Desc备注varchar(200)表格:TeacherInfo注释教师信息表表名TeacherInfo字段名注释数据类型精度必填主键外键备注Teacher_Code教师工号varchar(32)YPKTeacher_Name教师姓名varchar(50)YDept_Code所属系部varchar(32)YFKTeacher_Mobile教师电话varchar(11)Y表格:CourseInfo注释课程信息表表名CourseInfo字段名注释数据类型精度必填主键外键备注Course_Code课程代码varchar(32)YPKCourse_Name课程名称varchar(50)YCourse_Credit课程学分Int(4)Course_Type课程性质Char(1)Y0-必修1-选修Dept_Code课程专业(系部)varchar(32)YFKCourse_limit限选人数intY表格:ClassInfo注释班级信息表表名ClassInfo字段名注释数据类型精度必填主键外键备注Class_Code班级代码varchar(32)YPKClass_Name班级名称varchar(50)YDept_Code所属专业(系部)varchar(32)YFK表格:StudentInfo注释学生信息表表名StudentInfo字段名注释数据类型精度必填主键外键备注Student_Code学生学号varchar(32)YPKClass_Code班级代码varchar(32)YFKStudent_Name学生姓名varchar(50)YStudent_Sex学生性别Char(1)Y0- 男1- 女Student_Addr联系地址Varchar(255)YStudent_Phone家庭电话varchar(50)YStudent_Mobile移动电话varchar(11)YStudent_Email电子邮箱varchar(50)YStudent_QQ联系QQvarchar(16)Y表格:Teacher_Course注释老师课程表表名Teacher_Course描述教师选择可以教哪些课程字段名注释数据类型精度必填主键外键备注Teacher_Course_ID老师课程IdInt(8)PKTeacher_Code教师代码varchar(32)FKCourse_Code课程代码varchar(32)FK表格:Class_Course注释班级开课信息表名Class_Course描述教师教哪些班级的哪些课程字段名注释数据类型精度必填主键外键备注Class_Course_ID班级开课IdInt(8)PKCourse_Code课程代码varchar(32)FKClass_Code班级代码varchar(32)FK表格:Teacher_Class_Course注释教师授班班级表表名Teacher_Class_Course描述教师教哪些班级的哪些课程字段名注释数据类型精度必填主键外键备注Teacher_Class_Course_Id教授授课班级IdInt(8)PKTeacher_Course_ID教授授课代码Int(8)FKClass_Course_ID班级课程IdInt(8)FK表格:Student_Course注释学生选课表表名Student_Course描述学生选择的哪些课程,以及该课程是状态,和通过时的成绩字段名注释数据类型精度必填主键外键备注Student_Course_Id学生选课IdInt(8)PKStudent_Code学生学号varchar(32)YFKCourse_Code课程代码varchar(32)YFKCourse_Grade课程成绩Float(5,2)Course_State课程状态Char(1)Y3.2 技术架构设计本系统采用MODEL1的程序架构方式,主要让同学们熟练掌握JSP+SERVLET技术开发企业级WEB应用程序的技能。并在此开发过程中,了解软件开发活动的组织与管理。3.3 功能时序图3.3.1 登录系统管理员、教师和学生角色的用户都可执行登录的操作,用户访问登录页面,输入用户名和密码后,提交登录请求,由LoginServlet负责接收请求,封装用户提交的登录信息,并调用LoginService的业务逻辑接口,在业务逻辑处理中将登录信息传递到LoginDao的数据访问层中对应的方法中,进行登录信息的查询,并将结果逐级返回,根据返回结果跳转到对应的视图页面中。3.3.2 班级信息管理班级信息管理由管理员角色的用户进行操作,管理员登录系统后,可访问classList.jsp页面进入班级管理的主页,在此页面中,用户可以提交增加、修改、删除、查询班级信息的请求到ClassServlet中,servlet接收到操作请求并封装好请求信息后,调用ClassService中对应的业务逻辑方法,在ClassService中在处理相关业务时调用ClassDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.3 学生信息管理学生信息管理由管理员角色的用户进行操作,管理员登录系统后,可访问studentList.jsp页面进入学生管理的主页,在此页面中,用户可以提交增加、修改、删除、查询学生信息的请求到StudentServlet中,servlet接收到操作请求并封装好请求信息后,调用StudentService中对应的业务逻辑方法,在StudentService中在处理相关业务时调用StudentDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.4 教师信息管理教师信息管理由管理员角色的用户进行操作,管理员登录系统后,可访问teacherList.jsp页面进入教师管理的主页,在此页面中,用户可以提交增加、修改、删除、查询教师信息的请求到TeacherServlet中,servlet接收到操作请求并封装好请求信息后,调用TeacherService中对应的业务逻辑方法,在TeacherService中在处理相关业务时调用TeacherDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.5 课程信息管理课程信息管理由管理员角色的用户进行操作,管理员登录系统后,可访问courseList.jsp页面进入课程管理的主页,在此页面中,用户可以提交增加、修改、删除、查询课程信息的请求到CourseServlet中,servlet接收到操作请求并封装好请求信息后,调用CourseService中对应的业务逻辑方法,在CourseService中在处理相关业务时调用CourseDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.6 选授课程选授课程是由教师角色的用户执行的操作,教师在登录系统成功后,通过点击“选授课程”的功能按钮,发送selectCourse的请求到TeacherServlet中,servlet接收到操作请求并封装好请求信息后,调用TeacherService中对应的业务逻辑方法,在TeacherService中在处理相关业务时调用TeacherDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.7 选授班级选授班级是由教师角色的用户执行的操作,教师在登录系统成功后,通过点击“选授班级”的功能按钮,发送selectClass的请求到TeacherServlet中,servlet接收到操作请求并封装好请求信息后,调用TeacherService中对应的业务逻辑方法,在TeacherService中在处理相关业务时调用TeacherDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.8 评定成绩评定成绩是由教师角色的用户执行的操作,教师在登录系统成功后,通过点击“评定成绩”的功能按钮,发送gradeCourses的请求到TeacherServlet中,servlet接收到操作请求并封装好请求信息后,调用TeacherService中对应的业务逻辑方法,在TeacherService中在处理相关业务时调用TeacherDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.9 教师信息修改教师信息修改是由教师角色的用户执行的操作,教师在登录系统成功后,通过点击“信息修改”的功能按钮,发送editTeacher的请求到TeacherServlet中,servlet接收到操作请求并封装好请求信息后,调用TeacherService中对应的业务逻辑方法,在TeacherService中在处理相关业务时调用TeacherDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.10 选学课程选学课程是由学生角色的用户执行的操作,学生在登录系统成功后,通过点击“选学课程”的功能按钮,发送selectCourse的请求到StudentServlet中,servlet接收到操作请求并封装好请求信息后,调用StudentService中对应的业务逻辑方法,在StudentService中在处理相关业务时调用StudentDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。重复选择同一门课程时的程序调用时序图:成功选课的程序调用时序图:3.3.11 成绩查询成绩查询是由学生角色的用户执行的操作,学生在登录系统成功后,通过点击“查询成绩”的功能按钮,发送queryGrade的请求到StudentServlet中,servlet接收到操作请求并封装好请求信息后,调用StudentService中对应的业务逻辑方法,在StudentService中在处理相关业务时调用StudentDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。3.3.12 学生信息修改学生信息修改是由学生角色的用户执行的操作,学生在登录系统成功后,通过点击“信息修改”的功能按钮,发送editStudent的请求到StudentServlet中,servlet接收到操作请求并封装好请求信息后,调用StudentService中对应的业务逻辑方法,在StudentService中在处理相关业务时调用StudentDao数据访问层相应的方向为其提供数据服务。在处理完成后,将处理结果返回到servlet中,并根据结果执行相应的页面跳转。4 系统程序实现4.1 开发环境本系统的开发工具采用Eclipse3.2的集成开发环境,在Eclipse3.2开发平台中集成MyEclipse6.5、Tomcat6.0.18、JUnit4.0 。数据库采用的是MySQL5.0,WEB应用服务器采用的是Apache的Tomcat。版本管理采用的是CVS。4.1.1 开发工具配置(略)MyEclipse下载安装:MySQL下载安装:CVS下载安装:4.1.2 工程代码导入在Eclipse中采用CVS版本控制管理的插件,从工程版本管理的服务器上导入工程代码结构。此过程由实训教师,在课堂讲授。4.2 工程结构逻辑控制层数据传输层(数据库对象)JSP文件脚本文件图片文件基础类包样式文件公共文件基础类包数据访问层次 业务逻辑层4.3 程序开发指南4.3.1 编码规范 包的命名例如com.zds.scm.class全部字母小写,以com.zds.scm打头,com.zds.scm.功能模块.层次结构的方式命名。其中的层次结构按如下划分: 数据访问层: dao 工具类包: util 业务逻辑层: bs 控制层: servlet 数据传输层: vo 类的命名1、英文单词首字母大写,其它小写;2、能体现类所处理的主要业务含义的名词或偏正式名词结构短语;3、数据访问层的类已Dao结尾,如: 4、业务逻辑层的类已Service结尾,如:5、表现层的类已Servlet结尾,如:6、工具类放在com.zds.scm.util包中,类名以Util结束,如DBUtil。7、常量类命名,以constant结尾 方法命名1、方法以动名词结构或动名词短语命名2、方法首字母小写,以后每个英文单词的首字母大写,方法命名能够体现该方法处理逻辑的主题3、类型转换、判断、Boolean取值等特殊方法例外,如:toString(),isLogined(),hasChild()4、数据库操作,新增,修改,删除,查看方法分别以create,update,delete、view/get/query开头。 变量命名1、每行定义一个变量2、首写字母小写,以后每个单词首字母大写3、有含义的名词,可使用符合英文习惯的缩写4、实例变量的定义紧跟在类定义之后,局部变量定义在方法定义之后或使用该变量的最近代码块之首,但不要在循环块内 JavaDoc1、类和接口/* * 类或接口的说明. * * author unascribed * since 1.0, yyyy-mm-dd */2、方法/* * 逻辑处理说明 * * param 参数说明 * return 返回值说明. * exception 异常说明 * author 作者 * since 1.0, yyyy-mm-dd * /3、实例变量和常量/* * 变量说明 * /4、注释单行注释使用 /;多行注释使用/*/;对每一个代码块必须写注释,trycatchfinally除外,如:/If(exp)对于方法调用必须写注释,如:/String msg = clz.callMethod();对于局部变量的定义必须写注释,如:/ String msg;重要的逻辑代码必须写注释,如:该项目主要结构分为三层,servlet(逻辑控制层)/service(bs业务逻辑层)/dao(数据访问层),本文将以用户管理为示例,讲解各层代码的编写过程。4.3.2 理解需求通过系统用户管理的用例图或流程图,来理解项目的用户管理需求信息。4.3.3 理解设计根据系统设计首先理解数据库表的设计,再根据用户管理的功能时序图来理解用户是如何提交请求到servlet中,并调用相关的业务逻辑组件,访问数据信息的。在此基础上,依照本系统的代码结构去完成各个层级的类文件的编写。4.3.4 VO对象封装采用面向对象的编程思想,在程序代码中所操作的数据都应该封装成对象,针对示例操作的是用户管理,所以将数据库中的用户表封装成程序代码中的用户对象,其中包括了用户的基本属性,以及每个属性对应的getXXX()方法、 setXXX()方法。示例代码如下:package com.zds.scm.user.vo;import java.sql.Date;public class UserVo / idprivate String id;/ 编号private int code;/ 姓名private String name;/ 地址private String address;/ 出生年月日private Date birthday;/ 性别private String sex;/ 电话private String telephone;/ Emailprivate String email;/ 备注private String note;public String getId() return id;public void setId(String id) this.id = id;public String getName() return name;public void setName(String name) = name;public String getAddress() return address;public void setAddress(String address) this.address = address;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public Date getBirthday() return birthday;public void setBirthday(Date birthday) this.birthday = birthday;public int getCode() return code;public void setCode(int code) this.code = code;public String getTelephone() return telephone;public void setTelephone(String telephone) this.telephone = telephone;public String getEmail() return email;public void setEmail(String email) this.email = email;public String getNote() return note;public void setNote(String note) this.note = note;4.3.5 Servlet层实现该层处理用户提交的请求,获取并封装用户的请求数据后提交给业务逻辑层,根据业务逻辑层返回的结果进行页面的控制跳转。我们为了使控制跳转更为方便,结构更为清晰,采用一个功能模块对应一个servlet的方式,根据上面的包可以看出.针对不同的客服端请求(获取客服端请求参数),在servlet中去调用与之对应的方法来实现和后台的交互与跳转,下面看用户基本信息处理的代码示例package com.zds.scm.user.servlet;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.zds.scm.user.bs.UserService;import com.zds.scm.user.vo.UserVo;public class UserServlet extends HttpServlet Logger log = Logger.getLogger(UserServlet.class);protected void service(HttpServletRequest arg0, HttpServletResponse arg1)throws ServletException, IOException / 设置字符编码arg0.setCharacterEncoding(utf-8);super.service(arg0, arg1);private UserService userBs = new UserService();protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / 获得用户执行的操作方法String opt = req.getParameter(opt);(opt=+opt);if (opt = null | opt.equals() resp.sendRedirect(main.jsp);return;/ 模糊查询if (opt.equals(queryUserList) this.queryUserList(req, resp);return;/ 查找所有用户信息if (opt.equals(getUserList) this.getUserList(req, resp);return;/ 删除用户信息if (opt.equals(deleteUser) this.deleteUser(req, resp);return;/ 增加用户信息if (opt.equals(addUser) addUser(req, resp);return;/ 修改用户信息if (opt.equals(editUser) editUser(req, resp);return;/ 根据ID查询,再进行修改处理if (opt.equals(getUserById) getUserbyId(req, resp);return;protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / TODO Auto-generated method stubthis.doGet(req, resp);/* * 条件查找用户信息 */public void queryUserList(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException String code = req.getParameter(code);String name = req.getParameter(name);List getUserList = userBs.queryUserList(code, name);req.setAttribute(getUserList, getUserList);req.getRequestDispatcher(/jsp/user/userShow.jsp).forward(req, resp);/* * 查询所有用户信息 */public void getUserList(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException List getUserList = userBs.getUserList();req.setAttribute(getUserList, getUserList);req.getRequestDispatcher(/jsp/user/userShow.jsp).forward(req, resp);/* * 删除所有用户信息 */public void deleteUser(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException / 处理乱码resp.setContentType(text/html;charset=utf-8);resp.setCharacterEncoding(utf-8);PrintWriter out = resp.getWriter();String userId = null;/ 获得要删除的id并放入check数组String check = req.getParameterValues(checkbox);/ 循环取出所有要删除员工的idfor (int i = 0; i check.length; i+) userId = checki;if (userBs.deleteUser(userId) out.print(alert(删除成功);javascript:document.location=UserServlet?opt=getUserList;); else out.print(alert(删除失败);javascript:document.location=User

温馨提示

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

评论

0/150

提交评论