javaweb上机实验报告学生管理系统Word格式.docx
- 文档编号:5891802
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:30
- 大小:3.38MB
javaweb上机实验报告学生管理系统Word格式.docx
《javaweb上机实验报告学生管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《javaweb上机实验报告学生管理系统Word格式.docx(30页珍藏版)》请在冰点文库上搜索。
,rs.getString("
id"
userMark"
identitymark"
response.sendRedirect("
index.jsp"
}else{
2.html"
}
2.其中系统用的学生表是
这是学生表里面的初始化的数据,你可以看到登录的用户名和密码
3.如果你输入登录的密码不正确,就会跳转到错误界面
4.这是学生表的登录成功的界面在这页面显示用户名称和上次登录的时间,这里是从数据库里面查询的,用到了session的功能。
当然这个系统也可以在一台电脑上登录多个用户,多个用户之间是不会发生冲突的,因为链接的代码是学生的id号。
intuserId=Integer.parseInt(session.getAttribute("
).toString());
intuserMark=Integer.parseInt(session.getAttribute("
Stringsql="
select*fromstudent_tablewhereid=?
andidentitymark=?
PreparedStatementps=conn.prepareStatement(sql);
ps.setInt(1,userId);
ps.setInt(2,userMark);
ResultSetrs=ps.executeQuery();
rs.next();
取得用户的显示的信息的代码如下:
<
divid="
header"
>
<
fontclass="
font1"
color="
white"
&
nbsp;
你好,
imgsrc="
user"
style="
width:
20px;
height:
20px"
>
<
fontcolor="
#FF00FF"
<
%=rs.getString("
username"
)%>
【管理员】
/font>
&
欢迎登录&
你上次登录的时间是:
#ffooff"
****年*月*日
/div>
5.在这个页面,你可以查询自己的的个人信息。
6.如果个人信息不对,你可以进行修改个人信息,当然修改后会需要管理员批准才生效。
修改个人信息时也是先从数据库进行取值的,然后放到updatestuInfo.Jsp中进行显示的。
其中的页面的代码是:
<
%@pagecontentType="
text/html;
charset=gb2312"
import="
java.sql.*"
%>
%@includefile="
../../conn.jsp"
%
request.setCharacterEncoding("
gb2312"
response.setContentType("
charset=gb2312"
html>
head>
/head>
%
intuserId=Integer.parseInt(request.getParameter("
intuserMark=Integer.parseInt(request.getParameter("
mark"
rs.next();
script>
functionjudgeSex()
{
//alert(<
%=rs.getInt(4)%>
varsel=document.getElementById("
sex"
if(<
==0){
sel.innerText="
男"
女"
}
/script>
bodyonload="
judgeSex()"
background="
../../images/bg4.gif"
tableborder="
1"
align="
center"
width="
600"
height="
200"
../../images/bg.bmp"
bordercolorlight=#72C8D4bordercolordark=#ffffffcellpadding="
0"
cellspacing="
caption>
b>
个人基本信息表<
/b>
/caption>
tr>
td>
姓名:
/td>
td>
%=rs.getString
(2)%>
tdrowspan="
5"
100px;
150px;
width="
100"
150"
../../<
%=rs.getString(11)%>
/tr>
性别:
!
--辅导员,照片,爱好,身份标记,备注-->
年龄:
%=rs.getString(5)%>
手机:
%=rs.getString(6)%>
所属系名称:
%=rs.getString(8)%>
家庭住址:
tdcolspan="
2"
%=rs.getString(7)%>
辅导员:
%=rs.getString(9)%>
宿舍号:
%=rs.getString(10)%>
爱好:
%=rs.getString(12)%>
备注:
%=rs.getString(14)%>
/table>
/body>
/html>
7.当然学生还可以查询成绩和查看自己的登录情况,我这儿就不一一演示了,我们放到admin中区演示,下面我们看老师登录。
老师登录的时候在身份栏里面选择教师就行了,当然必须要用户名和密码必须正确,不然又跳转到errorr.html了
8.这是老师数据库中的信息表
你可以看到老师的登录用户名称和密码。
9.这是老师的登录的界面,你可以看到它所操作得内容明显比学生的多了。
可以修改学生的成绩了。
10.当然老师的各个分页面与学生的差不多,我也就不一一截图了,你可以直接看我的源文件代码。
下面我们主要讲管理员登录的情况。
这是数据库中管理员的表,管理员可以是总管理员和各系的管理员,他们操作得学生也是不一样的。
11.这是管理员登录后的界面。
12.由于这个页面比较大,所以我截了两个图。
管理员操作的内容比较多,可以查看所有的用户,添加用户的公告,删除用户,修改老师和学生的基本信息等等。
13.这是查看的学生的信息表,这里就涉及到了查询,这里面的所有信息都是从数据库里面查询出来的。
14.可以对学生学生信息进行修改和删除,还有添加的操作。
假设我们要对序号为1的shezhanjun进行修改操作。
当然这里涉及到了验证输入的是否正确,用到了js和servlet技术。
15.修改成功后就跳转到刚才的页面了。
这里我这是把名字修改为了佘占君,所以你看到的信息就变化了。
修改的页面用的代码:
conn.jsp"
request.setCharacterEncoding("
GBK"
Stringid=request.getParameter("
Stringname=request.getParameter("
name"
Stringsex=request.getParameter("
Stringage=request.getParameter("
age"
Stringphone=request.getParameter("
phone"
Stringzy=request.getParameter("
zy"
Stringqq=request.getParameter("
qq"
Stringsql="
updatestudentsetname='
+name+"
sex='
+sex+"
age="
+age+"
qq='
+qq+"
phone='
+phone+"
specialty='
+zy+"
whereid="
+id;
stmt.executeUpdate(sql);
16.当然我们可以对上面的信息进行删除,比如我们还是删除第一条记录,我们删除后,就是这样了。
deletefromstudentwhereid="
17.在这里还可以添加学生。
录入学生的基本信息,还可以直接从数据库中取。
在添加页面用到了页面的验证,我写到了一个通用的js文件里面了,代码如下:
/*
*判断是否为空!
第一个参数是id,第二个参数是判断不为空的元件名称。
*
*/
functioncheckIsEmpty(id,message)
varflag=true;
if(document.getElementById(id).value=="
)
alert(message+"
不能为空!
//鼠标的焦点停留在那个文本框,并设置背景色为红色
document.getElementById(id).focus();
document.getElementById(id).style.backgroundColor="
red"
flag=false;
document.getEmelentById(id).style.backgroundColor="
returnflag;
*让文本框输入只能是数字
functioncheckNumber()
if(event.keyCode>
57||event.keyCode<
48)
returnfalse;
else{
returntrue;
*检查文本输入框的字符的长度,要传两个参数,一个是id,一个是限制的长度。
functioncheckLength(id,len)
//alert(document.getElementById(id).value.length+"
"
+len);
if(document.getElementById(id).value.length>
len)
{
alert("
长度必须小于"
+len+"
位!
document.getElementById(id).focus();
returntrue;
18.这是学生成绩的录入界面。
19.这里面有课程号和课程名称,都是从数据库中取的。
20.学生成绩的查询,你可以查询学生的成绩。
并且可以修改。
21.当然还可以进行学生成绩的修改。
修改会产生修改记录,我们也保存起来了,以供日后查询使用。
22.学生的成绩表在数据库中是这样的。
这里是学号和课程号得键值对。
23.当然你可以查询其中某个学生的成绩单。
24.如果你想了解某个学生的基本信息,你可以进行查询。
这里支持模糊搜索。
25.老师的信息的查询和修改与学生的差不多,所以我也就不一一陈述了,最后就是系统的登录,可以查询用户的登录信息。
26.查询后得到登录的信息表。
它也是从数据库中取得的。
27.你查询后就得到了这样的表。
七.实验代码【部分主要功能的代码】
1.我用到的的jsp链接的代码是:
Stringdriver="
com.mysql.jdbc.Driver"
Stringurl="
jdbc:
mysql:
//localhost:
3306/student"
Stringuid="
root"
Stringpsd="
******"
Class.forName(driver);
Connectionconn=DriverManager.getConnection(url,uid,psd);
2.常用的更新页面的代码(这是更新学生信息表的,admin和老师用户都要用它,所以我写在外面了):
intid=Integer.parseInt(request.getParameter("
//由于得到的中文会出现乱码的现象,所以要进行转码的工作
Stringstuname=newString(request.getParameter("
txtName"
).getBytes("
ISO8859-1"
),"
Stringstupassword=newString(request.getParameter("
txtPassword"
intage=Integer.parseInt(request.getParameter("
chkAge"
Stringmobile=newString(request.getParameter("
txtMobile"
Stringhome_address=newString(request.getParameter("
txtHomeAddress"
),"
Stringseries_name=newString(request.getParameter("
txtSeriesName"
Stringcounsellor=newString(request.getParameter("
txtCounsellor"
Stringdorm=newString(request.getParameter("
txtDorm"
//由于没有解决拷贝文件的方法,所以暂时不更新照片的路径。
//Stringphoto=request.getParameter("
txtPhoto"
//Stringhobby=newString(request.getParameter("
chkHobby"
Stringhobby="
String[]boxes=request.getParameterValues("
//循环取得复选框里面的值
if(boxes!
=null&
boxes.length!
=0){
for(inti=0;
i<
boxes.length;
i++){
if(i!
=(boxes.length-1)){
hobby+=boxes[i]+"
hobby+=boxes[i];
hobby="
thestudentnohaveanythinghobby!
hobby=newString(hobby.getBytes("
Stringcommentinfo=newString(request.getParameter("
txaCommentInfo"
//response.setContentType("
//out.print(stuname+"
+stupassword+"
+mobile+"
+home_address+"
+series_name+"
+counsellor+"
+dorm+"
+hobby+"
+commentinfo+"
+id);
Stringsql="
updatestudent_tablesetstuname=?
stupassword=?
age=?
mobile=?
home_address=?
series_name=?
counsellor=?
dorm=?
hobby=?
commentinfo=?
whereid=?
PreparedStatementps=conn.prepareStatement(sql);
//对上面的问号进行赋值操作
ps.setString(1,stuname);
ps.setString(2,stupassword);
ps.setInt(3,age);
ps.setString(4,mobile);
ps.setString(5,home_address);
ps.setString(6,series_name);
ps.setString(7,counsellor);
ps.setString(8,dorm);
ps.setString(9,hobby);
ps.setString(10,commentinfo);
ps.setInt(11,id);
introws=0;
ro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaweb 上机 实验 报告 学生 管理 系统