




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录第1章概述11.1 系统目的和意义11.2 系统开发环境11.3 系统开发模式及基本功能1第2章系统设计32.1系统的模块划分32.2数据库设计4第3章系统的详细设计及实现63.1数据库底层访问类63.2 登录模块83.3 后台管理系统首页面导航103.4 教师信息管理113.5 论著信息管理203.6科研项目信息管理283.7 前台浏览模块35结论43参考文献44第1章 概 述1.1 系统目的和意义教师信息管理系统是一所院校在各种信息管理中的一部分,对于学校管理者来说是很重要的,所以所设计的系统应该能为管理者提供教师的基本信息管理手段和一些方便的查询方式。本次课程设计的题目是“基于MV
2、C模式的教师信息管理系统”的设计与实现,该设计是对本学期前八周所学的JSP程序设计课程的巩固和深入应用,同时结合Java语言、JSP技术进行Web程序设计,利用前面学过的知识和上网学习来解决实际问题,锻炼解决问题的能力和动手编程的能力。同时使用目前企业实际开发中比较成熟的MVC模式进行系统的整体架构设计,有效分离模块、功能之间的代码耦合关系,并逐步理解软件开发步骤和软件工程思想1。1.2 系统开发环境1 本系统采用Browser/Server体系结构2 系统开发环境1) 开发平台:MyEclipse GA2) 开发语言:JSP、Java3) 数据库:Microsoft SQLServer200
3、53 系统运行环境客户端:浏览器:IE6.0服务器端:数据库:Microsoft SQLServer2005应用程序系统1.3 系统开发模式及基本功能本系统是基于MVC模式设计和开发的,MVC模式包括模型(Model)JavaBean 代表应用程序和业务逻辑。视图(View)JSP提供可交互的客户界面,向客户显示模型数据。控制器(Controller)Servlet根据客户的请求来操纵模型,并把结果经由视图展现给客户2。MVC优点:代码的重用性,有利于开发的分工各司其职、互不干涉。MVC编程思路:Servlet接受客户端请求,并调用业务类的方法进行数据处理,Servlet根据数据处理的结果,控
4、制下一个显示的HTML或者JSP页面。基于MVC模式的教师信息管理系统主要实现前台和后台两部分功能设计,其中前台主要实现教师登录的浏览和查询功能,其中,主要是全部教师信息的分页浏览,全部教师论著的分页浏览,全部科研项目的分页浏览。后台主要实现管理员登录后的添加、删除、修改、查询和批量删除功能,其中,主要是教师基本信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览,其次论著信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览,最后是科研项目信息的添加、删除、修改、批量删除以及按编号和教师姓名的多条件查询和浏览。第2章系统设计2.1系统的模块划分教师信息管理系
5、统是一种通常由管理员管理、维护,可以让教师查询、浏览的网站。教师的信息通常教师工号,以正序方式由小到大排列展示出来。经过需求分析,教师信息管理系统主要包括以下几个功能模块:1、登录模块模块功能详细介绍:教师和系统管理员进行登录操作,拥有不同的权限和功能。2、教师信息管理模块模块功能详细介绍:对教师信息进行增删改查操作。3、论著信息管理模块模块功能详细介绍:对教师论著信息进行管理。4、科研项目管理模块模块功能详细介绍:对教师的科研项目进行管理。系统功能模块图如下图2-1所示: 教师信息管理系统用户登录管理教师信息管理论著信息管理科研项目管理教师登录管理员登录论著信息维护论著信息查询项目信息维护项
6、目信息查询教师信息查询教师信息维护图2-1系统功能模块图2.2数据库设计数据库管理系统是允许用户在计算机上建立、使用和维护数据库,增加、修改、删除、排序和检索数据库中的数据,并使用数据库中的数据创建表格和报表的软件系统。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。数据库的设计是整个系统成败的一个重要环节。合理的数据库设计能够给系统带来很好的效率。而且能够使得各个功能模块的设计变得非常简单而且模块间的关系特别明确。本系统的数据库是在SQL Server2005中创建的3。根据前面的分析,教师信息管理系统数据库共包含4个表,包括用户信息表(T_user)、教师信息
7、表(T_teacher)、论著信息表(T_lunzhu)、科研项目信息表(T_keyan)。1、 用户信息表 表2-1所示是用户信息表结构,用于记录用户基本信息,包括账号、密码、用户类型。表2-1 用户信息表列名说明数据类型约束id用户账号nvarchar(20)主键psw用户密码nvarchar(20)非空userType用户类型nvarchar(10) 非空2、 教师信息表表2-2是教师信息表结构,用于记录教师信息,包括教师基本信息和院系信息等。表2-2 教师信息表列名说明数据类型约束id教师工号nvarchar(20)主键name教师名nvarchar(20)非空password密码nv
8、archar(20)非空gender性别nvarchar(20)非空department所在院系nvarchar(20)jurisdiction权限nvarchar(20)3、 论著信息表表2-3是论著信息表结构,用于记录教师论著信息,包括论著编号、论著书名、出版社等。表2-3 论著信息表列名说明数据类型约束id论著编号nvarchar(20)主键name论著书名nvarchar(20)非空press出版社nvarchar(20)Tid教师编号nvarchar(20)4、 科研项目信息表表2-4是科研项目信息表结构,用于记录教师科研项目信息,包括项目编号、项目名称等。表2-4 科研项目信息表列
9、名说明数据类型约束id项目编号nvarchar(20)主键name项目名称nvarchar(20)非空Tid教师编号nvarchar(20)以上就是教师信息管理系统所需的数据表,按照这些表结构设计,在Microsoft SQLServer2005中创建数据库Teacher,并创建相应的表。第3章系统的详细设计及实现3.1数据库底层访问类本系统的设计使用基于Servlet的MVC架构模式,将系统的各个功能的实现过程严格的划分为视图(View)、控制(Controller)、模型(Model),其中View负责界面的显示,Controller负责请求的转发和响应,Model负责逻辑业务对象实体和业
10、务实体。由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完成数据库的连接、SQL语句的具体执行等操作。这一层由MVC模式中的Model层里的业务实体进行调用,从而完成逻辑业务的信息维护操作。JDBC数据库访问技术JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。系统与数据库的连接需要的准备工作,下载JDBC驱动包,将驱动包复制到TeacherManagerWebRootWEB-INFlib文件夹下。完成导入驱动包4。添
11、加DBManager公共类首先创建包nepu.ldz.tools,在该包下创建名为DBManager的类,该类得职责用于提供访问、操作数据库的公共方法。添加公共类的方法和步骤如下:在工程中的包名上点右键,选择【New】>【Class】菜单项,将弹出【New Java Class】对话框,保留默认的选择,在Name文本框中输入DBManager,点击Finish按钮。编写公共方法小节为项目添加了一个DBManager类,该类用于存放连接、操作数据库的公共方法,本小节介绍如何编写这些公共方法。首先为DBManager类声明几个公共变量,其中conn为数据库连接对象,rs为结果集对象,stmt
12、用于向数据库发送要执行的SQL语句,路径 uri,用户名 sa,密码 123456。1、数据库连接方法getConnection()先加载数据库连接驱动,然后获取数据库连接,然后进行判断,检查是否获取数据库连接成功,并且捕获加载数据库驱动的异常和获取连接的异常。getConnection方法的关键代码如下:private Connection getConnection() try / 加载数据连接驱动Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/ 获取数据库连接conn = DriverMan
13、ager.getConnection(uri, user, password);if (conn != null)System.out.println("数据库连接成功"); catch (ClassNotFoundException e) System.out.println("数据库驱动加载错误"); catch (SQLException e) System.out.println("获取连接错误");return conn;2、数据库查询方法executeQuery()先建立Statement对象,再建立ResultSet(结
14、果集)对象,并执行传参过来的SQL语句,并且捕获SQL语句执行的异常。 executeQuery方法的关键代码如下: public ResultSet executeQuery(String sql) try stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch (SQLException e) System.out.println("sql execute failure");e.printStackTrace();return rs;3、数据库增删改的操作方法executeUpdate()先建立
15、Statement对象,再建立ResultSet(结果集)对象,并执行传参过来的SQL语句,并且捕获SQL语句执行的异常。executeUpdate方法的关键代码如下:public int executeUpdate(String sql) try stmt = conn.createStatement(); return stmt.executeUpdate(sql); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); return 0; 3.2 登录模块登录是每一个成功项目中不可缺少的
16、模块,好的登录模块可以保证系统的可靠性和安全性。本节首先严格按照MVC架构模式为教师信息管理系统制作了一个简单的登录模块,登录分为两个权限登录,分别是普通教师登录和管理员登录,管理员登录成功后,应当进入该系统的后台管理系统,普通教师登录成功之后,应当进入该系统的前台管理系统。因此本节还详细介绍了主窗体的设计。按照MVC模式进行构建登录功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.ldz.model包中添加用户类别的实体Javabean,类名为Usermodel。在nepu.ldz.DAO包中添加业务Javabean,类名为UserDAO。其中Usermodel类包含3个
17、属性,分别是ID、密码和权限,同时在该类中添加属性的set、get方法,User类的属性定义部分代码如下: public class Usermodel private String Uid= ""private String Upsw= ""private String Utype= ""(2)Controller层:在nepu.ldz.Servlet中添加类UserServlet,该servlet主要负责登录以及管理员相关操作的流程控制。(3)View层:在Webroot文件夹下添加名为login.jsp的JSP文件。 View层
18、构建首先在MyEclipse的项目的WebRoot目录中建立JSP页面,在该页面中编写表单代码,其中注意表单的action属性为该表单信息提交的服务端URL地址,method属性为提交方式。在这里由于是按照MVC模式,将信息提交给Servlet,因此method必须post。同时为避免复杂的URL的路径逻辑关系,统一使用绝对路径。图3-1 登录界面设计 Model层构建在业务Javabean类UserDAO中建立方法login(),实现过程中借助DBManager数据库底层操作类,实现用户登录的判断。该方法需要接收由servlet传递过来3个参数,一个是用户名name,另一个是密码passwo
19、rd,最后是权限state,调用DBManger数据库底层操作类的executeQuery()方法实现sql查询,sql语句如下:String sql="select * from T_user where id='"+name+"' and psw='"+password+"' and userType='"+state+"'" 实例化DBManager,调用executeQuery()方法,对数据库中的信息进行查询,代码如下: DBManager db = new
20、 DBManager(); ResultSet rs = db.executeQuery(sql); 判断是否查询出结果,如果rs.next是空,则没有此权限此人信息,如果rs.next有结果则t=1,传给servlet使其获得结果,并知道此权限此人信息,代码如下: if(rs.next() return 1;return t; Controller层构建在UserServlet添加方法Login(),在该方法中完成登录的逻辑判断。首先需要通过方法request.getParameter()来接收由login.jsp页面传递过来的参数编号(name)、密码(password)和权限(state
21、),在进行必要的参数转码或合法性判定后调用Model层的业务javaBean UserDAO的登录方法实现登录判定,登录成功后需要注意将用户名用session进行存储,这样,在用户多次请求和响应之后都可以由session中取出用户名展示或判断用户是否登录。最后,在servlet中使用response.sendRedirect()方法跳转到管理后台的首页面。UserServelt中的Login()方法关键代码如下:String name =new String(request.getParameter("name").getBytes("ISO-8859-1&quo
22、t;),"GB2312");String password = request.getParameter("password");String state=new String(request.getParameter("state").getBytes("ISO-8859-1"),"GB2312");if(state.equals("1")state="普通教师"else state="管理员"UserDAO userDAO = ne
23、w UserDAO();int t = userDAO.login(name, password,state);HttpSession session=request.getSession();session.setAttribute("name", name);if(t=1)session.setAttribute("username", name);if(state.equals("普通教师") response.sendRedirect("front/FrontIndex.jsp");if(state.equ
24、als("管理员") response.sendRedirect("admin/AdminIndex.jsp");elseresponse.sendRedirect("login.jsp?operate=faile");t=1时,判断用户权限,普通教师跳转到front/FrontIndex.jsp页面,管理员跳转到admin/AdminIndex.jsp页面。否则跳转回到login.jsp页面。3.3 后台管理系统首页面导航整个教师信息后台管理系统的界面设计是左侧导航的结构,如图3-2所示,系统几乎所有的jsp页面都具有大致类似的页面
25、结构和风格,例如,相同的页面头部、左侧导航和页脚,因此,为了页面编码的方便和代码的可重用性,系统设计了一些公用的页面文件,主要包括AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp,通过include指令标记将AdminEnd.jsp、AdminTop.jsp、AdminLeft.jsp嵌入到AdminIndex.jsp页面中,这样,编码工作将主要集中在左侧导航AdminLeft.jsp和AdminIndex.jsp页面。其他新增的功能页面的设计思路类似,在这里就不再赘述了。AdminIndex.jsp界面的浏览效果如图3-2所示:图3-2 后台管理首页面浏览效果3
26、.4 教师信息管理教师信息管理是教师信息管理系统的主要模块,其中包括对教师信息的浏览,添加,修改,删除,查询,批量删除的功能。以便于管理员对教师信息的维护和修改。按照MVC模式对该模块进行功能的开发,对该模块的文件构建说明如下(1)Model层:在nepu.ldz.model包中添加教师类别的实体Javabean,类名为Teachermodel。在nepu.ldz.DAO包中添加业务Javabean,类名为UserDAO。其中Teachermodel类包含6个属性,分别是编号、姓名、密码、性别、所属院系和权限,同时在该类中添加属性的set、get方法,Teachermodel类的属性定义部分代
27、码如下: public class Teachermodel private String Tid = ""private String Tname = ""private String Tpassword = ""private String Tgender = ""private String Tdepar= ""private String Tjur= ""(2)Controller层:在nepu.ldz.Servlet中添加类UserServlet,该servlet主
28、要负责有关教师信息操作请求和响应。(3)View层:在Webroot文件夹下添加名为admin的文件夹,并建立TeacherList.jsp、AddTeacher.jsp、UpdateTeacher.jsp、SelectTeacher.jsp四个页面。 添加教师信息1、View层构建用于添加教师信息的AddTeacher.jsp设计如图3-3所示,输入教师编号,姓名,密码,性别,所在院系和权限。点击保存按钮,即可完成教师信息的添加。图3-3 教师信息添加界面2、Model层构建在业务Javabean的UserDAO中添加方法Addteacher(),该方法能够根据传来的参数生成sql语句,借助
29、DBManager类来进行实现添加功能,此sql语句是插入有表单提交的教师的基本信息,sql语句为:String sql = "insert into T_teacher values('"+ teacher.getTid() +"','"+ teacher.getTname() +"','"+ teacher.getTpassword() +"','"+ teacher.getTgender() +"','"+ teach
30、er.getTdepar() +"','"+ teacher.getTjur() +"')"实例化db来执行executeUpdate(sql)方法。执行sql语句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if(count>0) t = true;db.releaseResource();return t;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doAd
31、dteacher(),在该方法中完成教师信息的添加。该方法的代码主要是接收参数,包括编号,姓名,密码,性别,所在院系和权限。String Tid = request.getParameter("Tid");String Tname =new String(request.getParameter("Tname").getBytes("ISO-8859-1"),"GB2312");String Tpassword = request.getParameter("Tpassword");String
32、 Tgender =new String(request.getParameter("Tgender").getBytes("ISO-8859-1"),"GB2312");String Tdepartment = new String(request.getParameter("Tdepar").getBytes("ISO-8859-1"),"GB2312");String Tjur = new String(request.getParameter("Tjur&q
33、uot;).getBytes("ISO-8859-1"),"GB2312");实例化UserDAO,来执行Addteacher()方法,进行添加教师的信息,即传来的参数,将信息封装,代码如下:UserDAO userDAO = new UserDAO();Teachermodel teacher = new Teachermodel();teacher.setTid(Tid);teacher.setTname(Tname);teacher.setTpassword(Tpassword);teacher.setTgender(Tgender);teache
34、r.setTdepar(Tdepartment);teacher.setTjur(Tjur);userDAO.Addteacher(teacher);传参并跳转页面,直接运用UserServlet里的浏览教师信息的方法doQueryTeacherList()即可。this.doQueryTeacherList(request, response); 浏览教师信息1、View层构建用于浏览,修改,删除教师信息的TeacherList.jsp页面,在点击“浏览/修改/删除教师”时即可展示出来,设计如图3-4所示。2、Model层构建在业务Javabean的UserDAO中添加方法queryTeac
35、herList(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现浏览功能,此sql语句是浏览数据库中的教师的基本信息,sql语句为: String sql = "select * from T_teacher"实例化db来执行executeQuery(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeQuery(sql);图3-4教师信息浏览界面判断rs.next中是否有内容,如果有实例化Teachermodel,并取出id,name,password,gender,d
36、epar,jur,并放入实例化后的teacher中,代码如下:while(rs.next()Teachermodel teacher = new Teachermodel();teacher.setTid(rs.getString(1);teacher.setTname(rs.getString(2);teacher.setTpassword(rs.getString(3);teacher.setTgender(rs.getString(4);teacher.setTdepar(rs.getString(5);teacher.setTjur(rs.getString(6);把整个teacher
37、中的信息放入teacherList中,再进行循环添加,直到rs中没有内容为止,代码如下:teacherList.add(teacher);最后释放数据库资源,代码如下:db.releaseResource(); catch (SQLException e) e.printStackTrace();return teacherList;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doQueryTeacherList(),在该方法中完成教师信息的浏览。该方法的代码主要是将UserDAO中获取出来的teacherList
38、传递过去,然后进行页面的跳转即可完成浏览功能,代码如下:ArrayList teacherList = new ArrayList();UserDAO userDAO = new UserDAO();teacherList = userDAO.queryTeacherList();request.setAttribute("teacherList", teacherList);RequestDispatcher rd = request.getRequestDispatcher("admin/TeacherList.jsp");rd.forward(re
39、quest, response); 修改教师信息1、View层构建用于修改教师基本信息的UpdateTeacher.jsp,在点击教师信息后面的“修改”时即可展示出来,设计如图3-5所示。图3-5教师信息修改界面2、Model层构建在业务Javabean的UserDAO中添加方法Updateteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现添加功能,此sql语句是浏览数据库中的教师的基本信息,sql语句为:String sql = "update T_teacher set name='"+ teacher.getTnam
40、e() +"',password = '"+ teacher.getTpassword() +"',gender = '"+ teacher.getTgender() +"',department = '"+ teacher.getTdepar() +"',jurisdiction = '"+ teacher.getTjur() +"' where id = '"+ teacher.getTid() +"&
41、#39;"实例化db来执行executeUpdate(sql)方法。DBManager db = new DBManager();ResultSet rs = db.executeUpdate(sql);3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doUpdateteacher(),在该方法中完成教师信息的修改。该方法的代码主要是接收参数,包括编号,姓名,密码,性别,所在院系和权限。String id = request.getParameter("id");String name =
42、 new String(request.getParameter("name").getBytes("ISO-8859-1"), "GB2312");String password = request.getParameter("password");String gender = new String(request.getParameter("gender").getBytes("ISO-8859-1"), "GB2312");String depar
43、tment = new String(request.getParameter("department").getBytes("ISO-8859-1"), "GB2312");String jur = new String(request.getParameter("jur").getBytes("ISO-8859-1"), "GB2312");实例化UserDAO,来执行Updateteacher()方法,进行修改教师的信息,即传来的参数,实例化Teachermodel,代
44、码如下:Teachermodel teacher = new Teachermodel();teacher.setTid(id);teacher.setTname(name);teacher.setTpassword(password);teacher.setTgender(gender);teacher.setTdepar(department);teacher.setTjur(jur);UserDAO userDAO = new UserDAO();userDAO.Updateteacher(teacher);然后进行页面的跳转即可完成修改功能,代码如下:this.doQueryTeach
45、erList(request, response); 删除教师信息1、Model层构建在业务Javabean的UserDAO中添加方法Deleteteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现删除功能,此sql语句是删除数据库中的教师信息,sql语句为:String sql = "delete from T_teacher where id = '"+ teacher.getTid() +"'"实例化db来执行executeUpdate(sql)方法。DBManager db = new D
46、BManager();ResultSet rs = db.executeUpdate(sql);2、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doDeleteteacher(),在该方法中完成教师信息的删除。该方法的代码主要是接收参数id,实例化Teachermodel,并实例化UserDAO,来执行Deleteteacher()方法,进行删除教师的信息,代码如下:String id = request.getParameter("number");Teachermodel teacher=new
47、 Teachermodel();teacher.setTid(id);UserDAO userDAO=new UserDAO();userDAO.Deleteteacher(teacher);然后进行页面的跳转即可完成删除功能,代码如下:this.doQueryTeacherList(request, response); 批量删除教师信息1、Model层构建在业务Javabean的UserDAO中添加方法DeleteAllteacher(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现批量删除功能,此sql语句是批量删除数据库中的教师信息,先实例化db,根据传递
48、过来的Tlist,求其长度,然后循环做字符串的拼接,最后执行executeUpdate(sql)方法。代码如下:DBManager db = new DBManager();for(int i=0;i<Tlist.length;i+)sql = "delete from T_teacher where id = '"+ Tlisti +"'"System.out.println(sql);count = db.executeUpdate(sql);2、Controller层构建在UserServlet中,负责管理员登录后的操作请求与
49、响应。为UserServlet添加方法doDeleteAllteacher(),在该方法中完成教师信息的批量删除。该方法的代码主要是接收Tlist,获取复选框中的信息,进行批量删除,实例化Teachermodel,并实例化UserDAO,来执行DeleteAllteacher()方法,进行批量删除教师的信息,代码如下:String Tlist = request.getParameterValues("deleteAll");UserDAO userDAO = new UserDAO();userDAO.DeleteAllteacher(Tlist);然后进行页面的跳转即可
50、完成删除功能,代码如下:this.doQueryTeacherList(request, response);多条件查询教师信息1、View层构建用于查询教师基本信息的SelectTeacher.jsp,在点击教师信息页面的“查询”时即可展示出来,设计如图3-6所示。图3-6教师信息查询界面2、Model层构建在业务Javabean的UserDAO中添加方法queryByConditionTeacher(),该方法能够根据传来的sql语句,借助DBManager类来进行实现添加功能,此sql语句是浏览数据库中的教师的基本信息。实例化db来执行executeUpdate(sql)方法。DBMan
51、ager db = new DBManager();ResultSet rs = db.executeUpdate(sql);ArrayList al = new ArrayList();判断rs.next中是否有内容,如果有实例化Teachermodel,并取出id,name,password,gender,depar,jur,并放入实例化后的teacher中,代码如下:while(rs.next()Teachermodel teacher = new Teachermodel();teacher.setTid(rs.getString(1);teacher.setTname(rs.getS
52、tring(2);teacher.setTpassword(rs.getString(3);teacher.setTgender(rs.getString(4);teacher.setTdepar(rs.getString(5);teacher.setTjur(rs.getString(6);把整个teacher中的信息放入al中,再进行循环添加,直到rs中没有内容为止,代码如下:al.add(teacher);最后返回al。return al;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doQueryTeache
53、r(),在该方法中完成查询教师信息。该方法的代码主要是接收复选的条件以及textbox里的参数,并根据所选条件判断,拼接sql语句。代码如下:String choice = request.getParameterValues("choice");String name = request.getParameter("name");if(!name.equals("")name = new String(request.getParameter("name").getBytes("ISO-8859-1&q
54、uot;),"GB2312");String sql = "select * from T_teacher where "System.out.println(sql);if(choice!=null)if(choice.length=1)if(choice0.equals("byId")sql+="id='"+request.getParameter("id")+"'"elsesql+="name like '%"+name+&q
55、uot;%'"elsesql+="id='"+request.getParameter("id")+"' and name like '%"+name+"%'"实例化UserDAO,来执行queryByConditionTeacher()方法,进行查询教师的信息。UserDAO userDAO = new UserDAO();ArrayList al = userDAO.queryByConditionTeacher(sql);request.setAttribut
56、e("teacherList", al);否则,返回提示“请选择查询条件!”,代码如下: elserequest.setAttribute("message", "请选择查询条件!"); 然后进行页面的跳转即可完成查询功能,代码如下: RequestDispatcher rd = request.getRequestDispatcher("admin/TeacherList.jsp"); rd.forward(request, response);3.5 论著信息管理 论著信息管理是教师信息管理系统的主要模块,其中
57、包括对论著信息的浏览,添加,修改,删除,查询,批量删除的功能。以便于管理员对教师论著信息的维护和修改。 添加论著信息1、View层构建用于添加论著信息的AddBook.jsp设计如图3-7所示,输入论著编号、论著名称、出版社和教师编号。点击保存按钮,即可完成论著信息的添加。图3-7论著信息添加界面2、Model层构建在业务Javabean的UserDAO中添加方法Addbook(),该方法能够根据传来的参数生成sql语句,借助DBManager类来进行实现添加功能,此sql语句是插入有表单提交的论著的基本信息,sql语句为:String sql = "insert into T_lu
58、nzhu values('"+ book.getBid() +"','"+ book.getBname() +"','"+ book.getBpress()+"','"+ book.getTid() +"')"实例化db来执行executeUpdate(sql)方法。执行sql语句。DBManager db = new DBManager();int count = db.executeUpdate(sql);if(count>0) t
59、 = true;db.releaseResource();return t;3、Controller层构建在UserServlet中,负责管理员登录后的操作请求与响应。为UserServlet添加方法doAddbook(),在该方法中完成论著信息的添加。该方法的代码主要是接收参数,包括论著编号、论著名称、出版社和教师编号。String id = request.getParameter("Bid");String name =new String(request.getParameter("Bname").getBytes("ISO-8859-1"),"GB2312");String press =new String(request.getParameter("Bpress").getBytes("ISO-8859-1"),"GB2312");String Tid = request.getParameter("Tid"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产假合同范例
- 兼职业务合同范例
- 农资赊销合同范本
- 履带吊施工方案
- 加盟项目服务合同范例
- 公司入股协议合同范例
- 陈洪绶作品中“石”的意象造型探究
- 基于写作自动评价系统的混合反馈对高中生英语写作成绩与写作准确性的影响研究
- 冻融与盐蚀耦合作用下混凝土孔结构发展规律与宏细观性能关系研究
- 乡下租房翻新改造合同范例
- 历史-浙江天域全国名校协作体2025届高三下学期3月联考试题和解析
- 软胶囊成本结构分析-深度研究
- 2025年安徽国防科技职业学院单招职业技能考试题库必考题
- 客房专业知识培训课件
- 高等数学(慕课版)教案 教学设计-1.3 极限的运算法则;1.4 极限存在准则与两个重要极限
- 2025年中考百日誓师大会校长致辞稿(一)
- 2025重庆市建筑安全员A证考试题库
- 2025年湖南铁路科技职业技术学院单招职业适应性测试题库附答案
- 人教版初中数学八年级下册全册教案(2024年春季修订)
- 2025中国福州外轮代理限公司招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 医院感染及其危害
评论
0/150
提交评论