jsp应用开发课程设计与附录代码.docx
《jsp应用开发课程设计与附录代码.docx》由会员分享,可在线阅读,更多相关《jsp应用开发课程设计与附录代码.docx(51页珍藏版)》请在冰豆网上搜索。
![jsp应用开发课程设计与附录代码.docx](https://file1.bdocx.com/fileroot1/2022-11/27/b7166128-b007-4bb2-b699-3715d4a4a365/b7166128-b007-4bb2-b699-3715d4a4a3651.gif)
jsp应用开发课程设计与附录代码
《jsp应用开发课程设计》实训报告
专业班级:
web11307
指导老师:
黄铭
地点:
J1B401机房
小组成员:
侯燕、严映婷
饶琴英、李晓梅
时间:
19周,2013年01月07日-11日
1.1需求分析.........................................................................1
1.2项目设计..........................................................................2
1.2.1选择开发模型........................................................................2
1.2.2数据库设计.............................................................................2
1.3项目实施...........................................................................3
1.3.1通用功能的实现......................................................................3
1.3.2普通用户功能的实现..............................................................3
1.3.3管理员功能的实现..................................................................3
1.4项目运行............................................................................4
1.4.1Web项目的目录结构.............................................................4
1.4.2Web项目的发布.....................................................................4
1.5个人总结............................................................................5
1.1需求分析
1.组织结构分析
学生信息查询系统的组织结构图如下:
1.系统需求分析
此系统需要实现的功能如下:
A.按照教师,学生,管理员三种角色设计系统功能。
B.学生成绩查询(学生):
学生信息查询(按照学号、姓名、性别、住址)
C.学生成绩查询(教师):
登记,修改,删除某班某个学生的成绩,可以一次输入入某班全部学生的成绩等。
D.管理员查询(管理员):
登记,对学生,老师进行管理,进行如下操作:
1、增加学生信息、删除学生信息、修改学生信息;2、删除老师信息、添加老师信息、修改学生信息
2.系统用户分析
“学生信息查询系统”主要是针对学生和教师查询工作而开发的应用软件。
通常有系统管理员、教师和学生三种用户,他们的使用权限如下:
系统管理员:
计算机人员,对系统、数据库进行维护,主要对不同人员赋予不同的权限。
教师:
对学生的成绩进行查询,增加,修改。
学生:
一般操作水平,能够在本系统查询个人的学习才成绩及个人基本信息。
4.数据库需求分析
学生成绩查询系统的数据库主要用于学生信息、教师信息、系统管理员信息和成绩查询信息的管理,因此数据库设计必须充分满足这些功能要求。
根据系统结构设计中各子系统的功能要求,可确定数据库的具体需求如下:
A.学生成绩及个人信息查询部分(学生)
B.学生成绩管理部分(教师)
C.管理员查询部分(管理员)
1.2项目设计
1.2.2选择开发模型
本系统的开发基于MVC模式,其中模型层负责业务数据的表示和实现业务逻辑,用Java类实现;视图层用于与用户交互,由JSP页面实现,通过在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包括创建数据库连接、创建语句对象、设置MYSQL语句的参数、返回查询操作的单条记录、返回查询操作的多条记录、执行更新语句、关闭数据库连接等功能。
文件名:
chaall.jsp
PreparedStatementpstmt=null;
Statementstmt=null;
ResultSetrs=null;
String[]cloStr={"sno","sname","cclass","sex","age","nation","clname","place"};
String[]showStr={"学生编号","学生姓名","所在年级","性别","年龄","民族","专业","住址"};
if(conn==null)
{StringstrURL="jdbc:
mysql:
//localhost:
3306/student?
useUnicode=true&characterEncoding=GBK";
StringstrDBUser="root";
StringstrDBPwd="";
try{Class.forName("com.mysql.jdbc.Driver");System.out.println("连接数据库成功......");
conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd);
}catch(ClassNotFoundExceptione){e.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");}
catch(Exceptionex){ex.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");}}
try{Stringsql="select*fromstu_info";
stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
rs.last();
intsize=rs.getRow();
pageCount=(size%PAGESIZE==0)?
(size/PAGESIZE):
(size/PAGESIZE+1);
文件名:
Cha.jsp
String[]cloStr={"sno","sname","cclass","sex","age","nation","clname","place"};
String[]showStr={"学生编号","学生姓名","所在年级","性别","年龄","民族","专业","住址"};
if(conn==null)
{
StringstrURL="jdbc:
mysql:
//localhost:
3306/student?
useUnicode=true&characterEncoding=GBK";
StringstrDBUser="root";
StringstrDBPwd="";
try
{
Class.forName("com.mysql.jdbc.Driver");
out.println("连接数据库成功......");
conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd);
}
catch(ClassNotFoundExceptione)
{
e.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
}
catch(Exceptionex)
{
ex.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
}
}
try{
Stringsql="select*fromstu_info";
stmt=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);//返回可滚动结果集
rs=stmt.executeQuery(sql);
rs.last();
intsize=rs.getRow();
pageCount=(size%PAGESIZE==0)?
(size/PAGESIZE):
(size/PAGESIZE+1);
}
catch(Exceptionex)
{
ex.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
}
文件名:
zeng.jsp
StringstrURL="jdbc:
mysql:
//localhost:
3306/student?
useUnicode=true&characterEncoding=GBK";
StringstrDBUser="root";
StringstrDBPwd="";
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd);
}
catch(ClassNotFoundExceptione)
{
e.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
}
catch(Exceptionex)
{
ex.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
}
try{
sno=request.getParameter("sno");
byteno[]=sno.getBytes("ISO-8859-1");
sno=newString(no);
文件名:
gai.jsp
java.sql.Connectionconn=null;
PreparedStatementpstmt=null;
Statementstmt=null;
ResultSetrs=null;
String[]cloStr={"sno","sname","cclass","sex","age","nation","clname","place"};
String[]showStr={"学生编号","学生姓名","所在年级","性别","年龄","民族","专业","住址"};Stringsno,sname,cclass,sex,age,nation,clname,place;
StringstrURL="jdbc:
mysql:
//localhost:
3306/student?
useUnicode=true&characterEncoding=GBK";
StringstrDBUser="root";StringstrDBPwd="";
try{Class.forName("com.mysql.jdbc.Driver");
conn=java.sql.DriverManager.getConnection(strURL,strDBUser,strDBPwd);}
catch(ClassNotFoundExceptione){
e.printStackTrace();
out.println("您输入的信息有误,请查证后再重新输入!
");
1.3.2普通用户功能的实现
普通用户功能包括查询,删除,修改,增加信息。
代码略
1.3.3管理员功能的实现
管理员登录后将浏览到所有信息,并且可以信息进行添加、修改、删除添加。
(1)管理员登录——html
欢迎登陆学生信息管理系统
用户名: