当前位置:文档之家› javaweb课程设计学生信息管理

javaweb课程设计学生信息管理

javaweb课程设计学生信息管理
javaweb课程设计学生信息管理

宿迁学院

J2EE导论

课程考核报告

班级:12软件1

学号:

姓名:

得分:

2015年6月15日

一、绪论............................... 错误!未定义书签。

1.1 课题研究背景和意义......................... 错误!未定义书签。

1.2 课题研究的主要内容 (1)

二、相关技术介绍 (1)

2.1 JSP (1)

2.2 MySQL (1)

2.3 Tomcat (1)

三、系统设计 (2)

3.1 系统功能设计 (2)

3.2 数据库设计 (3)

四、网站系统实现 (4)

4.1 系统主界面 (4)

4.2教师主界面 (5)

4.3教师修改界面 (6)

4.4教师添加界面 (7)

4.5教师删除界面 (9)

4.6学生主界面 (9)

4.7学生修改界面 (10)

4.8 关于exit界面实现 (11)

4.9过滤器实现 (12)

4.10源码 (12)

五、总结 (34)

一、绪论

1.1课题研究背景和意义

随着计算机技术的飞速发展以及Internet的广泛应用,越来越多的公司、单位和个人通过网站提供服务、公布信息、交流知识。在这个情形下,我们要紧跟潮流,通过小小的一个课题实现最基本功能,从而基本融汇一部分Web开发技术。

1.2课题研究的主要内容

课题是一个小小的学生信息管理系统。要求有前后台之分,前台为学生,后台为教师;涉及到数据库操作,可以在页面完成基本增、删、查、改功能;当然,在操作失败时,要求有提示;要有基本的页面布局,要求美观整洁;而且,添加过滤器以过滤非法访问。

二、相关技术介绍

2.1 JSP

JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML 文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。

2.2 MySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.3 Tomcat

TOMCAT是APACHE JAKARTA软件组织的一个子项目,TOMCAT是一个JSP/SERVLET容器,它是在SUN公司的JSWDK(JAVA SERVER WEB DEVELOPMENT KIT)基础上发展起来的一个JSP和SERVLET规范的标准实现,使用TOMCAT可以体验JSP和SERVLET的最新规范。经过多年的发展,TOMCAT不仅是JSP和SERVLET规范的标准实现,而且具备了很多商业JAVA SERVLET容器的特性,并被一些企业用于商业用途。

三、系统设计

3.1系统功能设计

图1 整个系统功能模块图

3.2数据库设计

表1 学生信息表结构信息

表2 教师信息表结构信息

四、网站系统实现

4.1登录界面

图2 登录功能图

在login.jsp页面用form表单提交数据到checklogin.jsp页面,并且在login.jsp 页面判断不能为空。

在checklogin.jsp页面接收login.jsp页面的数据,并且根据登录类型的不同,设置不同session,并跳转到不同的检测界面。

图3 登录失败图

根据session的不同typ,在checkstudent.jsp或checkteacher.jsp页面先获取session的用户名和密码,然后从数据库取值进行判断,若不同则显示登录失败,并返回

login.jsp页面

若是相同,就跳转到相应的显示界面。并设置session的IsLogin为true。

4.2教师主界面

图4 教师显示学生信息图

进入teshow.jsp界面,先获取session中用户名,用于显示欢迎xx条目,然后在表格中显示所有学生信息,在每一条信息后面都有四个超链接,分别连接到tedelete.jsp、update1.jsp、teadd1.jsp和exit界面。其中,删除和修改两个超链接要传递id。

4.3教师修改界面

图5 教师修改学生信息图

进入update1.jsp界面,先获取session中用户名,用于显示欢迎xx条目,再在界面中根据接收到的id连接数据库显示相应原信息。将要修改的那一条信息的姓名和id设置session,将其余允许修改的信息用form表单提交到update2.jsp页面。

根据session中的不同typ,设置指向teshow.jsp或stushow.jsp页面,放弃修改。

在update2.jsp页面中,接收数据,并连接数据库进行更新,之后跳转到相应显示界面。

图6 修改后图

这是更新id为7的学生信息的结果。

4.4教师添加界面

图7 教师添加重名学生信息图

进入teadd1.jsp界面,先获取session中用户名,用于显示欢迎xx条目,将添加的信息用form表单提交到teadd2.jsp页面,当然,要在teadd1.jsp页面中进行空值判断。

设置指向teshow.jsp页面的退出超链接,放弃添加。

在teadd2.jsp页面中,接收数据,

图8 添加失败图

先连接数据库,进行已存在判断,若已存在,就显示失败,并返回teshow.jsp页面。

图9 教师添加不重名学生信息图

在teadd1.jsp页面添加一个不重名的学生信息,在teadd2.jsp页面连接数据库,判断不存在,所以可以插入。然后连接数据库进行插入操作,返回teshow.jsp页面。

图10 教师添加学生信息成功图

添加一个姓名为100的学生成功。

4.5教师删除界面

图11 教师删除学生信息后图

进入tedelete.jsp界面,获取id,根据id连接数据库删除,之后回到teshow.jsp页面。

删除7学生的信息成功。

4.6学生主界面

图12 学生显示个人信息图

进入stushow.jsp界面,先获取session中用户名,用于显示欢迎xx条目,获取session 中id,然后根据id在表格中显示此位学生信息,在信息后面都有两个超链接,分别连接到update1.jsp和exit界面。修改超链接要传递id。

4.7学生修改界面

图13 学生修改个人信息图

进入update1.jsp界面,先获取session中用户名,用于显示欢迎xx条目,再在界面中根据接收到的id连接数据库显示相应原信息。将要修改的那一条信息的姓名和id设置session,将其余允许修改的信息用form表单提交到update2.jsp页面。

根据session中的不同typ,设置指向teshow.jsp或stushow.jsp页面,放弃修改。

在update2.jsp页面中,接收数据,并连接数据库进行更新,之后跳转到相应显示界面。

图14 学生修改个人信息后图

修改信息成功。

4.8 关于exit界面实现

图15 servlet配置图

在web.xml文件中为src文件夹下exam.servlet包中ExitServlet.java文件进行配置。

在ExitServlet.java文件中销毁session,并跳转到login.jsp页面。

4.9过滤器实现

图16 过滤器配置图

在web.xml文件中为src文件夹下exam.filter包中LoginFilter.java文件进行配置。

在LoginFilter.java文件中,login.jsp、checklogin.jsp、checkteacher.jsp和checkstudent.jsp四个页面,对其它页面都要检查IsLogin的值,若为true,则允许访问,否则就返回login.jsp页面。

4.10源码

图17 源码结构图

login.jsp页面

<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%@page contentType="text/html"%>

<%@page import="java.sql.*"%>

登录页面

欢迎使用
请登录:

学 号:

姓 名:

密 码:

类 型:

学生

教师

checklogin.jsp页面

<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%>

<%@page contentType="text/html"%>

<%@page import="java.sql.*"%>

检查类型

<%

request.setCharacterEncoding("UTF-8");

int id=Integer.parseInt(request.getParameter("id"));

String name=request.getParameter("name");

String password=request.getParameter("password"); String s=request.getParameter("typ");

if(s.equals("1"))

{

session.setAttribute("id", id);

session.setAttribute("name", name);

session.setAttribute("password", password);

session.setAttribute("typ", s);

response.sendRedirect("checkstudent.jsp");

}

else

{

session.setAttribute("id", id);

session.setAttribute("name", name);

session.setAttribute("password", password);

session.setAttribute("typ", s);

response.sendRedirect("checkteacher.jsp");

}

%>

checkteacher.jsp页面

<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%@page contentType="text/html"%>

<%@page import="java.sql.*"%>

My JSP 'checkteacher.jsp' starting page

<%

int id=(Integer)session.getAttribute("id");

String name=(String)session.getAttribute("name");

String password=(String)session.getAttribute("password");

int m=0;

%>
<%

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection

con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ts","root" ,"");

Statement st=con.createStatement();

ResultSet rst=st.executeQuery("select * from teacher");

while(rst.next())

{

int id2=rst.getInt("userId");

String name2=rst.getString("username");

String password2=rst.getString("password");

if(id==id2&&name.equals(name2)&&password.equals(password2)) {

m=1;

}

}

if(m==1)

{

session.setAttribute("IsLogin", "true");

response.sendRedirect("teshow.jsp");

}

else

{

%>
<%

%>

登录失败!!!!     存在某些错误???

<% response.setHeader("Refresh", "3;URL=login.jsp");

}

rst.close();

st.close();

con.close();

%>

checkstudent.jap页面

<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%>

<%@page contentType="text/html"%>

<%@page import="java.sql.*"%>

My JSP 'checkstudent.jsp' starting page

<%

int id=(Integer)session.getAttribute("id");

String name=(String)session.getAttribute("name");

String password=(String)session.getAttribute("password");

int m=0;

%>
<%

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection

con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ts","root" ,"");

Statement st=con.createStatement();

ResultSet rst=st.executeQuery("select * from student");

while(rst.next())

{

int id2=rst.getInt("userId");

String name2=rst.getString("username");

String password2=rst.getString("password");

if(id==id2&&name.equals(name2)&&password.equals(password2)) {

m=1;

}

}

if(m==1)

{

session.setAttribute("IsLogin", "true");

response.sendRedirect("stushow.jsp");

}

else

{

%>
<%

%>

登录失败!!!!     存在某些错误???

<% response.setHeader("Refresh", "3;URL=login.jsp");

}

rst.close();

st.close();

con.close();

%>

stushow.jsp页面

<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%>

<%@page contentType="text/html"%>

<%@page import="java.sql.*"%>