Web项目案例综合实训
实习报告
班 级:
姓 名: 学 号: 学 期:
周 次:
指导教师:
计BG111 2013-2014学年第2学期 16、17、18、19周
20xx年 月 日
1 概述(大标题:黑体小二)
实习目的及意义:(小标题:黑体四号)
Web应用实习是计算机科学与技术专业的集中实践性环节之一,是学习完“JAVA程序设计” 、“网页设计与制作”、“JavaScript”、“MySql数据库”以及“JAVA Web应用开发”等专业课程后进行的一次大型的综合实践。主要目的是通过开发“具有实际意义的WEB应用系统”项目实践加强对JAVA Web应用开发课程知识点的理解和掌握,培养自己对课程知识综合运用能力、实际分析问题能力及解决问题的能力,养成良好的编程习惯。通过本实践进一步领会JAVA Web应用开发的特点和应用,提高运用Java语言进行Web应用开发的能力,以及利用集成开发环境针对Web应用进行编程、调试、运行、部署的能力,实现与JSP程序员岗位的零距离接轨。
实习环境:
阐述实习所用软、硬件环境,软件环境包括语言环境、服务器环境、客户机环境(一段);简要说明采用此环境的理由(一大段)。
(正文格式:宋体,小四,单倍行距)
实习时间和地点:
实习时间和地点(一段)。
2 实习内容(大标题:黑体小二)
实习任务(小标题:黑体四号)
较详细阐述你要做什么:(正文格式:宋体,小四,单倍行距) 网站总体功能模块设计(个人负责模块)
数据库表结构设计(个人负责模块)
画出网站总体功能模块图
情况说明:
重点介绍个人负责模块功能的设计与实现
关键技术的详细实现代码,附插图与说明
开发中遇到的问题及具体的解决方法
测试与运行记录 最终结果:
系统设计完成实现的功能分析。(多段)
知识要点:
通过该实例掌握或巩固了哪些Web应用开发的知识。(一或多段)
3 实习总结
实习收获与体会:
实习收获。(一段)
实习体会。(一段或多段)
意见和建议: 意见和建议(多些更好,建议为主,有建设性为佳,简述理由)
第二篇:Web实习报告1
江苏农林职业技术学院 实习报告(设计)
题 目:网上选课系统
学 号:
姓 名 :
班 级:10计算机应用技术
院 系:信息工程系
指导教师:
实习时间:
一、 需求分析
网上选课系统是在“新闻发布系统”的基础上进行功能的扩展,“网上选课系统”新增了用户(主要是学生)注册、基本信息管理(主要是学校基本信息)、教学任务分配与查看、网上选课及审核等功能。网上选课系统分为前台管理和后台管理两个功能模块。前台管理包括学生注册、网上选课和教学任务查看等功能;后台管理包括选课审核、教学任务分配和基本信息管理等,其中基本信息管理包括学期、职称、部门、专业、班级、教师、课程和课程类型等信息的管理,对信息的管理主要包括信息的查询、增加、修改和删除等操作。如图1-1
网上选课系统涉及学生、教师和管理员三种角色,管理员登录系统后对基本信息进行管理,进行教学任务的分配,审核学生选课等;教师登录系统后查看自己的教学任务;学生经过注册登录后进行选课,提交选课申请,经管理员审核后完成选课功能。
学生角色的用例有注册和网上选课;教师角色有教学任务查看的用例;管理员角色有学期管理、职称管理、部门管理、专业管理、班级管理、教师管理、课程类型管理、课程管理、教学任务分配和课程审核等角色。如图1-2,1-3,1-4
(1) 基本信息管理
基本信息管理包括部门管理、专业管理、班级管理、学期管理、职称管理、教师管理、课程类型管理和课程管理等功能模块,基本信息管理的主要操作包括增加、删除、修改和查询4种常见操作。
基本信息的查询可以通过输入一定条件对信息进行删选查询,将查询到得信息以列表的形势显示到页面;对复杂信息的查询可以通过在页面的信息列表中显示少量基本信息,在基本信息中设置超链接,通过单击超链接打开信息详情查看页面,如教师的信息的查询可以在列表中显示教师的ID\姓名、性别、系部等,通过单击教师的姓名或其他字段,打开教师信息的详情页面,从而查看教师的全部信息。
基本信息的添加功能主要完成对基本信息的录入,将信息通过页面添加到对应的数据表中。
基本信息的修改可以通过输入一定条件对信息进行筛选查询,将信息以列表形式显示到页面。对信息量比较少的信息,可以直接在列表中进行修改,对信息量比较多的或者复杂的信息,可以通过超链接在列表中单击打开新页面对信息进行修改。
基本信息删除可以通过输入一定条件对信息进行筛选查询,将信息以列表的形势显示到页面,选择需要删除的信息,提交删除请求,完成对信息的删除。
基本信息的查询可以通过输入一定条件对信息进行筛选查询
(2) 教学任务分配。教学任务分配是管理员登录系统后,打开教学任务分配页面,选择教学分期,教学的班级,将课程分配给老师,从而完成教学任务的分配工作。
(3) 教学任务查看教学任务查看是教师登陆后,查看自己担任的教学任务课程。
(4) 注册。学生注册是系统中没有这个学生信息,学生要登录系统,必须要注册后,才能登录系统,在注册功能中要确保学号的唯一性。
(5) 网上选课。网上选课是学生登录系统后,按照课程类别(专业选修课、公共选修课)进行查询课程,在查询课程列表中选择合适的课程后。进行提交选课申请,完成网上选课。
(6) 选课审核。选课审核是管理员登录系统后,查询指定课程的选课情况,对选择该门
课程的学生进行审核,对条件合适的学生,批准其选课申请,完成选课的审核。
二、 软件设计(详细设计)
教学任务分配用例主要是管理员登录系统后,把课程分配给指定的教师,从而完成教学任务的分配工作。管理员通过选择部门快速定位到教师;通过选择学期的待分配课程例表;通过选择班级,以及从课程例表中选择课程,将教师、课程和班级联系起来。如图2-1
三、软件编码
3.1、网上选课系统母版页设计
3.2网上选课系统后台基本信息管理页面
部分代码
private void InitPageData()
{
sql = "SELECT ID,StartYear,EndYear,termOrder FROM UT_Base_Term";
CommonUtils.ECGridView(this.gdvTerm, sql);
Lb_PageInfo.Text = "第" + (gdvTerm.PageIndex + 1).ToString() + "页 / 共 " + gdvTerm.PageCount + " 页";
}
protected void gdvTerm_PageIndexChanging(object sender, GridViewPageEventArgs e) {
this.gdvTerm.PageIndex = e.NewPageIndex;
int x =Convert.ToInt32(e.NewPageIndex)+1;
InitPageData();
}
protected void btnAdd_Click(object sender, EventArgs e)
{
string startYear = this.ddlYear.SelectedValue.Substring(0, 4);
string endYear =
this.ddlYear.SelectedValue.Substring(this.ddlYear.SelectedValue.IndexOf("-") + 1); string termOrder = this.ddlTerm.SelectedValue;
sql = "insert into UT_Base_Term(StartYear,EndYear,TermOrder) values('" + startYear + "','" + endYear + "'," + termOrder + ")";
int result = CommonUtils.OperateData(sql);
if (result == 1)
Response.Write("");
else
Response.Write("");
InitPageData();
}
protected void gdvTerm_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string id =gdvTerm.DataKeys[e.RowIndex].Value.ToString();
sql = "delete UT_Base_Term where ID='" + id + "'";
int result = CommonUtils.OperateData(sql);
if (result == 1)
Response.Write("");
else
Response.Write("");
InitPageData();
}
protected void gdvTerm_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState ==
DataControlRowState.Alternate)
{
((LinkButton)e.Row.Cells[5].Controls[0]).Attributes.Add("onclick",
"javascript:return confirm('你确认要删除:\"" + e.Row.Cells[1].Text +"-->"+e.Row.Cells[2].Text+ "\"学年吗?')");
}
}
}
protected void gdvTerm_RowEditing(object sender, GridViewEditEventArgs e)
{
gdvTerm.EditIndex = e.NewEditIndex;
InitPageData();
}
protected void gdvTerm_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
sql = "update UT_Base_Term set StartYear='"
+ ((TextBox)gdvTerm.Rows[e.RowIndex].Cells[1].Controls[0]).Text
+ "',EndYear='"
+ ((TextBox)gdvTerm.Rows[e.RowIndex].Cells[2].Controls[0]).Text
+ "',TermOrder='"
+ ((TextBox)gdvTerm.Rows[e.RowIndex].Cells[3].Controls[0]).Text
+ "' where ID='"
+ gdvTerm.Rows[e.RowIndex].Cells[0].Text + "'";
int result = CommonUtils.OperateData(sql);
if (result == 1)
Response.Write("");
else
Response.Write("");
gdvTerm.EditIndex = -1;
InitPageData();
}
protected void gdvTerm_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
gdvTerm.EditIndex = -1;
InitPageData();
}
}
3.3网上选课系统后台教学任务分配
四、软件测试 运行结果
五、软件部署和维护
Web应用程序的安装和部署是一个很重要的工作,因为Web应用程序开发出来的最终目的是让广大的用户使用,但是不能要求每个用户的计算机上都安装编程软件的开发环境,所以要使自己开发的应用程序能够安装和部署在其他机器上,并能够脱离开发环境运行。
学习情境1“新闻发布系统”的任务6部署工作是完全手工配置完成的,这样的部署不仅速度慢,而且存在很多不安全的因素。学习情境1的部署存在以下缺陷。
a)由于是源代码部署,所以存在不安全因素。用户可以修改原程序,可能造成系统瘫痪。
b)由于学习情境1所有的数据连接字符串代码是写在每个页面的代码中,所有当用户数据可服务器的用户名和密码与开发环境的数据可服务器的用户名和密码不一致时,就需要修改每个页面的代码。
为了克服以上的缺陷a,学习情境2“网上选课系统”中所有数据连接字符串代码没有写在每个页面的代码中,而是数据库连接字符串写在Wed.config文件中,而网上选课系统中所有页面中用到的数据库连接字符串,都到Web.config文件中读取,这样的系统在部署到用户的服务器上时,不需要修改每个页面代码,只需要修改Wed.config文件中数据库连接字符串的信息即可。
为了克服以上缺陷b,在学习情境2“网上选课系统”中使用“发布站点预编译”功能发布比起简单的复制Web站点到一个目标Web服务器
1、“发布站点预编译”功能能找出在整个站点的所有编译错误,并且在配置文件中识别错误
2、因为页面已经被编译,初始化单独页面的速度更快(如果复制页面到一个站点而不是编译它们,在第一次请求时,页面会被编译并且已编译的代码会被装载)。
3、为了文件提供更多安全性,不能将源代码和网站一起部署。
在发布网站时,如果给出标注保护(“允许更新此预编译站点”选项为未勾选状态),它会编译.aspx文件,则所有.aspx页面文件不允许在部署的服务器上更改它们的布局。
在发布网站时,如果未给出标注保护“允许更新此预编译站点”选项为未勾选状态),则它只会复制.aspx文件到站点并且允许在部署后更改.aspx页面文件的布局。