




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生管理系统系统分析o 系统需求学生管理系统主要实现管理人员对学生信息的管理,主要功能有学生信息的添加、修改、删除、查询及添加登录用户等。o 系统架构学生管理系统采用JSP+JavaBean+Servlet的设计模式 系统设计 o 系统设计包括两个方面,n 首先是总体结构的设计,n 其次是具体物理模型的设计。系统功能模块 学生管理系统添加学生信息浏览学生信息查找学生信息添加用户信息系统登录退出系统帮助系统流程图登录注册是否成功? 主页面是否添加学生信息浏览学生信息查找学生信息添加用户信息退出系统帮助详细修改删除数据库设计o 1. admin表字 段 名类 型长 度主 键说 明idxint4是序号namnvarchar50姓名pwdnvarchar50密码agetinyint1年龄sexchar2性别addressnvarchar100地址2. student表字 段 名类 型长 度主 键说 明idxint4是序号namnvarchar20姓名sexchar2性别birnvarchar10生日classnvarchar20班级emailnvarchar50邮箱telnvarchar11电话Addressnvarchar200地址join_timenvarchar20添加时间Infonvarchar500个人说明系统页面及类设计o 1. 页面设计 序号JSP页面功能1login.jsp用户登录2main.jsp系统主页面3top.jsp显示欢迎页面,系统当前日期4foot.jsp显示页面底部信息5view.jsp显示信息页面6add.jsp添加学生信息7addUser.jsp添加用户页面8help.jsp系统帮助页面9info.jsp添加信息成功的提示页面10look.jsp浏览学生信息11search.jsp查找学生信息界面12searchView.jsp显示查找学生信息结果页面13detail.jsp显示某个学生详细信息的页面o 2. 类设计 序号类名称功能1DataAccess.java提供操作业务数据的类2ConnectionDB.java获得数据库连接的类3PageBean.java分页类4Student.java封装学生信息的类5LoginServlet.java登录信息验证类6AddServlet.java添加学生信息类7LookServlet.java浏览学生信息类8DetailServlet.java显示某个学生详细信息类9DeleteServlet.java删除某个学生信息的类10ModiServlet.java修改某个学生详细信息的类11SearchServlet.java查找学生信息类12AddUserServlet.java添加用户类13AddUserBean.java添加用户的JavaBeano 3. 系统配置文件 web.xml 系统详细设计o 公共模块设计o 系统模块设计案例:系统配置文件文件名:web.xml Login_Servlet com.stumanage.servlet.Login_Servlet add_Servlet com.stumanage.servlet.add_Servlet look_Servlet com.stumanage.servlet.look_Servlet delete_Servlet com.stumanage.servlet.delete_Servlet modi_Servlet com.stumanage.servlet.modi_Servlet detail_Servlet com.stumanage.servlet.detail_Servlet search_Server com.stumanage.servlet.search_Servlet addUser_Servlet com.stumanage.servlet.addUser_Servlet Login_Servlet /servlet/Login_Servlet add_Servlet /servlet/add_Servlet look_Servlet /servlet/look_Servlet delete_Servlet /servlet/delete_Servlet modi_Servlet /servlet/modi_Servlet detail_Servlet /servlet/detail_Servlet search_Server /servlet/search_Servlet addUser_Servlet /servlet/addUser_Servlet 案例:封装数据库类文件名:ConnectionDB.javapackage com.stumanage.getDataBaseConn;import java.sql.*;import javax.naming.*;import javax.sql.DataSource;/获得数据库连接的工具类通过JDBC连接数据库public class ConnectionDB public static Connection getConnection()/注册驱动/获得连接Connection con = null;try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);con = DriverManager.getConnection(jdbc:microsoft:sqlserver:/:1433;DatabaseName=stumanage,sa,sa); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return con;案例:操作业务数据类文件名:DataAccess.javapackage com.stumanage.DAO;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.stumanage.bean.Student;import com.stumanage.bean.addUserBean;import com.stumanage.bean.pageBean;import com.stumanage.getDataBaseConn.ConnectionDB;/* * 是用来访问数据层的JAVA类。 所有的对业务数据的操作都可以放到这里来 * 此项目的业务功能是:保存用户注册信息和 判断用户时候合法。 * 所以可以写两个主要的方法:一个是注册用的方法 一个是判断登陆用的方法 */public class DataAccess /连接数据库private Connection conn;private PreparedStatement pstat;String sql=;public boolean add(Student user) throws SQLException /将学生信息添加到数据库里conn= ConnectionDB.getConnection();boolean i = true ;trysql=insert into student values(?,?,?,?,?,?,?,?,?);pstat = conn.prepareStatement(sql);pstat.setString(1, user.getNam();pstat.setString(2, user.getSex();pstat.setString(3, user.getBir();pstat.setString(4, user.getClass_();pstat.setString(5, user.getEmail();pstat.setString(6, user.getTel();pstat.setString(7, user.getAddress();pstat.setString(8, user.getJoin_time();pstat.setString(9, user.getInfo();pstat.executeUpdate();pstat.close();catch(Exception e)e.printStackTrace() ;return i;/验证用户 先将存放到数据库上的用户信息取出来 然后再比对 public boolean login(Student user) throws SQLException conn= ConnectionDB.getConnection();boolean i = false ;/ 比对信息 sql = select nam from admin where nam=? and pwd=?;pstat = conn.prepareStatement(sql);pstat.setString(1, user.getNam();pstat.setString(2, user.getPwd();ResultSet rs1 = pstat.executeQuery();if (rs1.next()i = true;rs1.close();pstat.close();else i = false ;rs1.close();pstat.close();conn.close();return i;/得到数据库表里学生信息的总条数public int getTotalRows(String sql)conn= ConnectionDB.getConnection();int i = 0; try pstat = conn.prepareStatement(sql);ResultSet rs2 = pstat.executeQuery(); rs2.next();i = rs2.getInt(1); rs2.close();pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();return i;/进行分页public List getInfo(pageBean page) int nowPage = page.getNowPage(); /当前页数int perPageViwe = page.getPerPageRows(); /每页显示的条数int start = (nowPage - 1) * perPageViwe; /起始位置int maxResults = perPageViwe; /每页显示的条数List users = null; /存放所有用户信息conn= ConnectionDB.getConnection();if (start 1)sql = select top +maxResults+ * from student where +idx not in (select top +start+ idx from student) order by idx;else sql =select top +maxResults+ * from student order by idx;try pstat=conn.prepareStatement(sql);ResultSet rs =pstat.executeQuery();users = new ArrayList();while (rs.next()int id = rs.getInt(1);String name = rs.getString(2);String sex = rs.getString(3);String bir = rs.getString(4);String class_ = rs.getString(5);String email = rs.getString(6);String tel = rs.getString(7);String address = rs.getString(8);String join_time = rs.getString(9);String info = rs.getString(10);Student user = new Student(); / 封装每条用户信息user.setIdx(id);user.setNam(name);user.setSex(sex);user.setBir(bir);user.setClass_(class_);user.setEmail(email);user.setTel(tel);user.setJoin_time(join_time);user.setInfo(info);user.setAddress(address);users.add(user); rs.close();pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();return users;/删除用户信息public void delete(int idx)sql = delete from student where idx = +idx;conn = ConnectionDB.getConnection();try pstat = conn.prepareStatement(sql);int rs = pstat.executeUpdate(); pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();/得到符合条件学生的信息public List getInfo(String sql)List users = null; /存放一个用户的所有信息conn= ConnectionDB.getConnection();try pstat = conn.prepareStatement(sql);ResultSet rs = pstat.executeQuery();rs.next();users = new ArrayList();int id = rs.getInt(1);String name = rs.getString(2);String sex = rs.getString(3);String bir = rs.getString(4);String class_ = rs.getString(5);String email = rs.getString(6);String tel = rs.getString(7);String address = rs.getString(8);String join_time = rs.getString(9);String info = rs.getString(10);Student user = new Student(); / 封装每条用户信息user.setIdx(id);user.setNam(name);user.setSex(sex);user.setBir(bir);user.setClass_(class_);user.setEmail(email);user.setTel(tel);user.setJoin_time(join_time);user.setInfo(info);user.setAddress(address);users.add(user);rs.close();pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();return users;/ 修改学生信息public void modi(Student user) sql =update student set sex=?,bir=?,class=?,email=?,tel=?,address=?, info=? where idx =?;conn = ConnectionDB.getConnection();try pstat = conn.prepareStatement(sql);pstat.setString(1, user.getSex();pstat.setString(2, user.getBir();pstat.setString(3, user.getClass_();pstat.setString(5, user.getEmail();pstat.setString(6, user.getTel();pstat.setString(7, user.getAddress();pstat.setString(9, user.getInfo();pstat.setInt(10, user.getIdx();pstat.executeUpdate(); pstat.close();conn.close(); catch (Exception e) e.printStackTrace();public List getInfo1(pageBean page,String sql) List users = null; /存放所有用户信息conn= ConnectionDB.getConnection();try pstat=conn.prepareStatement(sql);ResultSet rs =pstat.executeQuery();users = new ArrayList();while (rs.next()int id = rs.getInt(1);String name = rs.getString(2);String sex = rs.getString(3);String bir = rs.getString(4);String class_ = rs.getString(5);String email = rs.getString(6);String tel = rs.getString(7);String address = rs.getString(8);String join_time = rs.getString(9);String info = rs.getString(10);Student user = new Student(); / 封装每条用户信息user.setIdx(id);user.setNam(name);user.setSex(sex);user.setBir(bir);user.setClass_(class_);user.setEmail(email);user.setTel(tel);user.setJoin_time(join_time);user.setInfo(info);user.setAddress(address);users.add(user); rs.close();pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();return users;public void addUser(addUserBean user) sql =insert into admin values (?,?,?,?,?);conn = ConnectionDB.getConnection();try pstat=conn.prepareStatement(sql);pstat.setString(1,user.getName();pstat.setString(2,user.getPwd();pstat.setInt(3,user.getAge();pstat.setString(4,user.getSex();pstat.setString(5,user.getAddress();pstat.executeUpdate();pstat.close();conn.close(); catch (SQLException e) e.printStackTrace();案例:封装学生信息类文件名:Student.javapackage com.stumanage.bean;import java.io.Serializable;/这是一个JAVABEAN 用来封装学生信息public class Student implements Serializableprivate String nam;private String pwd;private String sex;private int idx;private String bir;private String class_;private String email;private String tel;private String address;private String join_time;private String info;public String getAddress() return address;public void setAddress(String address) this.address = address;public String getBir() return bir;public void setBir(String bir) this.bir = bir;public String getClass_() return class_;public void setClass_(String class_) this.class_ = class_;public String getEmail() return email;public void setEmail(String email) this.email = email;public String getInfo() return info;public void setInfo(String info) = info;public String getJoin_time() return join_time;public void setJoin_time(String join_time) this.join_time = join_time;public String getNam() return nam;public void setNam(String nam) this.nam = nam;public String getPwd() return pwd;public void setPwd(String pwd) this.pwd = pwd;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public String getTel() return tel;public void setTel(String tel) this.tel = tel;public int getIdx() return idx;public void setIdx(int idx) this.idx = idx;案例:用户登录页面文件名:login.jsp function check(frm_login) if(frm_.value=)window.alert(请输入名字!); frm_.focus(); return (false); if(frm_login.pwd.value=)window.alert(请输入密码); frm_login.pwd.focus(); return (false); 用户登陆页面 名字: 密码: 案例:登录信息验证类文件名:Login_Servlet.javapackage com.stumanage.servlet;import java.io.*;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.http.*;import com.stumanage.DAO.DataAccess;import com.stumanage.bean.Student;public class Login_Servlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOExceptionresponse.setContentType(text/html;charset=gbk);request.setCharacterEncoding(gbk);String name = request.getParameter(name)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于制定房屋租赁合同范本
- 2025劳动合同模板及指南
- 2025年上半年江苏徐州市九州职业技术学院招聘模拟试卷及答案详解一套
- 2025内蒙古工业大学事业编制工作人员招聘10人模拟试卷及一套参考答案详解
- 宁夏社工考试题库及答案
- 建筑考试题库及答案
- 2025年新疆籽棉种植基地税收筹划合同
- 2025年贵州公务员考试行测试题及答案
- 社区林业资源整合与利用合同
- 教育管理理论考试试题及答案
- 重症肌无力急救护理措施讲课件
- 心跳呼吸骤停患者的护理
- 2025年中国电梯能量回馈单元行业投资前景及策略咨询研究报告
- 教育与科技的融合儿童财商启蒙计划的实践与思考
- 2025-2030年中国童书行业市场现状供需分析及投资评估规划分析研究报告
- 转包免责协议书
- 兵棋推演案例
- 儿童支气管哮喘诊断与防治指南(2025)解读课件
- 专题03 地球运动2025年高考复习之近十年地理真题分项汇编(解析卷)
- 小儿肱骨髁上骨折护理讲课
- 大学生职业规划大赛《机械设计制造及其自动化专业》生涯发展展示
评论
0/150
提交评论