1、jsp应用开发课程设计与附录代码jsp应用开发课程设计实训报告专业班级:web11307指导老师:黄 铭地 点:J1B401机房小组成员:侯燕、严映婷 饶琴英、李晓梅时间:19周,2013年01月07日-11日1.1需求分析.11.2项目设计.2 1.2.1选择开发模型.2 1.2.2数据库设计.21.3项目实施.3 1.3.1通用功能的实现.3 1.3.2普通用户功能的实现.3 1.3.3管理员功能的实现.31.4项目运行.4 1.4.1 Web项目的目录结构.4 1.4.2 Web项目的发布.41.5个人总结.51.1需求分析1.组织结构分析学生信息查询系统的组织结构图如下:1.系统需求分
2、析此系统需要实现的功能如下: A.按照教师,学生,管理员三种角色设计系统功能。B.学生成绩查询(学生):学生信息查询(按照学号、姓名、性别、住址)C.学生成绩查询(教师):登记,修改,删除某班某个学生的成绩,可以一次输入入某班全部学生的成绩等。 D.管理员查询(管理员):登记,对学生,老师进行管理,进行如下操作:1、增加学生信息、删除学生信息、修改学生信息;2、删除老师信息、添加老师信息、修改学生信息2.系统用户分析“学生信息查询系统”主要是针对学生和教师查询工作而开发的应用软件。通常有系统管理员、教师和学生三种用户,他们的使用权限如下:系统管理员:计算机人员,对系统、数据库进行维护,主要对不
3、同人员赋予不同的权限。教师:对学生的成绩进行查询,增加,修改。学生:一般操作水平,能够在本系统查询个人的学习才成绩及个人基本信息。4.数据库需求分析学生成绩查询系统的数据库主要用于学生信息、教师信息、系统管理员信息和成绩查询信息的管理,因此数据库设计必须充分满足这些功能要求。根据系统结构设计中各子系统的功能要求,可确定数据库的具体需求如下:A.学生成绩及个人信息查询部分(学生)B.学生成绩管理部分(教师)C.管理员查询部分(管理员) 1.2项目设计1.2.2选择开发模型 本系统的开发基于MVC模式,其中模型层负责业务数据的表示和实现业务逻辑,用Java类实现;视图层用于与用户交互,由JSP页面
4、实现,通过在JSP页面中使用EL和JSTL,避免了Java脚本的出现;控制器层完成流程控制,它接收来自视图层用户输入的数据并调用相应的模型进行处理,最后选择合适的视图去响应用户,控制器层用Servlet实现。1.2.2 数据库设计本系统的数据信息存储在MYSQL数据库服务器的数据库中,数据库中共有一张数据表,即student,及student表中储存着学生登录信息。 Student表1.3项目实施 1.3.1 通用功能的实现 系统的通用功能就只包括访问数据库,这些功能通过jsp语言来实现。 A.数据库访问 数据库访问在chaall.jsp,Cha.jsp,zeng.jsp,gai.jsp包括创
5、建数据库连接、创建语句对象、设置MYSQL语句的参数、返回查询操作的单条记录、返回查询操作的多条记录、执行更新语句、关闭数据库连接等功能。 文件名:chaall.jsp PreparedStatement pstmt=null; Statement stmt=null; ResultSet rs=null; String cloStr=sno,sname,cclass,sex,age,nation,clname,place; String showStr=学生编号,学生姓名,所在年级,性别,年龄,民族,专业,住址; if(conn=null) String strURL=jdbc:mysql:
6、/localhost:3306/student?useUnicode=true&characterEncoding=GBK; String strDBUser=root; String strDBPwd=; try Class.forName(com.mysql.jdbc.Driver); System.out.println(连接数据库成功.); conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd); catch(ClassNotFoundException e) e.printStackTrace(); o
7、ut.println(您输入的信息有误,请查证后再重新输入!); catch(Exception ex)ex.printStackTrace(); out.println(您输入的信息有误,请查证后再重新输入!); try String sql=select * from stu_info;stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); rs.last(); int size=rs.getRow(); pageCount=(
8、size%PAGESIZE=0)?(size/PAGESIZE):(size/PAGESIZE+1); 文件名:Cha.jspString cloStr=sno,sname,cclass,sex,age,nation,clname,place; String showStr=学生编号,学生姓名,所在年级,性别,年龄,民族,专业,住址; if(conn=null) String strURL=jdbc:mysql:/localhost:3306/student?useUnicode=true&characterEncoding=GBK; String strDBUser=root; String
9、 strDBPwd=; try Class.forName(com.mysql.jdbc.Driver); out.println(连接数据库成功.); conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd); catch(ClassNotFoundException e) e.printStackTrace(); out.println(您输入的信息有误,请查证后再重新输入!); catch(Exception ex) ex.printStackTrace(); out.println(您输入的信息有误,请查证
10、后再重新输入!); try String sql=select * from stu_info; stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);/返回可滚动结果集 rs=stmt.executeQuery(sql); rs.last(); int size=rs.getRow(); pageCount=(size%PAGESIZE=0)?(size/PAGESIZE):(size/PAGESIZE+1); catch(Exception ex) ex.printStackTra
11、ce(); out.println(您输入的信息有误,请查证后再重新输入!); 文件名:zeng.jspStringstrURL=jdbc:mysql:/localhost:3306/student?useUnicode=true&characterEncoding=GBK; String strDBUser=root; String strDBPwd=; try Class.forName(com.mysql.jdbc.Driver); conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd); catch(Cl
12、assNotFoundException e) e.printStackTrace(); out.println(您输入的信息有误,请查证后再重新输入!); catch(Exception ex) ex.printStackTrace(); out.println(您输入的信息有误,请查证后再重新输入!); try sno=request.getParameter(sno); byte no=sno.getBytes(ISO-8859-1); sno=new String(no); 文件名:gai.jsp java.sql.Connection conn=null; PreparedState
13、ment pstmt=null; Statement stmt=null; ResultSet rs=null;String cloStr=sno,sname,cclass,sex,age,nation,clname,place;String showStr=学生编号,学生姓名,所在年级,性别,年龄,民族,专业,住址;String sno,sname,cclass,sex,age,nation,clname,place;StringstrURL=jdbc:mysql:/localhost:3306/student?useUnicode=true&characterEncoding=GBK;St
14、ring strDBUser=root; String strDBPwd=;try Class.forName(com.mysql.jdbc.Driver); conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd); catch(ClassNotFoundException e) e.printStackTrace(); out.println(您输入的信息有误,请查证后再重新输入!); 1.3.2普通用户功能的实现 普通用户功能包括查询,删除,修改,增加信息。代码略 1.3.3 管理员功能的实现 管理员登录后将
15、浏览到所有信息,并且可以信息进行添加、修改、删除添加。 (1)管理员登录html 欢迎登陆学生信息管理系统用户名:密码:(2)管理员登录成功jspmname=request.getParameter(mname);mpassword=request.getParameter(mpassword);out.println(登陆成功,用户名+mname+,);out.println(密码+mpassword+);%你拥有管理员权限请选择您要进行的操作: (3)查询所有jspjava.sql.Connection conn=null; PreparedStatement pstmt=null; St
16、atement stmt=null; ResultSet rs=null;String cloStr=sno,sname,cclass,sex,age,nation,clname,place; String showStr=学生编号,学生姓名,所在年级,性别,年龄,民族,专业,住址; if(conn=null)String strURL=jdbc:mysql:/localhost:3306/student?useUnicode=true&characterEncoding=GBK; String strDBUser=root; String strDBPwd=; try Class.forNa
17、me(com.mysql.jdbc.Driver); System.out.println(连接数据库成功.);(4)按学号查询html 欢迎您使用学生管理系统返回首页查 询 操 作 点击该处查询全部学生信息请输入学生学号:请输入学生姓名:(5)删除jsp删 除 操 作请输入学生学号:请输入学生姓名:请输入学生性别:(6)添加jsp请输入新的学生信息:学号:姓名:年级:性别:.(此处省略) (7)修改html修 改 操 作请输入要修改的学生学号: 请参照查询结果修改学生信息:学号:姓名:年级:性别:.(此处省略) (8)修改信息前jsp(9)修改信息后jsp1.4项目运行1.4.1 Web项目
18、的目录结构 Web项目zx的最终目录结构如图下所示:1.4.2 Web项目的发布将web项目发布到tomcat服务器上可以通过打包、安装的方式。1、打包 Web项目发布时,需要将webRoot目录下的所有内容打包到一个war文件中。使用WAR文件更新以便于web项目的发布和设置,便于web应用的移植。打包时,需要进入web项目的webroot目录下,运行如下命令:Jar cvf ch14.war.2、安装 将WAR文件复制到$CATALINA-HOMEwebapps目录下即可,然后再浏览器地址栏中输入URL:http:/locahost:8080/ch14,即可访问web应用。1.5 个人总结一周的综训不仅仅是完成项目,更是对一学期所学知识的一个总结,一个检验,综训让自我知道了自身存在问题的地方,找到了方向,不在像最初那样知道自己有很大问题,但不知问题所以然。我们小组的项目是学生信息管理系统,主要的目的就是熟悉数据库的链接,而数据库的链接是我存在的最大的问
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1