
网站规划报告
组长: 金闵辰 0917439023
组员: 刘金文 0917439047
朱静如 0917439017
张凤娇 0917439057
王林玉 0917439069
谭利佳 0917439052
魏菁 0917439037
宋敏敏 1017439036
一.站点名称:风之谷
二.办站宗旨:
动漫在中国的发展不足百年,最早推至清朝末年,陈师曾氏在上海刊行的《太平洋报》上有即兴随意之作,小形、着墨俭省而意趣颇浓,这就是动漫的雏形。到了二十年代中期,丰子恺有画刊载于《文学周报》,编者特称之为“漫画”,漫画之名始见于大众。自此及今七十年间,中国漫画后来居上,漫画家们以创造性的精神、丰富的生活体验和艺术造诣,发展光大了漫画这门绘画艺术,但是从中国的动漫发展过程来看,可以看出中国的动漫针对的年龄层都比较小,不但国产的动画片只有7岁以下的人才看,连引进的动画片也只是针对12岁以下年龄层的。而日本的动画以赛璐璐和喷笔绘制为主,体现的是一种唯美的风格。宫崎骏是日本动画世界的传奇,他将动画上升到人文的高度,所以对于宫崎骏作品的研究,可以使我们从中借鉴、吸收。
本站主要介绍宫崎骏具有代表性的动漫作品,通过更深层次的观看及分析历年宫崎骏的动漫影视作品,使漫迷不仅在欣赏影视作品的同时,也能从中得到一些对世界以及人性的理解,网站的内的一些板块给予漫迷讨论交流的权利,在一定层面上是对优秀的动漫作品的推广,通过本站作为平台,使广大漫迷能够认识到志同道合之士,在服务于漫迷的同时,也使本网站保持了活力。
三.站点风格:
本网站采用单管理员管理的方式,运用静态界面与动态相结合的交互技术,运用visuai stdio软件及photoshop等软件进行网站开发、制作,整体页面采用的是模板加表格的形式,适当的加一些有趣的图片使网站更加生动和新颖。
采用首页加分页链接的样式,此样式最大的特点在于,首页给予阅读者一个网站总体的感受,使网站的总体结构清晰直观的呈现在阅读者的面前。
四.具体实施方案
1.前台
设置板块:引导页、首页、注册登陆页、管理员登陆、宫崎骏简介、新闻馆、斗室、音乐馆、作品推荐、关于我们、个人空间
(1)引导页
插入层作为网站首页的整体框架,背景以清新简洁的风景画为主基调,模仿QQ空间模式,用LinkButton控件输入“Enter”引导用户进入网站,在网页中加入一段代码: (2)首页 背景依照一贯的风格,采用宫崎骏影视作品中的图像片段,采用Linkbutton和Label控件将“宫崎骏简介、新闻馆、斗室、音乐馆、作品推荐、关于我们、游客访问、登陆”这些功能一一罗列在网页上面。 (3)登陆页 在主页上,可以进行“登陆”操作,点击“登陆”进入登陆界面,登陆页面可以进行注册、登陆、管理员登陆的操作,当然如果你还不是网站会员,就必须先进行注册,如果你在还没有注册的情况下恶意登陆,将会出现“用户名或密码错误”的提示,当你点击这个提示,会重新回到登陆页。在注册完成后,输入正确的用户名和密码,就会进入个人空间页面。如果你是管理员,需要进入后台操作,同样可以输入用户名和密码,进入后台管理界面。 代码: protected void Button1_Click(object sender, EventArgs e) { string userName = txtUserName.Text.Trim(); string password = txtPassword.Text.Trim(); //判断非空 if (string.IsNullOrEmpty(userName)) { Page.RegisterClientScriptBlock("a", ""); txtUserName.Focus(); return; } if (string.IsNullOrEmpty(password)) { Page.RegisterClientScriptBlock("a", ""); txtPassword.Focus(); return; } string sqllog = "select count(*) from users where name=@Uname and password=@Password"; string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(constr); SqlCommand cmd = new SqlCommand(sqllog, conn); cmd.Parameters.AddWithValue("@Uname", userName); cmd.Parameters.AddWithValue("@Password", password); if (conn.State != ConnectionState.Closed) { conn.Close(); } conn.Open(); int result = (int)cmd.ExecuteScalar(); if (result>0) { Session["userName"] = txtUserName.Text.Trim(); Session.Timeout = 30; Response.Redirect("个人主页.aspx"); return; } else { Response.Write(""); return; } conn.Close(); } (4)注册页 采用Label控件将用户名、性别、邮箱、密码、重新输入密码罗列出来,用RadioButtonList控件进行男女性别的选择,用LinkButton控件进行服务条款的说明。在输入邮箱信息时,没有输入正确的邮箱格式,会有“Email的格式错误”的提示,输入密码后,会让用户重新输入密码,如果两次密码不一样,会有“两次输入的密码不同”的提示,成功注册成为网站会员后,网页直接跳入登陆页。 注册页: protected void registerBtn_Click(object sender, EventArgs e) { string username = accountTxt.Text.Trim(); string password = PasswordTxt.Text.Trim(); string gender = RadioButtonList1.Text.Trim(); string email = emailtxt.Text.Trim(); string connstring = Convert.ToString(ConfigurationManager.ConnectionStrings["ConnectionString"]); if (string.IsNullOrEmpty(username)) { Response.Write(""); accountTxt.Focus(); return; } if (string.IsNullOrEmpty(password)) { Response.Write(""); PasswordTxt.Focus(); return; } if (string.IsNullOrEmpty(email)) { Response.Write(""); emailtxt.Focus(); return; } //判断用户是否已经存在 SqlConnection con = new SqlConnection(connstring); string cmdSql = string.Format("select count(1) from users where name='{0}'",username); SqlCommand cmd = new SqlCommand(cmdSql,con); if (con.State != ConnectionState.Closed) { con.Close(); } try { con.Open(); int result = (int)cmd.ExecuteScalar(); if (result > 0) { Response.Write(""); return; } else { if(PasswordTxt.Text!=PasswordTxt2.Text) Response.Write(""); } string sqllog = "insert into users(name,gender,password,email) values(@Username,@gender,@Password,@Email)"; cmd = new SqlCommand(sqllog,con); cmd.Parameters.AddWithValue("@Username", username); cmd.Parameters.AddWithValue("@Password", password); cmd.Parameters.AddWithValue("@gender", gender); cmd.Parameters.AddWithValue("@Email", email); cmd.CommandText = sqllog; if (cmd.ExecuteNonQuery() == 1) { Response.Redirect("登陆页.aspx"); } } finally { con.Close(); } } protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("登陆页.aspx"); } (5)管理员登陆页 输入用户名和密码就可以进入后台界面。 代码:if (Session["userName"] == null) { Label2.Text = "游客访问"; LinkButton1.Text = "登陆"; } else { if (Session["userName"].Equals("admin")) { Label2.Text = "欢迎您,管理员"; LinkButton1.Text = "后台管理"; } else { Label2.Text = "欢迎你:" + Session["userName"].ToString(); LinkButton1.Text = "个人主页"; (6)个人空间页 成功登陆后,用户直接进入个人空间页面,在页面可以进行“上传图片、更改个性签名、作品描述、标注作品名称”等操作。采用控件有DataList、Linkbutton、Textbox、 txtTitle等。在个人空间页上,可以直接进入首页、宫崎骏简介、新闻馆、音乐馆、PK斗室、作品推荐、关于我们这些子页面中。 代码: protected void Page_Load(object sender, EventArgs e) { string str; int hour = System.DateTime.Now.Hour; if (hour > 0 && hour <= 6) { str="凌晨好!"; } else if(hour>6 && hour<=9) { str = "早晨好!"; } else if(hour>9 && hour<=12) { str = "上午好!"; } else if (hour > 12 && hour <= 14) { str = "中午好!"; } else if (hour > 14 && hour <= 17) { str = "下午好!"; } else if (hour > 17 && hour <= 22) { str = "晚上好!"; } else { str = "午夜好!"; } Response.Write(""+str + ""); if (Session["userName"] == null) { Response.Redirect("登陆页.aspx"); } //读取图片 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = "select * from users where name='"+Session ["userName"].ToString ()+"'"; SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); //显示到dl if (ds.Tables[0].Rows.Count > 0) { DataList1.DataSource = ds.Tables[0]; DataList1.DataBind(); } } protected void btnSubmit_Click(object sender, EventArgs e) { //获取图片路径 string path = Server.MapPath("images\\\\"); fuPic.PostedFile.SaveAs(path + fuPic.FileName); // FileUpload控件把图片传到img文件夹里。 string photo = "images/"; string imgPic = photo + fuPic.FileName; //定义lujing ,及图片路径 string imageTitle = txtTitle.Text.Trim(); string imageContent = TextBox1.Text.Trim(); string author = Session["userName"].ToString(); string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); string cmeText = string.Format("insert into PK_斗士(ImageTitle,Author,ImagePic,ImageContent)values('{0}','{1}','{2}','{3}')",@imageTitle, @author, @imgPic,@imageContent); SqlCommand cmd = new SqlCommand(cmeText, con); if (con.State != ConnectionState.Closed) { con.Close(); } con.Open(); cmd.ExecuteNonQuery(); Response.Write(""); con.Close(); } (7)宫崎骏简介 最大的亮点就是运用jQuery+css简易手风琴式切换特效将宫崎骏的个人履历、基本信息、人物语录、画风、获得奖项详细介绍。在访问该网页时,可以在网页的右上角可以看出当前状态时游客还是会员,如果是游客的话,可以再当前网页进行注册登录。其他网页同样具有该功能。 代码:if (Session["userName"] != null) { Label1.Text = "欢迎你:" + Session["userName"].ToString(); LinkButton1.Text = "个人主页"; } else { Label1.Text = "您当前是游客登陆"; LinkButton1.Text = "注册"; (8)新闻馆 左边是展示图片,右边是从数据库中调取最新的新闻动态标题,点击新闻可以进入详细新闻介绍,也就是新闻列表页面。本页用的是dlShowNews控件。 代码: protected void Page_Load(object sender, EventArgs e) { string conText = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(conText); DataSet ds = new DataSet(); string cmdText = "select top 4 id,title,content,date from news id order by date desc" ; SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); dlShowNews.DataSource = ds.Tables[0]; dlShowNews.DataBind(); } protected void LinkButton1_Click(object sender, EventArgs e) { if (Session["userName"] == null) { Response.Redirect("登陆页.aspx"); } else { if (Session["userName"].Equals("admin")) { Response.Redirect("用户信息.aspx"); } Response.Redirect("个人主页.aspx"); } } (9)音乐页 运用3D球面状的特效将作品相关音乐罗列,十分精巧有趣,点击进入音乐分页,页面装有播放器,可以随意收听。采用Div、Linkbutton、Label控件。在网页任何地方单击鼠标就会出现各版块链接。 每一个标签都有特定的ID,点进去时,会根据ID的不同来显示不同的专辑的歌曲。 有一个隐藏的音乐播放器,每个音乐都有一个linkbutton控制,点击开始播放音乐,右下角有一个stop的button键,用来停止正在播放的歌曲。 (10)Pk斗室 网页显示图片作品与数据库连接,将点击量前11的图片显示在网页上,用户可以点击浏览这些热门图片,点击进入图片详情页,可以对图片进行评论,输入评论内容,提交评论后,会提示“添加成功”,实现用户之间的有效互动。运用TataList控件与数据库进行绑定。 代码://加载前十一点击量的图片 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; DataSet ds = new DataSet(); SqlConnection con = new SqlConnection(cmdSql); string cmdText = "SELECT TOP (11) pid, ImageTitle, Author, ImagePic, ImageContent, ClickCount FROM PK_斗士 ORDER BY ClickCount DESC "; SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { string result = " result += ; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = ds.Tables[0].Rows[i]; result += " } result += " divShowPic.InnerHtml = result; (11)Pk斗室的所有作品页 运用dlshow控件,与数据库绑定,将用户上传到网站上的图片罗列出来。 代码: //读取图片 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = "select pid,ImageTitle,ImagePic,Author from PK_斗士"; SqlDataAdapter da = new SqlDataAdapter(cmdText,con); da.Fill(ds); //显示到dl if (ds.Tables[0].Rows.Count > 0) { dlShow.DataSource = ds.Tables[0]; dlShow.DataBind(); } PK斗室内容页 根据图片id显示作品内容 代码: protected void Page_Load(object sender, EventArgs e) { //获取图片编号 int pid = Convert.ToInt32(Request.QueryString["id"].ToString()); //根据新闻编号显示类容 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = "select ImageTitle,ImagePic,Author,ImageContent from PK_斗士 where pid=" + pid; SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); //显示到文本框 if (ds.Tables[0].Rows.Count > 0) { txtImgTitle.Text = ds.Tables[0].Rows[0]["ImageTitle"].ToString(); LinkButton2.Text = ds.Tables[0].Rows[0]["Author"].ToString(); txtImg.Text = ds.Tables[0].Rows[0]["ImageContent"].ToString(); imgPic.ImageUrl = ds.Tables[0].Rows[0]["ImagePic"].ToString(); } DataSet ds1 = new DataSet(); string cmdText1 = "select * from pinglun where pid=" + pid; SqlDataAdapter da1 = new SqlDataAdapter(cmdText1, con); da1.Fill(ds1,"pinglun"); //显示到文本框 if (ds1.Tables[0].Rows.Count > 0) { Datalist1.DataSource = ds1.Tables[0]; this.Datalist1.DataBind(); } //修改该图片的点击率 SqlCommand cmdUpdateClick = new SqlCommand("up_UpdateClickCount",con); cmdUpdateClick.CommandType = CommandType.StoredProcedure; cmdUpdateClick.Parameters.Clear(); cmdUpdateClick.Parameters.Add("@pid",pid); if (con.State != ConnectionState.Closed) { con.Close(); } try { con.Open(); cmdUpdateClick.ExecuteNonQuery(); } finally { con.Close(); } string conText = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(conText); DataSet ds2 = new DataSet(); string cmdText2 = "select name from users"; SqlDataAdapter da2 = new SqlDataAdapter(cmdText2, conn); da2.Fill(ds2); } protected void Button1_Click(object sender, EventArgs e) {int pid = Convert.ToInt32(Request.QueryString["id"].ToString());//判断非空 if (string.IsNullOrEmpty(TextBox1.Text.Trim())) {//Response.Write(""); Page.RegisterClientScriptBlock("a", ""); return;} //连接数据库字符串 string conSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; //创建connection对象 SqlConnection con = new SqlConnection(); con.ConnectionString = conSql; //创建command对象 string cmdText = string.Format("insert into pinglun(review,name,date,pid)values('{0}','{1}','{2}',@pid)", TextBox1.Text.Trim(), Session["userName"].ToString(), DateTime.Now.ToString()); SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@pid ",pid); cmd.CommandText = cmdText; cmd.Connection = con; //判断是否已经连接数据库 if (con.State != ConnectionState.Closed) {con.Close(); } //打开数据库 con.Open(); int result = cmd.ExecuteNonQuery(); if (result > 0) {Response.Write("");} else {Response.Write("");} con.Close(); Response.AddHeader("Refresh", "0"); } protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("用户资料.aspx?name="+LinkButton2.Text);} 用户资料页 这个页面根据PK斗室内容页中其他用户的用户名来获取用户的其他信息 代码: protected void Page_Load(object sender, EventArgs e) { string userName = Request.QueryString["name"].ToString(); Response.Write(userName); string name = Request.QueryString["name"].ToString(); string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = string.Format("select name,email,message,userpic from users where name = '{0}'", name); SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); if (ds.Tables[0].Rows.Count > 0) { Label1.Text = ds.Tables[0].Rows[0]["name"].ToString(); Label2.Text = ds.Tables[0].Rows[0]["message"].ToString(); Label3.Text = ds.Tables[0].Rows[0]["email"].ToString(); Image1.ImageUrl = ds.Tables[0].Rows[0]["userpic"].ToString(); } } PK斗室内容页面中的相关代码: protected void LinkButton2_Click(object sender, EventArgs e) { Response.Redirect("用户资料.aspx?name="+LinkButton2.Text); } (12)作品推荐页 右边是采用css制作出3D轮播图片形式介绍作者的主要几个作品,右边则是详细的作品推荐,并通过的界面详细表述作品内容。采用控件有:DIV、Img、等。点击作品,进入详细介绍页面,可以看到相关的影片概况、基本资料、奖项荣誉。采用控件有:Textbox、Menu等。 代码: //读取图片 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = "select Date,WorksTitle,WorksPic,Id from Works"; SqlDataAdapter da = new SqlDataAdapter(cmdText,con); da.Fill(ds); //显示到dl if (ds.Tables[0].Rows.Count > 0) { dlShow.DataSource = ds.Tables[0]; dlShow.DataBind(); } 代码: //获取新闻编号 int WId = Convert.ToInt32(Request.QueryString["Id"].ToString()); //根据新闻编号显示类容 string cmdSql = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(cmdSql); DataSet ds = new DataSet(); string cmdText = "select WorksTitle,WorksPic,general,basic,rewards from Works where Id=" + WId; SqlDataAdapter da = new SqlDataAdapter(cmdText, con); da.Fill(ds); //显示到文本框 if (ds.Tables[0].Rows.Count > 0) { TextBox1.Text = ds.Tables[0].Rows[0]["general"].ToString(); TextBox2.Text = ds.Tables[0].Rows[0]["basic"].ToString(); TextBox3.Text = ds.Tables[0].Rows[0]["WorksTitle"].ToString(); TextBox4.Text = ds.Tables[0].Rows[0]["rewards"].ToString(); Image1.ImageUrl = ds.Tables[0].Rows[0]["WorksPic"].ToString(); } (13)关于我们 同样使用特效将小组成员罗列。 2.后台 后台版块:添加新闻、管理新闻、pk斗室、用户信息、作品信息、作品信息添加 (1)添加新闻 (2)管理新闻 采用GridView、Menu、Content、Document控件进行新闻管理,新闻属性有“编号、新闻标题、新闻内容、日期”,管理员可以对新闻进行编辑和删除处理,点击“编辑”可以对已存在的新闻内容进行修改等处理,更新后会显示在网页上,点击删除,后,新闻条目直接被删除。 (3)pk斗室 采用GridView、Menu、Content、Document控件进行pk斗室的图片管理,管理员可以进行编辑和删除操作,可以更改图片名称、作者、图片地址、图片描述。 (4)用户信息 采用GridView、Menu、Content、Document控件进行用户信息管理,管理员可以编辑和删除用户的基本信息,也可以更改用户名、性别、密码、邮箱、个性签名。 (5)作品信息 采用FormView、Menu、SqDataSource控件对作品进行详情管理,管理员可以进行编辑、删除、新建操作。 (6)作品信息添加 采用TextBox、Table、Menu、Content控件来添加作品 3.数据库 整个数据库有Music、news、pinglun、pk斗士、review、user、works七张表。 (1)Music表: (2)News表: (3)Pinglun表: (4)pk斗士: (5)review表: (6)User表: (7)works表: (8)表之间的联系: 五.站点更新: 图片以用户上传的内容为准,管理员对图片的性质进行管理,加以描述,每周进行新闻内容的更新。 六.维护: 网站维护是为了使网站更好且能够长期稳定地运行在网络上,及时地调整和更新网站内容,是网站更具有活力。 维护方法:服务器及相关软硬件的维护,对可能出现的问题进行解决 数据库的维护,有效保护且利用数据库中的内容 内容的更新、调整 七.网站测试: 网站发布前腰进行细致周密的测试,以保证正常浏览和使用 测试内容:程序及数据库测试 网页兼容性测试";
";
作者
查看详情
