娄底职业技术学院Java Web课程设计报告
娄底职业技术学院 LOUDI VOCATIONAL AND TECHNICAL COLLEGE
《JAVA WEB》课程设计报告书 课 题: 电子离校系统 系 部: 电子信息工程系 班 级: 12软件1班(东宝订单班) 学 号: 201202040122 姓 名: 雷悦巍 组 员: 谭伟、杨焕倩、李天琪、钟威、向鹏、杨晓江 指导老师: 游新娥 完成时间: 2013.12.15—2013.12.20
设计人:雷悦巍 2013-12-22
1
娄底职业技术学院Java Web课程设计报告
第一章 课程设计的目的与要求 .............................. 4
1.1目的 .............................................. 4
1.2要求 .............................................. 4
第二章 课程设计中应用到的关键技能点 ...................... 5
2.1 Java Bean方法连接数并访问据库 ..................... 5
2.2 站点导航 .......................................... 6
第三章 课程设计项目的需求分析 ............................ 8
3.1 项目概述 .......................................... 8
3.1 系统设计 .......................................... 8
第四章 系统的详细设计 ................................... 10
4.1 数据库设计 ....................................... 10
4.3代码的实现 ....................................... 12
A、学生搜索页面: ................................. 12
1、 UI界面..................................... 13
2、 动作处理页面 ............................... 16
B、学生添加页面实现代码: ......................... 22
1、UI界面...................................... 22
2、动作实现 .................................... 25
C、管理员管理页面的实现: ......................... 27
1、 UI界面..................................... 27
2、 动作处理页面 ............................... 29
第五章 总结 ............................................. 31
设计人:雷悦巍 2013-12-22
2
娄底职业技术学院Java Web课程设计报告
参考文献 ................................................ 32
设计人:雷悦巍 2013-12-22
3
娄底职业技术学院Java Web课程设计报告
第一章 课程设计的目的与要求
1.1目的
现如今,随着时代的发展,人们开始步入高速信息时代,同时高等级学府的每年招生人数增加,管理学院学生已经从原来的档案管理变成了校园互联网登记管理,其中包括:电子离校系统、校园网络系统、校园图书管理系统、网上报修系统等等一系列方便快捷的信息管理系统。这些系统在如今的校园管理中发挥着不可替代的作用,也是现如今许多大型学府的重要管理软件系统。
因此通过本学期的《JAVA WEB》编程的学习,将学习的一些重要知识点用于开发一套电子离校系统以作为这学期的学习检验与知识的巩固。
1.2要求
电子离校系统,用于学生提交离校申请报告及离校资料以方便老师的审核予批准,这样可以大大方便审核老师的负担,与学生申请离校的方便性。
在功能方面需有一下几个功能点:
设计人:雷悦巍 2013-12-22
4
娄底职业技术学院Java Web课程设计报告
第二章 课程设计中应用到的关键技能点 在这次的课程设计中,我们熟悉了许多知识,主要有以下几个知识要点。
2.1 Java Bean方法连接数并访问据库
本方法位为,创建多个连接数据库及操作数据库表与字段的java类文件,以便项目文件调用从而减少重复去使用一个代码段而降低源代码的可读性。
如下图:
设计人:雷悦巍 2013-12-22
5
娄底职业技术学院Java Web课程设计报告
2.2 站点导航
引导用户进入相应的处理页面:
设计人:雷悦巍 2013-12-22
6
娄底职业技术学院Java Web课程设计报告
学生导航界面:
设计人:雷悦巍 2013-12-22
7
娄底职业技术学院Java Web课程设计报告
第三章 课程设计项目的需求分析
3.1 项目概述
电子离校的系统为老师、学生、管理员三种用户:
学生:可以提交一些离校的申请与报告,查看学分,查看自己
的离校申请是否被通过,及未通过的项目,以便于及时查看并加以完善离校手续的办理。
老师:可以查看学生的学分、递交的离校申请、审核离校申请,查找学生,删除学生。
管理员:可以管理学校老师,如有老师调岗或退职,则可以删
除老师的登录信息以维护离校系统的正常运行而不被非法利用。
3.1 系统设计
分析:老师可以管理学生离校信息,学生可以查看自己的离校是否被允许,管理员可以查看老师信息,以及时更新登录用户的资料。
系统流程图为:
设计人:雷悦巍 2013-12-22
8
娄底职业技术学院Java Web课程设计报告
说明:
1. 学生模块为前台;
2. 学生模块功能:修改个人信息,查看离校手续办理流程,查看需要办理的离校手续,留言。
3.教师模块:拥有统计功能,以便于查看离校手续办理情况。
设计人:雷悦巍 2013-12-22
9
娄底职业技术学院Java Web课程设计报告
第四章 系统的详细设计
4.1 数据库设计
数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,子模式,建立数据库和设计应用程序,满足用户的各种信息需求。
本系统的表有:
设计人:雷悦巍 2013-12-22
10
娄底职业技术学院Java Web课程设计报告
Dbo.Shenhe 表:
Dbo.usadmin 表:
设计人:雷悦巍 2013-12-22
11
娄底职业技术学院Java Web课程设计报告
Dbo.ususer 表:
4.3代码的实现
本人于项目中的工作:
负责的页面:学生搜索、学生添加、管理员管理 A、学生搜索页面:
设计人:雷悦巍 2013-12-22
12
娄底职业技术学院Java Web课程设计报告
实现代码:
1、UI界面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<script Language="javascript">
function sousuo()
{
sousuoinfo=document.fmSou.sousuoinfo.value;
设计人:雷悦巍 2013-12-22
13
娄底职业技术学院Java Web课程设计报告
} if(sousuoinfo==""||sousuoinfo==null) { } return true; window.alert("请输入搜索内容!!"); fmSou.sousuoinfo.focus(); return false;
</script>
</head>
<% //如果客户直接进入该页面将被转向登录页面。 if(session.isNew())
{response.setHeader("refresh","0;../login.jsp"); }
//如果没有成功登录将被转向登录页面
String success=(String)session.getAttribute("success"); if(success==null)
{success="";
}
if(!(success.equals("y")))
{response.sendRedirect("../login.jsp");
}
设计人:雷悦巍 2013-12-22
14
娄底职业技术学院Java Web课程设计报告
%>
<body>
<br>
<h2>搜索</h2><hr>
<center>
<form name=fmSou method="post" action="sousuodeal.jsp" onsubmit="return sousuo();">
<!-- 搜索系统表格 -->
<table border="0" >
<tr>
<td colspan="2" background="image/index_10.gif"></td> </tr>
<tr>
<td><img src="../image/nav_search.gif"/></td> <td> </td> <td>搜索: <select name="sousuo"> <option value="userid" selected>学号</option> <option value="username">姓名</option> </select> </td> <td>
设计人:雷悦巍 2013-12-22
15
娄底职业技术学院Java Web课程设计报告
<INPUT type="text" size=40 name=sousuoinfo> </td> <td colspan="2"> <INPUT type=submit value=搜索 name=search> </td>
</table>
</form>
</center>
</body>
</html>
2、动作处理页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="Conn1" class="jb.dat"></jsp:useBean>
<html>
<head>
</head>
<script type="text/javascript">
function confirmDelete()
{
设计人:雷悦巍 2013-12-22
16
娄底职业技术学院Java Web课程设计报告
var r=window.confirm("你确定要删除吗?");
if(r==true)
return true;
else
return false;
}
</script>
<body>
<center>
<table border="0" width="100%" align="center">
<tr><td height="100%" align="center" bgcolor="#009966">≡≡≡查询结果如下 ≡≡≡</td></tr>
<tr>
<% try { ResultSet rs=null; String
sousuoinfo=request.getParameter("sousuoinfo");
String sousuo=request.getParameter("sousuo"); String
设计人:雷悦巍 2013-12-22
17 sql="select
娄底职业技术学院Java Web课程设计报告
userid,username,userbirthday,useremail,useraddress,userphone,userclass from ususer";
if(sousuo.equals("userid")) { sql="select
userid,username,userbirthday,useremail,useraddress,userphone,userclass from ususer where userid like '%"+sousuoinfo+"%'";
} if(sousuo.equals("username")) { sql="select
userid,username,userbirthday,useremail,useraddress,userphone,userclass from ususer where username like '%"+sousuoinfo+"%'";
} Conn1.OpenCon(); rs=Conn1.executeQuery(sql); if(rs.next()==true) { out.print("<Table Border=1 bordercolor=#33CCFF bgcolor=#66FF00>");
out.print("<TR align=center>");
out.print("<TH width=100>"+"学号");
设计人:雷悦巍 2013-12-22
18
娄底职业技术学院Java Web课程设计报告
out.print("<TH width=100>"+"姓名"); out.print("<TH width=100>"+"生日"); out.print("<TH width=100>"+"邮件"); out.print("<TH width=100>"+"住址"); out.print("<TH width=100>"+"电话"); out.print("<TH width=100>"+"班级"); out.print("<TH width=100>"+"详情"); out.print("<th width=100>"+"删除"); out.print("</TR>");
rs.previous();
while(rs.next())
{
out.print("<TR align=center>"); String userid=rs.getString("userid"); out.print("<TD >"+userid+"</TD>"); String
username=rs.getString("username");
out.print("<TD >"+username+"</TD>");
out.print("<TD>"+rs.getDate("userbirthday")+"</TD>");
设计人:雷悦巍 2013-12-22
19
娄底职业技术学院Java Web课程设计报告
out.print("<TD>"+rs.getString("useremail")+"</TD>");
out.print("<TD>"+rs.getString("useraddress")+"</TD>");
out.print("<TD>"+rs.getString("userphone")+"</TD>");
out.print("<TD>"+rs.getString("userclass")+"</TD>");
String d1="<Form name=fm
action='userdzlx.jsp' method='get''>";
String
name='usname' value="+username+">";
String d3="<input type=image d2="<input type=hidden src='../image/huifu.gif' value=详情></FORM> ";
String dd=d1+d2+d3;
out.print("<TD >"+dd+"</TD>");
String s1="<Form name=fm action='ususerdel.jsp' method='get' onsubmit='return confirmDelete();'>"; String
name=id value="+userid+">";
String s3="<input type=image s2="<input type=hidden src='../image/del.gif' value=删除></FORM> ";
设计人:雷悦巍 2013-12-22
20
娄底职业技术学院Java Web课程设计报告
String ss=s1+s2+s3;
out.print("<TD >"+ss+"</TD>");
}
out.print("</table>");
} else out.print("</TR>");
{
out.print("对不起!没有找到对应的用户!!");
}
Conn1.closeCon();
Conn1.closeStmt();
out.print("<a href=sousuo.jsp>返回</a>");
} catch(SQLException s) { } out.print("error"); %>
</tr>
</table>
设计人:雷悦巍 2013-12-22
21
娄底职业技术学院Java Web课程设计报告
</center>
</body>
</html>
B、学生添加页面实现代码:
1、UI界面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page language="java" import="java.sql.*" errorPage="" %> <% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.setHeader("refresh","0;../login.jsp");
}
//如果没有成功登录将被转向登录页面
String success=(String)session.getAttribute("success");
if(success==null)
{success="";
}
设计人:雷悦巍 2013-12-22
22
娄底职业技术学院Java Web课程设计报告
if(!(success.equals("y")))
{response.sendRedirect("../login.jsp");
}
%>
<html>
<head> <script Language="javascript">
function juhua()
{
userid=document.addfm.userid.value;
username=document.addfm.username.value;
userpassword=document.addfm.userpassword.value;
useremail=document.addfm.useremail.value;
useraddress=document.addfm.useraddress.value;
userphone=document.addfm.userphone.value;
userclass=document.addfm.userclass.value;
if(userid==null||userid==""||isNaN(userid)||userid.length!=8) {
window.alert("学号只可以为8位数字,且不可以为空值!");
addfm.userid.focus();
return false;
}
if(username==null||username.length>20||username.length<3) {
window.alert("学生姓名只能为3-20位字符,且不可以为空!!"); addfm.username.focus();
return false;
}
if(userpassword==null||userpassword.length>20||userpassword.length<6)
{
window.alert("密码不能为空且长度在6至20之间!");
addfm.userpassword.focus();
return false;
}
return true;
}
</script>
</head>
设计人:雷悦巍 2013-12-22
23
娄底职业技术学院Java Web课程设计报告
<body>
<form name="addfm" action="useradddeal.jsp" method="post" onsubmit="return juhua();">
<table border="1" bordercolor="#00CC00">
<tr>
<td colspan="2" height="100%" align="center" bgcolor="#009966">≡≡≡≡≡≡≡≡≡≡学生信息添加表≡≡≡≡≡≡≡≡≡≡</td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="#0000FF"><b>学生学号:</b></font></td>
<td width="600px" align="left"><input type="text" name="userid" width="350"/>*</td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="#0000FF"><b>学生姓名:</b></font></td>
<td width="600px" align="left"><input type="text" name="username" width="350"/>*</td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="red"><b>学生密码:</b></font></td>
<td width="600px" align="left"><input type="text" name="userpassword" width="350"/>*</td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="black"><b>学生邮件:</b></font></td>
<td width="600px" align="left"><input type="text" name="useremail" width="350"/>(Email地址,例如:xxx@xx.com)</td> </tr>
<tr align="center">
<td width="100px"><font size="2" color="black"><b>学生住址:</b></font></td>
<td width="600px" align="left"><input type="text" name="useraddress" width="350"/></td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="black"><b>联系方式:</b></font></td>
<td width="600px" align="left"><input type="text" name="userphone" width="350"/>(固定电话为区号+电话号码,例如:
设计人:雷悦巍 2013-12-22
24
娄底职业技术学院Java Web课程设计报告
07388368888)</td>
</tr>
<tr align="center">
<td width="100px"><font size="2" color="black"><b>所属班级:</b></font></td>
<td width="600px" align="left"><input type="text" name="userclass" width="350"/></td>
</tr>
<tr align="center">
<td width="100px" align="right"><input type="submit" name="Add" value="添加"/>
</td>
<td width="600px" align="left"><input type="reset" name="reset" value="重置" />
</td>
</tr>
</table>
</form>
</body>
</html>
2、动作实现
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page language="java" import="java.sql.*" errorPage="" %> <jsp:useBean id="AddDbl" scope="page" class="jb.dat" />
<%
if(session.isNew())
{
response.sendRedirect("AddStudent.jsp");
}
%>
<html>
<head>
</head>
<body>
<%
设计人:雷悦巍 2013-12-22
25
娄底职业技术学院Java Web课程设计报告
request.setCharacterEncoding("GB2312");
String userid=request.getParameter("userid");
String username=request.getParameter("username");
String userpassword=request.getParameter("userpassword");
String useremail=request.getParameter("useremail");
String useraddress=request.getParameter("useraddress"); String userphone=request.getParameter("userphone");
String userclass=request.getParameter("userclass");
String sql1="select * from ususer where userid='"+userid+"'"; AddDbl.OpenCon();
ResultSet rs=AddDbl.executeQuery(sql1);
if(rs.next())
{
rs.close();
out.print("该学生已存在!<br>");
%>
<a href="useradd.jsp">返回重新添加</a>
<%
}
else
{
String sql="insert into ususer (userid,username,userpassword,useremail,useraddress,userphone,userclass)
values('"+userid+"','"+username+"','"+userpassword+"','"+useremail+"','"+useraddress+"','"+userphone+"','"+userclass+"')";
AddDbl.OpenCon();
AddDbl.executeUpdate(sql);
AddDbl.closeCon();
out.print("添加学生成功!!<br>");
%>
<a href="userview.jsp">去查看</a>
<%
}
%>
设计人:雷悦巍 2013-12-22
26
娄底职业技术学院Java Web课程设计报告
</body>
</html>
C、管理员管理页面的实现:
1、UI界面
<% //如果客户直接进入该页面将被转向登录页面。
if(session.isNew())
{response.setHeader("refresh","0;../login.jsp");
}
//如果没有成功登录将被转向登录页面
String success=(String)session.getAttribute("success");
if(success==null)
{success="";
}
if(!(success.equals("y")))
{response.sendRedirect("../login.jsp");
}
%><%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:useBean id="Conn1" class="jb.dat" scope="page"/>
<%@page import="java.sql.*" %>
设计人:雷悦巍 2013-12-22
27
娄底职业技术学院Java Web课程设计报告
<html>
<head>
<script type="text/javascript"> function confirmDelete()
{
var r=window.confirm("你确定要删除吗?");
if(r==true)
return true;
else
return false;
}
</script>
</head>
<body>
<form action="adminviewdeal.jsp" method="post" name="delfm"> <table width="100%" align="center">
<tr>
<td height="30" align="center" bgcolor="green" width="100%"> 管理员详细信息 </td>
</tr>
<tr>
<td width="100%" align="center">
<%
Conn1.OpenCon();
String sql="select adminid,adminname,adminpassword,adminphone,adminemail from usadmin";
ResultSet rs=Conn1.executeQuery(sql);
if(rs.next()==true)
{
out.print("<table align=center width=550 border=1 bordercolor=#009933>");
out.print("<tr>");
out.print("<th>"+"管理员编号"); out.print("<th>"+"管理员姓名"); out.print("<th>"+"管理员密码"); out.print("<th>"+"管理员电话"); out.print("<th>"+"管理员邮件"); out.print("</tr>"); rs.previous(); while(rs.next()) {
设计人:雷悦巍 2013-12-22
28
娄底职业技术学院Java Web课程设计报告
out.print("<tr>");
String id=rs.getString("adminid");
out.print("<td>"+rs.getString("adminname")+"</td>");
out.print("<td>"+rs.getString("adminpassword")+"</td>");
out.print("<td>"+rs.getString("adminphone")+"</td>");
out.print("<td>"+rs.getString("adminemail")+"</td>");
String s1="<Form name=fm action=DeladminAction.jsp method=get onsubmit='return confirmDelete();'>";
String s2="<input type=hidden name=ddid value="+id+">";
String s3="<input type=image src='../image/del.gif' value=删除></FORM> ";
String ss=s1+s2+s3;
out.print("<TD
align='center'>"+ss+"</TD>");
out.print("</tr>");
}
}
%>
</td>
</tr>
</table>
</form>
</body>
</html>
2、动作处理页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<jsp:useBean id="Conn1" class="jb.dat" scope="page"/>
<html>
<head>
设计人:雷悦巍 2013-12-22
29
娄底职业技术学院Java Web课程设计报告
</head>
<body>
<%
try
{ ResultSet rs=null;
String ddid=request.getParameter("ddid");
String sql="delete from usadmin where adminid='"+ddid+"'"; Conn1.OpenCon();
Conn1.executeUpdate(sql);
Conn1.closeStmt();
Conn1.closeCon();
out.print("<script>alert('删除成功')</script>");
response.setHeader("refresh","0;url=adminview.jsp");
}
catch(SQLException s)
{
out.print("<script>alert('删除失败')</script>");
response.setHeader("refresh","0;url=adminview.jsp"); }
%>
</body>
</html>
设计人:雷悦巍 2013-12-22
30
娄底职业技术学院Java Web课程设计报告
第五章 总结
通过此次实训,我明白了光靠上课期间的动手于听讲是远远不够的,往往在实际一个项目中可能会遇见自己在上课时从未遇见的问题,而若想在以后的开发者学习路上获得成就就必须学会去解决各种问题,而不是遇见问题就问老师或他人。
同时在这次实训中我充分体验到了团队合作的重要性,往往一个很好的项目是需要一个优越合作性的团队,同时也得学会清除掉团队中哪些不同的意见,以统一的标准去完成一个完整的项目系统。
在实训的过程中,我们遇到过困难,我们解决了许多的错误,一步一步走来都有我们的汗水,都有我们的回忆,我想我们是成功的。
在最后的学习中我会认真落实实践最重要的原则去学习,同时感谢老师同学对这我这次实训的完成所作出的帮助,我一定会在日后好好努力搞好自己的本职工作的。
设计人:雷悦巍 2013-12-22
31
娄底职业技术学院Java Web课程设计报告
参考文献
[1].郑阿奇.《JSP 实用教程》 电子工业出版社 .2010
[2].王亚楠.《SQL Server 2005数据库应用技术》.机械工业出版社.
[3].郑人杰.实用软件工程(第2版)[M] .清华大学出版社
[4].陈明. 软件工程学教程. 科学出版社. 2002.3
[5].吴文国.《软件工程》. 清华大学出版社
[6].张永强、郑娅峰.《网页设计与开发》.清华大学出版社
设计人:雷悦巍 2013-12-22
32
JavaWeb实习报告一、实习目的与任务为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作…
1实习题目java软件开发2实习目的本人由于在达内实训时各项成绩优异被北京木联能科技有限公司录用为java软件开发实习生作为即将步…
20xx20xx学年第2学期合肥学院数理系课程名称实验项目实验类别专业班级姓名实验地点实验时间实验报告Web应用系统原理与开发技术…
娄底职业技术学院JavaWeb课程设计报告娄底职业技术学院LOUDIVOCATIONALANDTECHNICALCOLLEGEJA…
甘肃政法学院本科生实验报告一姓名学院计算机科学学院专业计算机科学与技术班级实验课程名称实验日期20xx年04月9日指导教师及职称实…
JavaWeb实习报告一、实习目的与任务为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作…
一实习时间20xx年1月10日1430到1月13日1430二实习环境数据库访问配置ippiscnvicpccport1521sid…
Servlet应用开发课程设计项目实验报告项目名称娱乐无限下载中心指导老师黄铭时间班级WEB11307第二组地点J1B401小组成…
1实习题目java软件开发2实习目的本人由于在达内实训时各项成绩优异被北京木联能科技有限公司录用为java软件开发实习生作为即将步…
PINGDINGSHANUNIVERSITY基于web的Java开发设计实训报告题目基于的系统的设计与实现院系软件学院专业年级姓名…
JAVA实训总结XXX班XXX这个学期的最后两周是学校安排的Java实训课程,主要地点是在机房,这次我们任务是作一个网吧计费管理系…