javaweb上机实验报告(学生管理系统)————————————————————————————————作者:————————————————————————————————日期:2一实验题目在线学生管理系统二开发背景简介随着网络技术的发展和普及许多以前基于CS的应用都开始向BS方向发展,而Java在这方面的应用有着许多其他技术不具备的优点,Java开发Web应用的主要技术是Servlet和Jsp技术,其实Jsp 只Servlet的一种进化方便了开发者的使用。
它们都具有强大的功能适用于许多大型项目的开发。
在未来基于BS的应用也必将得到较好的发展。
本实验是在讲完Jsp和Servlet课程后为掌握所学的知识而做的实验。
三开发工具本次试验是在Windows平台下开发采用的集成开发工具是Myeclipse8.5,数据库使用的是MySql5.5,服务器采用的是Tomcat7.0。
四实验设计在本实验中模仿的是MVC设计模式,但由于系统比较小所以省略了业务层,在页面层中直接调用了数据层。
在做这个在线学生管理系统中业务基本上都是由Jsp页面完成的没有用到Servlet控制器。
五实现的功能Bro Tomcat请求的JSP处MysqlMysql3六试验截图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.其中系统用的学生表是4这是学生表里面的初始化的数据,你可以看到登录的用户名和密码3.如果你输入登录的密码不正确,就会跳转到错误界面4.这是学生表的登录成功的界面在这页面显示用户名称和上次登录的时间,这里是从数据库里面查询的,用到了session的功能。
当然这个系统也可以在一台电脑上登录多个用户,多个用户之间是不会发生冲突的,因为链接的代码是学生的id号。
intuserId=Integer.parseInt(session.getAttribute("userId").toString());int userMark =Integer.parseInt(session.getAttribute("userMark").toString());5String 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();取得用户的显示的信息的代码如下:<div id="header"><font class="font1" color="white"> 你好,<imgsrc="userfile/userimage/messenger_people.png"style="width:20px;height:20px" ><font color="#FF00FF"><%=rs.getString("username")%>【管理员】</font> 欢迎登录 你上次登录的时间是:<font color="#ffooff">****年*月*日</font></font></div>65.在这个页面,你可以查询自己的的个人信息。
6.如果个人信息不对,你可以进行修改个人信息,当然修改后会需要管理员批准才生效。
修改个人信息时也是先从数据库进行取值的,然后放到updatestuInfo.Jsp中进行显示的。
其中的页面的代码是:<%@ page contentType="text/html; charset=gb2312" import="java.sql.*"%><%@ include file="../../conn.jsp"%>7<%request.setCharacterEncoding("gb2312");response.setContentType("text/html;charset=gb2312");%><html><head></head><%int userId=Integer.parseInt(request.getParameter("id"));int userMark =Integer.parseInt(request.getParameter("mark"));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();%><script>function judgeSex(){//alert(<%=rs.getInt(4)%>);var sel=document.getElementById("sex");if(<%=rs.getInt(4)%>==0){sel.innerText="男";}else{sel.innerText="女";}}</script><body onload="judgeSex()" background="../../images/bg4.gif"> <table border="1" align="center" width="600" height="200" background="../../images/bg.bmp" bordercolorlight=#72C8D4 bordercolordark=#ffffff cellpadding="0" cellspacing="0"><caption><b>个人基本信息表</b></caption><tr>8<td >姓名:</td><td><%=rs.getString(2)%></td><td rowspan="5" style="width:100px;height:150px;"width="100" height="150" ><img src="../../<%= rs.getString(11)%>"></td></tr><tr><td >性别:</td><td><div id="sex"></div></td></tr><!--辅导员,照片,爱好,身份标记,备注--><tr><td >年龄:</td><td><%=rs.getString(5)%></td></tr><tr><td>手机:</td><td><%=rs.getString(6)%></td></tr><tr><td >所属系名称:</td><td><%=rs.getString(8)%></td></tr><tr><td>家庭住址:</td><td colspan="2"><%=rs.getString(7)%></td></tr><tr><td>辅导员:</td><td colspan="2"><%=rs.getString(9)%></td></tr><tr><td>宿舍号:</td><td colspan="2"><%=rs.getString(10)%></td></tr><tr><td>爱好:</td><td colspan="2"><%=rs.getString(12)%></td>9</tr><tr><td>备注:</td><td colspan="2"><%=rs.getString(14)%></td></tr></table></body></html>7.当然学生还可以查询成绩和查看自己的登录情况,我这儿就不一一演示了,我们放到admin中区演示,下面我们看老师登录。