




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 实验题目 在线学生管理系统二 开发背景简介 随着网络技术的发展和普及许多以前基于CS的应用都开始向BS方向发展,而Java在这方面的应用有着许多其他技术不具备的优点,Java开发Web应用的主要技术是Servlet和Jsp技术,其实Jsp只Servlet的一种进化方便了开发者的使用。它们都具有强大的功能适用于许多大型项目的开发。在未来基于BS的应用也必将得到较好的发展。本实验是在讲完Jsp和Servlet课程后为掌握所学的知识而做的实验。三 开发工具 本次试验是在Windows平台下开发采用的集成开发工具是Myeclipse8.5,数据库使用的是MySql5.5,服务器采用的是Tomcat7.0。四 实验设计 在本实验中模仿的是MVC设计模式,但由于系统比较小所以省略了业务层,在页面层中直接调用了数据层。在做这个在线学生管理系统中业务基本上都是由Jsp页面完成的没有用到Servlet控制器。五 实现的功能 BrowserTomcat请求的htmlJSP处理页MysqlMysql数据库六 试验截图1. 登陆界面登录可以选择是身份,可以是学生,老师,和管理员。登录界面是login.html,它想login.jsp页面传了3个参数来进行页面的验证,其中验证的部分代码是,String uname = request.getParameter(userName);String pwd = request.getParameter(userPass);int i =Integer.parseInt(request.getParameter(identity);String sql = select * from userManger where username=+uname+ and userpassword=+pwd+; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); if(rs.next() session.setAttribute(userId,rs.getString(id); session.setAttribute(userMark,rs.getString(identitymark); response.sendRedirect(index.jsp); else response.sendRedirect(2.html); 2. 其中系统用的学生表是这是学生表里面的初始化的数据,你可以看到登录的用户名和密码3. 如果你输入登录的密码不正确,就会跳转到错误界面4. 这是学生表的登录成功的界面在这页面显示用户名称和上次登录的时间,这里是从数据库里面查询的,用到了session的功能。当然这个系统也可以在一台电脑上登录多个用户,多个用户之间是不会发生冲突的,因为链接的代码是学生的id号。 int userId=Integer.parseInt(session.getAttribute(userId).toString(); int userMark =Integer.parseInt(session.getAttribute(userMark).toString(); String sql =select * from student_table where id=? and identitymark=?; PreparedStatement ps=conn.prepareStatement(sql); ps.setInt(1,userId); ps.setInt(2,userMark); ResultSet rs=ps.executeQuery(); rs.next();取得用户的显示的信息的代码如下: 你好, 【管理员】 欢迎登录 你上次登录的时间是:*年*月*日 5. 在这个页面,你可以查询自己的的个人信息。6. 如果个人信息不对,你可以进行修改个人信息,当然修改后会需要管理员批准才生效。修改个人信息时也是先从数据库进行取值的,然后放到updatestuInfo.Jsp中进行显示的。其中的页面的代码是: function judgeSex() /alert(); var sel=document.getElementById(sex); if(=0)sel.innerText=男; else sel.innerText=女; 个人基本信息表 姓名: img src=././ 性别: 年龄: 手机: 所属系名称: 家庭住址: 辅导员: 宿舍号: 爱好: 备注: 7. 当然学生还可以查询成绩和查看自己的登录情况,我这儿就不一一演示了,我们放到admin中区演示,下面我们看老师登录。老师登录的时候在身份栏里面选择教师就行了,当然必须要用户名和密码必须正确,不然又跳转到errorr.html了8. 这是老师数据库中的信息表你可以看到老师的登录用户名称和密码。9. 这是老师的登录的界面,你可以看到它所操作得内容明显比学生的多了。可以修改学生的成绩了。10. 当然老师的各个分页面与学生的差不多,我也就不一一截图了,你可以直接看我的源文件代码。下面我们主要讲管理员登录的情况。这是数据库中管理员的表,管理员可以是总管理员和各系的管理员,他们操作得学生也是不一样的。11. 这是管理员登录后的界面。12. 由于这个页面比较大,所以我截了两个图。管理员操作的内容比较多,可以查看所有的用户,添加用户的公告,删除用户,修改老师和学生的基本信息等等。13. 这是查看的学生的信息表,这里就涉及到了查询,这里面的所有信息都是从数据库里面查询出来的。14. 可以对学生学生信息进行修改和删除,还有添加的操作。假设我们要对序号为1的shezhanjun进行修改操作。当然这里涉及到了验证输入的是否正确,用到了js和servlet技术。15. 修改成功后就跳转到刚才的页面了。这里我这是把名字修改为了佘占君,所以你看到的信息就变化了。修改的页面用的代码:16. 当然我们可以对上面的信息进行删除,比如我们还是删除第一条记录,我们删除后,就是这样了。17. 在这里还可以添加学生。录入学生的基本信息,还可以直接从数据库中取。在添加页面用到了页面的验证,我写到了一个通用的js文件里面了,代码如下:/* 判断是否为空!第一个参数是id,第二个参数是判断不为空的元件名称。*/function checkIsEmpty(id,message) var flag=true; if(document.getElementById(id).value=) alert(message+不能为空!); /鼠标的焦点停留在那个文本框,并设置背景色为红色 document.getElementById(id).focus(); document.getElementById(id).style.backgroundColor=red; flag=false; elsedocument.getEmelentById(id).style.backgroundColor=white; return flag; /*让文本框输入只能是数字*/ function checkNumber() if(event.keyCode57|event.keyCodelen) alert(长度必须小于+len+位!);document.getElementById(id).focus();document.getElementById(id).style.backgroundColor=red; return false; elsedocument.getElementById(id).style.backgroundColor=white; return true; 18. 这是学生成绩的录入界面。19. 这里面有课程号和课程名称,都是从数据库中取的。20. 学生成绩的查询,你可以查询学生的成绩。并且可以修改。21. 当然还可以进行学生成绩的修改。修改会产生修改记录,我们也保存起来了,以供日后查询使用。22. 学生的成绩表在数据库中是这样的。这里是学号和课程号得键值对。23. 当然你可以查询其中某个学生的成绩单。24. 如果你想了解某个学生的基本信息,你可以进行查询。这里支持模糊搜索。25. 老师的信息的查询和修改与学生的差不多,所以我也就不一一陈述了,最后就是系统的登录,可以查询用户的登录信息。26. 查询后得到登录的信息表。它也是从数据库中取得的。27. 你查询后就得到了这样的表。七实验代码【部分主要功能的代码】1.我用到的的jsp链接的代码是:2.常用的更新页面的代码(这是更新学生信息表的,admin和老师用户都要用它,所以我写在外面了):%int id = Integer.parseInt(request.getParameter(id);/由于得到的中文会出现乱码的现象,所以要进行转码的工作String stuname =new String(request.getParameter(txtName).getBytes(ISO8859-1),gb2312);String stupassword =new String(request.getParameter(txtPassword).getBytes(ISO8859-1),gb2312);int age = Integer.parseInt(request.getParameter(chkAge);String mobile=new String(request.getParameter(txtMobile).getBytes(ISO8859-1),gb2312);String home_address =new String(request.getParameter( txtHomeAddress).getBytes(ISO8859-1), gb2312); String series_name=new String(request.getParameter(txtSeriesName).getBytes(ISO8859-1),gb2312);String counsellor=new String(request.getParameter(txtCounsellor).getBytes(ISO8859-1),gb2312);String dorm=new String(request.getParameter(txtDorm).getBytes(ISO8859-1),gb2312);/由于没有解决拷贝文件的方法,所以暂时 不更新照片的路径。/String photo= request.getParameter(txtPhoto);/String hobby=new String(request.getParameter(chkHobby).getBytes(ISO8859-1),gb2312);String hobby=;String boxes=request.getParameterValues(chkHobby); /循环取得复选框里面的值 if (boxes != null & boxes.length != 0) for(int i=0;i3.用到重文件中解析学生信息的代码:package excel;import java.io.File;import java.util.ArrayList;import beans.Student;import jxl.Sheet;import jxl.Workbook;public class ImportDataFromExcel public static void main(String args)ImportDataFromExcel data = new ImportDataFromExcel();String fileName = 学生信息.XLS;ArrayList students = data.getStuentInfo(fileName,04计算机);for(Student stu:students)System.out.println(stu.toString();public Workbook getWorkBook(String fileName) throws ExceptionWorkbook workbook = Workbook.getWorkbook(new File(fileName);return workbook;public ArrayList getStuentInfo(String fileName, String sheetName)Workbook workbook = null;tryworkbook = getWorkBook(fileName);catch(Exception e)System.out.println(e.toString();if(workbook = null)return null;Sheet sheet = workbook.getSheet(sheetName);ArrayList students = new ArrayList();for(int i=3;i11;i+)Student stu = new Student();stu.setSid(sheet.getCell(1,i).getContents();stu.setSname(sheet.getCell(2,i).getContents();stu.setSex(sheet.getCell(3,i).getContents();stu.setDepartment(sheet.getCell(4,i).getContents();stu.setMajor(sheet.getCell(5,i).getContents();students.add(stu);return students;4.在index.html用到了css样式表的控制,代码如下:#container width:100%; background:url(./images/bg4.gif); margin:auto;#nav background:url(./images/bg1.jpg); heig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能仪表物联网行业当前竞争格局与未来发展趋势分析报告
- 2025年棕榈油行业当前发展现状及增长策略研究报告
- 收入准则培训课件模板
- 支气管扩张症课件
- 支原体培训课件
- 播音演绎基础知识培训课件
- 2025年新修订《安全生产法》安全教育培训考核试卷及答案
- 2025年注册测绘师必考题含答案
- (2025)医院感染管理知识考试题及参考答案
- (2025)全国普法知识考试题库及参考答案
- 保监发112号附件1保险法人机构公司治理自评表
- “红旗杯”竞赛总题库-6班组长个人职业素养考试题库(附答案)
- 【S烟草公司物流配送线路优化设计8500字(论文)】
- JJG 635-2011二氧化碳红外气体分析器
- 2024银行数据资产价值评估
- 骨科植入物简介演示
- 2024近场电商行业白皮书-凯度x淘宝买菜-202401
- 医院感染控制标准执行案例分析及改进
- 机械基础 第三版 教案 模块二 机械零件的材料
- 呼吸科利用PDCA循环提高肺功能检查结果达标率品管圈QCC成果汇报
- 业务员代理协议合同
评论
0/150
提交评论