实训报告.docx
- 文档编号:8525164
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:384.14KB
实训报告.docx
《实训报告.docx》由会员分享,可在线阅读,更多相关《实训报告.docx(12页珍藏版)》请在冰豆网上搜索。
实训报告
课程实训报告
系(院、校区):
工业与信息化学院
学生姓名:
金新昌
学号:
1301080109
专业:
计算机网络技术
题目:
Web应用系统设计课程实训
指导教师:
周士印职称:
讲师
2015年11月7日
一、实训目的:
通过综合实训进一步巩固、深化和扩展学生的JSP程序设计理论知识与JSP编程技能。
熟练掌握JSP页面元素JSP注释、JSP指令、JSP动作的使用,熟练掌握在JSP程序中使用声明、表达式、脚本程序的方法;熟练掌握JSP内置对象在JSP程序开发中的应用;熟练掌握应用JDBC访问各种类型的数据库。
二、任务分工:
刘光华:
可行性分析
付饶:
网站前台首页设计及数据库
夏文航:
系统功能结构图
金新昌:
项目规划
周文杰:
需求分析
三、系统分析:
建立一个基于B/S架构的学籍管理系统,实现信息网络化。
通过较丰富的功能将.NET技术特点体现出来。
该系统可供包括管理员登录和学生登录使用。
登录者可以查询信息或者发布信息。
系统中管理员模块为必不可少的模块项,该模块主要包括3个模块:
管理员模块、学生模块、公用模块。
为了安全有效地存储和管理登录网站的用户的信息,赋予管理员特定的权限,可以对用户进行添加,删除,修改和学生的查询等。
方便网站的管理与维护。
四、系统设计:
(一)模块划分
学籍管理系统可实现学籍管理的所有基本功能,根据系统用户的不同,可以划分为3个模块:
管理员模块、学生模块和公用模块。
下面介绍各个模块的基本功能。
管理员模块
该模块是本系统的核心模块,其中包括5个子模块,分别是学生信息管理、教师信息管理、班级信息管理、课程信息管理、学生选课信息管理。
a.基本信息管理子模块:
实现对学生信息的添加、修改、删除操作,还可输入查询条件对学生信息进行查询。
b.学生人数统计模块:
实现对不同年份入学的学生人数进行统计。
学生模块
实现学生个人资料功能,查看自己的个人信息。
公用模块
实现管理员用户和学生用户的身份验证、密码修改、退出系统等功能。
(二)操作流程
用户登录系统后首先进入用户登录界面,可以选择自己的用户角色,如以管理员用户权限进入。
输入管理员用户名和密码后进入系统的欢迎界面,利用系统左侧的导航栏可实现不同管理页面的切换。
对信息进行增加、删除、修改和查看操作后,单击“退出系统”超链接实现退出系统。
(三)页面设计
用户登录
在进入学籍管理系统之前,需要经过登录页面。
在此页面中用户首先选择自己的用户类型,然后输入用户名和密码进行登录验证。
管理学生信息
管理员对学生的管理包括对学生信息的添加、修改、删除和查询等操作。
修改密码和退出系统
修改密码和退出系统是系统的公用模块,学生和管理员都可以使用该功能进行密码修改和退出系统,在每个用户的操作页面中均有相应的超链接到此页面。
用户需要输入旧密码、新密码并对新密码确认,当用户输入旧密码有误时会显示警告信息“您输入的密码错误,检查后重新输入”,提示用户必须输入正确的旧密码之后才能修改密码。
单击用户操作页面左侧导航栏中的“退出系统”超链接,会显示退出系统的提示,单击【是】按钮后即可退出系统。
dboXS学生表
dbo.ADMIN管理员表
五、系统设计实现:
(一)配置数据库连接
在Web.config文件中指定数据库连接字符串的配置信息。
在Web.config文件中添加如下代码:
在Web.config文件中添加以上的代码之后,在需要数据库连接字符串的地方用如下的代码替换,表示使用的是Web.config文件中配置的数据库连接字符串信息。
ConfigurationManager.ConnectionStrings[“ConnectionString”].ConnectionString
(二)用户登录
本节参考文件StudentControl/Login.aspx
用户登录页面Login.aspx的主要功能是根据用户选择的身份对用户输入的用户名和密码的合法性进行验证,如果不合法,则提示用户重新登录,如果合法,则进入相应的的操作页面。
参考代码如下(每行前面的数字为代码行号,不是代码内容)。
protectedvoidbtnSubmit_Click(objectsender,EventArgse)
{
stringuserName=txtName.Text.ToString().Trim();
stringuserPwd=txtPwd.Text.ToString().Trim();
stringuserrole=radRole.SelectedValue.Trim();
stringsql="";
switch(userrole)
{
case"0":
sql="select*fromStudentTablewhereStudentID='"+userName+"'";
break;
case"1":
sql="select*fromAdminTablewhereAdminName='"+userName+"'";
break;
}
SqlConnectionconn=newSqlConnection(DBconn.GetConnString());
//conn.Open();
SqlCommandcmd=newSqlCommand(sql,conn);
//SqlDataReaderdr=cmd.ExecuteReader();
try
{
conn.Open();
SqlDataReadersdr=cmd.ExecuteReader();
if(sdr.Read())
{
if(sdr.GetString(0)==userPwd)
{
Session["UserRole"]=userrole;
switch(userrole)
{
case"0":
Session["StudentID"]=userName;
Session["AdminName"]="";
Response.Redirect("StudentCourseElect.aspx");
break;
case"1":
Session["StudentID"]="";
Session["AdminName"]=userName;
Response.Redirect("WelcomeTeacher.aspx");
break;
}
}
else
{
lblMess.Text="您输入的密码错误,请检查后重新输入!
!
!
";
}
}
else
{
lblMess.Text="该用户不存在或用户名错误,请检查后重新输入!
!
!
";
}
}
catch(Exceptionee)
{
Response.Write("
}
finally
{
conn.Close();
}
}
(三)修改密码
【正文部分】
本节参考文件StudentControl/ModifyPwd.aspx
用户修改密码ModifyPwd.aspx页面的主要功能是实现用户对个人密码的修改操作,是一个公用模块。
参考代码如下:
protectedvoidbtnSubmit_Click(objectsender,EventArgse)
{
stringStudentID=Session["StudentID"].ToString();
stringAdminName=Session["AdminName"].ToString();
stringoldPwd=txtOldPwd.Text.Trim();
stringnewPwd=txtNewPwd.Text.Trim();
stringselectStr="";
stringupdateStr="";
switch(Session["UserRole"].ToString())
{
case"0":
selectStr="select*fromStudentTablewhereStudentID='"+StudentID+"'andStudentPassword='"+oldPwd+"'";
updateStr="updateStudentTablesetStudentPassword='"+newPwd+"'whereStudentID='"+StudentID+"'";
break;
case"1":
selectStr="select*fromAdminTablewhereAdminName='"+AdminName+"'andAdminPassword='"+oldPwd+"'";
updateStr="updateAdminTablesetAdminPassword='"+newPwd+"'whereAdminName='"+AdminName+"'";
break;
}
SqlConnectionconn=newSqlConnection("DataSource=.;InitialCatalog=Student;IntegratedSecurity=True");
//conn.Open();
SqlCommandselectCmd=newSqlCommand(selectStr,conn);
try
{
conn.Open();
SqlDataReaderdr=selectCmd.ExecuteReader();
if(dr.Read())
{
dr.Close();
SqlCommandupdateCmd=newSqlCommand(updateStr,conn);
inti=updateCmd.ExecuteNonQuery();
if(i>0)
{
Response.Write("成功修改密码!
!
!
");
}
else{
Response.Write("密码修改失败!
!
!
");
}
}
else
{
Response.Write("您输入的密码错误,检查后请重新输入!
!
!
");
}
}
catch(Exceptionee)
{
Response.Write("系统出错,错误原因:
"+ee.Message.ToString());
}
finally
{
conn.Close();
}
}
(四)添加学生信息
本节参考文件StudentControl/StudentAdd.aspx
管理员登陆系统后,可以添加学生信息,添加【增加】按钮的Click事件代码,实现学生信息的添加。
具体代码如下:
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
stringconnStr=ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
stringSqlInsert="insertintoStudentTable(StudentID,StudentName,StudentPassword,DutyID,StudentClassID,StudentPhone,StudentHomeAddr)values('"+
this.txtStudentID.Text+"','"+this.txtStudentName.Text+"','"+txtPassword.Text+"',"+
Convert.ToInt32(this.DropDownList6.SelectedValue.ToString())+","+Convert.ToInt32(this.DropDownList5.SelectedValue.ToString())+",'"+
this.txtTel.Text+"','"+this.txtAddress.Text+"')";
stringSqlSelect="select*fromStudentTablewhereStudentID='"+
this.txtStudentID.Text+"'";
SqlConnectionconn=newSqlConnection(connStr);
SqlCommandcmd=newSqlCommand(SqlSelect,conn);
SqlCommandcmdInsert=newSqlCommand(SqlInsert,conn);
try
{
conn.Open();
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())
{
lblMess.Text="您输入的学号已经存在,请输入其他学号";
dr.Close();
}
else
{
dr.Close();
try
{
if(conn.State.ToString()=="Closed")
conn.Open();
cmdInsert.ExecuteNonQuery();
}
catch(Exceptionex)
{
Response.Write("数据库错误,错误原因:
"+ex.Message);
Response.End();
}
lblMess.Text="数据增加成功";
}
}
catch(Exceptionex)
{
Response.Write("");
}
finally
{
cmd.Dispose();
cmdInsert.Dispose();
if(conn.State.ToString()=="Open")
conn.Close();
}
}
(五)访问统计
本节参考文件Global.asax
登陆界面后,可显示是第几位访问者。
具体代码如下:
protectedvoidApplication_Start(Objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["GradeSys"]);
con.Open();
SqlCommandcmd=newSqlCommand("select*fromcountnum",con);
intcount=Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
Application["total"]=count;
Application["online"]=0;
}
protectedvoidSession_Start(Objectsender,EventArgse)
{
Session.Timeout=10;
Application.Lock();
Application["total"]=(int)Application["total"]+1;
Application["online"]=(int)Application["online"]+1;
Application.UnLock();
}
protectedvoidSession_End(Objectsender,EventArgse)
{
Application.Lock();
Application["online"]=(int)Application["online"]-1;
Application.UnLock();
}
protectedvoidApplication_End(Objectsender,EventArgse)
{
SqlConnectioncon=newSqlConnection(System.Configuration.ConfigurationSettings.AppSettings["GradeSys"]);
con.Open();
SqlCommandcmd=newSqlCommand("updatacountnumsetnum="+Application["total"].ToString(),con);
cmd.ExecuteNonQuery();
con.Close();
}
voidApplication_Error(objectsender,EventArgse)
{
//在出现未处理的错误时运行的代码
}
6、实训总结:
这次实验,我们组员都很用心,虽然在开始的时候,有好多不会的东西,比如,MVC结构,model模式,ssh框架,等都很不理解,经过两周的研究跟学习,开始熟悉网页的设计,通过本次设计我锻炼了自己的自学、研究能力,也从中学到不少在学校在课堂上学不到的东西.通过实践我也深刻的体会到软件开发的艰辛及问题解决后的喜悦心情,培养我的独立思考问题的能力,同时也增强了我的理论联系实际的能力,这为自己以后的工作奠定了良好的基础。
但是对于要做出精美的网站我们还是缺少经验的,对于页面的好多设计技巧还是不太懂,这次设计有借鉴别人的页面,进行完善,加入自己的想法,也可能是时间太少,希望自己能够在以后的空余时间能够完善这个网页设计,让它展现出自己的风格。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报告