455ss百度文库理学院ShooleofSciences课程设计报告设计名称�综合训练学生姓名�xxxxx学生学号�xxxxx所在班级�xxxxx所在专业�信息与计算科学指导教师�xxxxxx设计场所�理学院机房设计时间�第七学期课程设计成绩总评第一项第二项455ss百度文库目录第一章绪论1.1课程设计目的1.2系统采用的相关技术第二章系统需求分析和总体设计2.1需求分析2.1.1系统需求描述2.1.2功能模块图2.1.3页面及表属性说明2.2软件结构设计2.2.1系统结构图第三章系统详细设计与编码3.1访问模块及操作模块3.2系统代码3.2.连接数据库的代码3.2.2登陆页面代码3.2.3添加、删除、查询的代码第四章系统测试4.1系统管理员的测试4.2普通管理员的测试第五章总结参考文献455ss百度文库第一章绪论1.1课程设计目的通过课程设计�掌握JSP的相关技术�会利用JSP做一些小型的系统。在做课程设计的过程中�可以增强我们的动手能力�同时也把我们所学的知识融合在一起。这样�我们才会发现在学习过程中�我们所面临的不足�能起到查缺补漏的作用。1.2系统采用的相关技术系统主要采用了JSP技术以及orcale数据库的结合�主要实现了学生信息的添加、查询、删除、更新操作。配置环境:工具:MyEclipse服务器:Tomcat5.5JDK:1.5数据库�orcale第二章系统需求分析和概要设计2.1需求分析2.1.1系统需求描述随着广大高校的扩招�面对学生信息的管理越来越复杂。工作量也很大�工作人员要投入大量的人力、物力在其中�但是工作效率还是很差�因此�现在都使用系统来管理学生信息。这样�工作效率得到了大大的提高�而且有利于学生信息的管理。也方便学生自己查看自己的信息�如果发现有错误�还可以修改。不仅提高了工作效率�也提高了学生信息的准确率。本系统目前做得比较简单�笼统的才使用了一个学生信息表和管理员信息表。本系统主要有两类用户�即管理员用户和普通用户。两类用户�他们所面临的权限是不同的。管理员用户拥有学生信息的学生信息的添加、查询、删除、更新操作。而普通用户只具有查看和添加的权限2.1.2功能模块图管理员的功能模块�455ss百度文库2.1.3数据库设计表的属性如下�(1)管理员信息表(2)学生信息表2.2软件结构设计2.2.1系统结构图系统管理员登陆的流程图�455ss百度文库开始系统管理员用户存在否输入管理员密码密码正确否登录管理员界面学生信息管理结束NONO第三章系统详细设计与编码3.1访问模块及操作模块3.1.1登陆和注册界面设计�455ss百度文库首先要选择登陆者的身份�管理员的账号�liangzi�密码�liangzi。登陆成功后�3.2系统代码3.2.1连接数据库的代码�packagejdbc_conn;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassConnDB{publicConnectionconn=null;publicStatementstmt=null;publicResultSetrs=null;privatestaticStringdbDriver=oracle.jdbc.driver.OracleDriver;privatestaticStringdbUrl=jdbc:oracle:thin:@127.0.0.1:1521:ORCL;privatestaticStringdbUser=liang;privatestaticStringdbPwd=liang;//打开数据库连接publicstaticConnectiongetConnection(){455ss百度文库Connectionconn=null;try{Class.forName(dbDriver);conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);}catch(Exceptione){e.printStackTrace();}if(conn==null){System.err.println(警告:数据库连接失败!);}returnconn;}//读取结果集publicResultSetdoQuery(Stringsql){try{conn=ConnDB.getConnection();stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);}catch(SQLExceptione){e.printStackTrace();}returnrs;}//更新数据publicintdoUpdate(Stringsql){intresult=0;try{conn=ConnDB.getConnection();stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);result=stmt.executeUpdate(sql);455ss百度文库}catch(SQLExceptione){result=0;}returnresult;}//关闭数据库连接publicvoidcloseConnection(){try{if(rs!=null)rs.close();}catch(Exceptione){e.printStackTrace();}try{if(stmt!=null)stmt.close();}catch(Exceptione){e.printStackTrace();}try{if(conn!=null)conn.close();}catch(Exceptione){e.printStackTrace();}}}第四章系统测试455ss百度文库4.1系统管理员的测试�4.1.1当你输入的管理员的姓名在管理员信息表中不存在�那么就会出现以如下的界面。登录失败的界面�4.1.2当您忘记输入密码是会出现如下警告框�4.1.3如果没有登录就点击查询链接就会出现如下提示�点击添加、删除、修改也会出现同种情况。4.1.4管理员成功登录后就可以进行正常的增减改查了�1�查询页面�(2)添加页面��3�修改页面455ss百度文库选中要修改学生的列�点击修改就会出现如下页面�根据自己的情况修改就行4.2普通管理员的测试4.2.1登录界面测试和管理员界面相同4.2.2普通管理员没有修改和删除功能�点击修改删除时会出现如下情况�455ss百度文库4.2.3查询和添加功能和管理员相同4.2.4退出功能您返回主页点击�“退出”如下所示�您就会跳转到如下界面�最终你会返回到最初登录前的界面。第五章系统部署只要就项目文件拷贝到tomcat目录下的webapps目录下即可�数据库文件已经导出账号为liang密码为liang,直接导入orcale数据库即可使用。第六章总结要想做好一个系统要花很多时间�在做系统中�让我们做到了很多�一个小小的错误就会让你琢磨半天。在做系统的过程中�也让我们学会了很多�比如�数据库的连接、在数据库中插入数据、删除数据以及更新操作。本系统只实现了对数据的添加、删除、更新、查询操作。由于时间紧迫�所以还存在很多缺陷�希望在以后有充裕的时间�能把本系统完善好。第七章参考文献455ss百度文库1�《JSP研发精解》�Richard.N.Turden�电子工业出版社。2�《精通Eclipse》�黄必先�电子工业出版社3�《数据库管理与开发》�李江飞等�电子工业出版社4.《软件工程方法》�孙海等�电子工业出版社5.网络程序设计教材源代码文件系统分布图。1ConnDB.java代码packagejdbc_conn;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;455ss百度文库importjava.sql.SQLException;importjava.sql.Statement;publicclassConnDB{publicConnectionconn=null;publicStatementstmt=null;publicResultSetrs=null;privatestaticStringdbDriver=oracle.jdbc.driver.OracleDriver;privatestaticStringdbUrl=jdbc:oracle:thin:@127.0.0.1:1521:ORCL;privatestaticStringdbUser=liang;privatestaticStringdbPwd=liang;//打开数据库连接publicstaticConnectiongetConnection(){Connectionconn=null;try{Class.forName(dbDriver);conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd);}catch(Exceptione){e.printStackTrace();}if(conn==null){System.err.println(警告:数据库连接失败!);}returnconn;}//读取结果集publicResultSetdoQuery(Stringsql){try{conn=ConnDB.getConnection();stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);}catch(SQLExceptione)455ss百度文库{e.printStackTrace();}returnrs;}//更新数据publicintdoUpdate(Stringsql){intresult=0;try{conn=ConnDB.getConnection();stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);result=stmt.executeUpdate(sql);}catch(SQLExceptione){result=0;}returnresult;}//关闭数据库连接publicvoidcloseConnection(){try{if(rs!=null)rs.close();}catch(Exceptione){e.printStackTrace();}try{if(stmt!=null)stmt.close();}catch(Exceptione){e.printStackTrace();}455ss百度文库try{if(conn!=null)conn.close();}catch(Exceptione){e.printStackTrace();}}}2Convert.java代码packagejdbc_conn;importjava.util.*;publicclassConvert{publicConvert(){}publicStringmethod(Stringsql){try{bytetemp[]=sql.getBytes(ISO-8859-1);sql=newString(temp);}catch(Ex