WEB实训报告例子

时间:2024.3.19

江苏建筑职业技术学院

《WEB程序设计》

课程实习报告

(留言板系统)

设计名称: WEB程序设计

班 级: 软件09-2

学 号: 31 号

姓 名: 花 童

2011-05-31

1

1.0、实习时间:

2011-5-22—2011-5-28共计一周

2.0、实习地点:

实训楼209

3.0、实习目的:

“WEB程序设计”是实践性教学环节之一,是综合性、理论联系实际的教学课程。通过课程设计,使学生掌握B/S结构的管理系统的基本概念、原理和技术,结合实际的操作和设计,巩固课堂教学内容,将理论与实际相结合,应用现有的B/S结构的开发工具(ASP.NET)和数据库技术,规范、科学地完成一个小型的基于B/S结构的中小企业的管理信息系统的设计与实现,把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力。

4.0、实验环境:

安装Windows xp,含有Micarosoft Visual Studio 2005并配有IIS服务,含有Micarosoft SQL Server 2005的数据库的电脑一台.

5.0、实验内容:

5.1、设计准备工作

1、熟悉WEB程序设计任务,明确设计内容

根据WEB程序设计任务书给定的或收集的原始数据和资料,结合设计要求,理清设计思路,明确设计内容。

2、设计准备工作

根据WEB技术设计任务,做好设计手册、参考资料、设计期间的工具等的准备工作。

5.2、实验主要步骤:

1、开发背景

2、需求分析

3、系统设计

(1)、系统目标

(2)、系统预览

(3)、功能模块设计

(4)、数据库分析

(5)、数据库设计

(6)、文件夹组织结构

4、建立项目PersonManage

2

(1)、三层架构概述即建立

B/S系统常常采用多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层得功能。在多层体系结构中,具有基本的三层结构。

数据访问层:实现对数据的访问功能,如增加、删除、修改、查询数据。

业务逻辑层:实现业务的具体逻辑功能,如学生入学、退学、成绩管理等。

页面显示层:将业务功能在浏览器上显示,如分页显示学生信息等。

除此之外,还可以具有其他的层次。特别是在业务逻辑层,常常需要根据实际情况增加层次,但总的原则是:每一层都完成相对独立的系统功能。

另外,在这三层基础之下,还有更为基础的工作,即数据库的设计模型。数据库的设计模型是整个系统的基础,一旦确定了数据库的结构,在开发过程中不就轻易改变,否则会对后面的工作造成巨大的负担。

5.3、实验的主要代码:

(1)首页的主要代码:

<HTML>

<HEAD> <title>WebForm1</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultClientScript"> <meta content="/intellisense/ie5"

name="vs_targetSchema">

<LINK href="Styles/Style.css" type="text/css" rel="stylesheet"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <FONT face="宋体"> <TABLE id="Table1" style="Z-INDEX: 101; LEFT: 48px; WIDTH: 328px; POSITION: absolute; TOP: 32px; HEIGHT: 158px"

cellSpacing="0" cellPadding="0" width="328" border="0"> <TR> <TD style="WIDTH: 45px"></TD> <TD style="WIDTH: 164px" align="center"><FONT face="宋体"><IMG alt="" src="Images/1.GIF" width="130"></FONT></TD>

</TR> <TR> <TD style="WIDTH: 45px"><asp:label id="Label1" runat="server">登录名*</asp:label></TD>

<TD style="WIDTH: 164px"><asp:textbox id="TextBoxLoginName" 3

runat="server" Width="160px"></asp:textbox></TD>

</TR> <TR> <TD style="WIDTH: 45px"><asp:label id="Label2" runat="server">密码*</asp:label></TD>

<TD style="WIDTH: 164px"><asp:textbox id="TextBoxPassword" runat="server" Width="160px" TextMode="Password"></asp:textbox></TD>

</TR> <TR> <TD align="center" colSpan="3" style="height: 24px"><asp:button id="ButtonLogin" runat="server" Width="56px" Text="登录"

onclick="ButtonLogin_Click"></asp:button>&nbsp;&nbsp;&nbsp;

&nbsp; <asp:button id="ButtonGuest" runat="server" Width="50px" Text="游客" onclick="ButtonGuest_Click"></asp:button>&nbsp;

<asp:hyperlink id="HyperLinkRegister" runat="server" NavigateUrl="Register.aspx">注册</asp:hyperlink></TD>

</TR> </TABLE> </FONT> </form> </body>

</HTML>

(2)留言列表

<HEAD> <title>TopicList</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="JavaScript" name="vs_defaultClientScript"> <meta content="/intellisense/ie5"

name="vs_targetSchema">

<LINK href="Styles/Style.css" type="text/css" rel="stylesheet"> </HEAD> <body> <form id="Form1" method="post" runat="server"> <TABLE id="Table1" style="WIDTH: 480px; HEIGHT: 272px" cellSpacing="1" cellPadding="1"

width="480" border="1"> <TR> <TD align="center"><FONT face="宋体">留言列表</FONT></TD> </TR> <TR> <TD vAlign="top" align="center"> 4

&nbsp;<asp:GridView ID="GV" runat="server"

AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="GV_PageIndexChanging" OnRowDeleting="GV_RowDeleting" OnRowUpdating="GV_RowUpdating" PageSize="5"

OnRowCommand="GV_RowCommand" CellPadding="4" ForeColor="#333333" GridLines="None"

AllowSorting="True">

<Columns>

<asp:BoundField DataField="TopicId" HeaderText="编号" />

<asp:BoundField DataField="UserLoginName" HeaderText="用户"/> <asp:BoundField DataField="Title" HeaderText="标题"/>

<asp:BoundField DataField="CreateTime" HeaderText="发表时间"/>

<asp:ButtonField Text="修改" HeaderText="修改"

CommandName="Update"/>

<asp:HyperLinkField HeaderText="详细信息"

dataTextFormatString="详细信息" DataNavigateUrlFormatString="TopicDetail.aspx?topic_id={0}" Text="详细信息" DataNavigateUrlFields="TopicId" />

<asp:ButtonField Text="删除" HeaderText="删除"

CommandName="Delete"/>

</Columns>

<FooterStyle BackColor="#5D7B9D" Font-Bold="True"

ForeColor="White" />

<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />

<EditRowStyle BackColor="#999999" />

<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True"

ForeColor="#333333" />

<PagerStyle BackColor="#284775" ForeColor="White"

HorizontalAlign="Center" />

<HeaderStyle BackColor="#5D7B9D" Font-Bold="True"

ForeColor="White" />

<AlternatingRowStyle BackColor="White" ForeColor="#284775" />

</asp:GridView>

<asp:label id="LabelPages" runat="server"

Width="150px"></asp:label><asp:hyperlink id="HyperLinkAddTopic" runat="server"

NavigateUrl="TopicAdd.aspx">发表新帖>></asp:hyperlink>

</TD>

</TR> </TABLE> </form> </body>

(3)留言列表代码

using MyBBS.BusinessLogicLayer;

namespace MyBBS.Web

5

{

/// <summary>

/// TopicList 的摘要说明。

/// </summary>

public partial class TopicList : System.Web.UI.Page

{

/// <summary>

/// 页面加载事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void Page_Load(object sender, System.EventArgs e)

{

if (!CheckUser())

Response.Redirect("Login.aspx");

InitData();

}

#region Web 窗体设计器生成的代码

override protected void OnInit(EventArgs e)

{

//

// CODEGEN: 该调用是ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

/// <summary>

/// 设计器支持所需的方法- 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

}

#endregion

/// <summary>

/// 验证用户身份

/// </summary>

/// <returns></returns>

private bool CheckUser()

{

if (Session["login_name"] == null)

{

Response.Write("<Script Language=JavaScript>alert('请登录!');</Script>"); return false;

6

}

return true;

}

/// <summary>

/// 按时间降序,读取帖子数据

/// </summary>

private void InitData()

{

DataSet ds = Topic.QueryTopics();

GV.DataSource = ds;

GV.DataBind();

LabelPages.Text = "查询结果(第" + (GV.PageIndex + 1).ToString() + "页共" + GV.PageCount.ToString() + "页)";

}

/// <summary>

/// 按钮列单击事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GV_RowCommand(object sender, GridViewCommandEventArgs e) {

int index = Convert.ToInt32(e.CommandArgument); //待处理的行下标

int topicId = -1;

switch (e.CommandName)

{

//修改

case "Update":

topicId = Convert.ToInt32(GV.Rows[index].Cells[0].Text);

Response.Redirect("TopicUpdate.aspx?topic_id=" + topicId); break;

//删除

case "Delete":

topicId = Convert.ToInt32(GV.Rows[index].Cells[0].Text);

Topic topic = new Topic();

topic.LoadData(topicId);

topic.Delete();

break;

default:

break;

}

}

/// <summary>

/// 翻页事件

/// </summary>

7

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e) {

GV.PageIndex = e.NewPageIndex;

InitData();

}

/// <summary>

/// 删除前事件,检测用户是否有删除该数据的权限

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GV_RowDeleting(object sender, GridViewDeleteEventArgs e) {

string userLoginNameOfTopic = GV.Rows[e.RowIndex].Cells[1].Text.ToString(); //UserLoginName

if (userLoginNameOfTopic == "guest" || userLoginNameOfTopic !=

Session["login_name"].ToString())

{

Response.Write("<Script Language=JavaScript>alert('您无权删除!');</Script>");

e.Cancel = true;

}

}

/// <summary>

/// 修改前事件,检测用户是否有修改该数据的权限

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GV_RowUpdating(object sender, GridViewUpdateEventArgs e) {

string userLoginNameOfTopic = GV.Rows[e.RowIndex].Cells[1].Text.ToString(); if (userLoginNameOfTopic == "guest" || userLoginNameOfTopic !=

Session["login_name"].ToString())

{

Response.Write("<Script Language=JavaScript>alert('您无权修改!');</Script>");

e.Cancel = true;

}

}

}

}

8

(4)回复留言

using MyBBS.BusinessLogicLayer; using MyBBS.DataAccessHelper; namespace MyBBS.Web

{

/// <summary> /// TopicReply 的摘要说明。 /// </summary> public partial class TopicReply : System.Web.UI.Page { protected void Page_Load(object sender, System.EventArgs e) { } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { } // // CODEGEN: 该调用是ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); if(!CheckUser()) Response.Redirect("Login.aspx"); /// <summary> /// 设计器支持所需的方法- 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { } #endregion /// <summary> /// 验证当前操作的用户是否合法 /// </summary> /// <returns></returns> private bool CheckUser() { if(Session["login_name"]==null) { } 9 Response.Write("<Script Language=JavaScript>alert('请登录!');</Script>"); return false;

));

} return true; /// <summary> /// 回复主题确定按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ButtonOK_Click(object sender, System.EventArgs e) { int topicId=Convert.ToInt32(Request.QueryString["topic_id"]); Hashtable ht=new Hashtable(); ht.Add("UserLoginName",SqlStringFormat.GetQuotedString(Session["login_name"].ToString() ht.Add("TopicID",topicId); ht.Add("Title",SqlStringFormat.GetQuotedString(TextBoxTitle.Text)); ht.Add("Content",SqlStringFormat.GetQuotedString(TextBoxContent.Text)); ht.Add("CreateTime",SqlStringFormat.GetQuotedString(System.DateTime.Now.ToString())); ht.Add("IP",SqlStringFormat.GetQuotedString(Request.UserHostAddress.ToString())); //用户IP

} } /// <summary> /// 返回按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ButtonBack_Click(object sender, System.EventArgs e) { } int topicId=Convert.ToInt32(Request.QueryString["topic_id"]); Response.Redirect("TopicDetail.aspx?topic_id="+topicId.ToString()); Reply reply =new Reply(); reply.Add(ht); Response.Redirect("TopicDetail.aspx?topic_id="+topicId.ToString());

(5)修改留言

using MyBBS.BusinessLogicLayer;

using MyBBS.DataAccessHelper;

namespace MyBBS.Web

{

/// <summary> /// TopicUpdate 的摘要说明。 /// </summary> public partial class TopicUpdate : System.Web.UI.Page 10

{ /// <summary> /// 页面加载事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param>

protected void Page_Load(object sender, System.EventArgs e) {

if (!CheckUser())

Response.Redirect("Login.aspx");

if(!IsPostBack)

InitData();

}

#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { } /// <summary> /// 设计器支持所需的方法- 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { } #endregion private bool CheckUser() { } /// <summary> /// 初始化页面数据 /// </summary> private void InitData() { int topicId=Convert.ToInt32(Request.QueryString["topic_id"]); 11 if(Session["login_name"]==null) { } return true; Response.Write("<Script Language=JavaScript>alert('请登录!');</Script>"); return false; // // CODEGEN: 该调用是ASP.NET Web 窗体设计器所必需的。 InitializeComponent(); base.OnInit(e); //

Topic topic=new Topic(); topic.LoadData(topicId); } TextBoxTitle.Text=topic.Title; TextBoxContent.Text=topic.Content; LabelCreateTime.Text=topic.CreateTime.ToString(); LabelIP.Text=topic.IP; LabelUserLoginName.Text=Session["login_name"].ToString(); protected void ButtonBack_Click(object sender, System.EventArgs e) { } /// <summary> /// 修改主题按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ButtonUpdate_Click(object sender, System.EventArgs e) { Topic topic=new Topic(); topic.TopicID=Convert.ToInt32(Request.QueryString["topic_id"]); Hashtable ht=new Hashtable(); ht.Add("Title",SqlStringFormat.GetQuotedString(TextBoxTitle.Text)); ht.Add("Content",SqlStringFormat.GetQuotedString(TextBoxContent.Text)); Page.Response.Redirect("TopicList.aspx"); } } topic.Update(ht); Page.Response.Redirect("TopicList.aspx");

其他页面与此类似。

6.0、总结

本课程设计的目的是建立一个小型的B/S结构的企业管理系统。在进行设计之前,应掌握以下技术:1、Asp.net.2、Sql Server 2000.3、Access.4、ADO.NET 为了能够快速高效地完成课程设计,掌握一些编程工具是必要的,这些工具包括:

1、Asp.net.2、ADO.NET.3、Sql Server 2000.4、Access

经过一周的奋战我的库存管理系统终于完成了!在没有实训以前觉得

是对这之前所学知识的单纯总结,但是通过这次实训发现自己的看法有点太片面了。实训不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高.通过这次实训使我明白了自己原来知识还比较欠缺。我想在今后的实训中不仅是Web实训还是VC++实训我都能养成独立思考的良好习惯。

2011-5-31

12

更多相关推荐:
电子实习报告范文

电子实习报告范文实习目的与要求读了三年的大学,然而大多数人对本专业的认识还是寥寥无几,在通信原理与仪器周围缠绕不定。由于社会经验的有限,所见到的东西与本专业根本就很难联系起来,在很多同学心里面对于本专业一直很茫…

电工电子实习报告范文

电工电子实习报告学院环境与化学工程学院专业班级测仪121姓名胡兴学号58012120xx指导老师江媛实验名称收音机的组装与焊接实习时间20xx年10月28日20xx年11月1日实习地点南昌大学电工电子中心A25...

电子信息工程专业实习报告范文

20xx年x月,学校组织的实习学习虽然只有短短的一个多月时间,但是我以100%的工作态度来对待,同时由于学习的心态来面对,而经历了这次过程,我们感性上学到了很多东西,也对我将来的学习和研究方向的确定产生了深远…

电工电子实习报告范文

编辑点评:电工电子实习不仅能锻炼自己动手实践能力和技巧,而且还可以提高解决问题的能力。下面是沪江网小编收集的有关电工电子实习报告,希望对您有所帮助。一、实习目的电工电子实习的主要目的是培养学生的动手能力。对一些…

电子厂实习报告范文

实习报告学院班级姓名学号日期20xx227一实习时间20xx11820xx225二实习地点嘉联益昆山有限公司三实习目的1锻炼自己的动手能力将学习的理论知识运用于实践当中反过来检验书本上理论的正确性将自己的理论知...

电子工艺实习报告范文4篇

提升大学生职场竞争力的社交平台电子工艺实习报告范文篇1电子工艺实习报告范文一实习时刻20xx年7月5日至20xx年7月9日第十九周二实习地点学海校区南四教120电子工艺实训室一三实习目的1透过本课题设计中对HX...

电子版实训报告格式

实训报告12

模拟电子技术实训报告模板

实训报告实训名称模拟电子技术实习专业班级学号姓名指导老师实训时间

电子商务专业实习报告范文

专业实习报告题目系部专业班级学号学生姓名指导教师职称梦瑶服饰实习报告经济系电子商务20xx年9月11日梦瑶服饰实习报告时光荏苒一转眼大学就接近尾声了虽然已经读了三年的电子商务专业但是在学校学的知识大多是一些理论...

电子认知实习报告格式

电子认知实习报告实习地点实习时间学院班级姓名学号成绩指导老师年月日电子认知实习报告一实习目的本课程为电子信息工程专业本科生的重要实践课程通过本次实习使学生对常用的电子测量仪器电子元器件焊接技术有个总体的认识同时...

电工电子实习报告模板

山东轻工业学院电工电子实习报告院系名称机械汽车工程学院姓名学号专业班级机专123指导教师王士军二一四年7月4日实习情况一览表一实习目的1目的和意义对于机械专业的学生来说电工电子是很重要的一门学科在机械设计中往往...

电子工艺实习报告范文

电子工艺实习报告范文电子工艺gt实习报告范文实习时间20年6月12日至6月25日期间gt端午节放假三天实习地点华北水利水电学院综合实验楼1007实验室实习人王仁宗实习目的电子工艺实习使我们对电子元件焊接以及半导...

电子实训报告范文(26篇)