WEB
HUNAN CITY UNIVERSITY
报 告
设计题目: 访客留言板 专 业: 信息管理与信息系统 学生姓名: XXXXX 班级学号: XXXXXX 分组成员: XXXXXXXXXXXXXXXXXXXX 指导教师: XXXXXXXXXXXXXXXX
2012年06月08日
应用与开发课程设计《WEB应用与开发》课程设计报告
XXXXXXXXXXXXXXXXXX
一、设计时间
2012年6月 04日-----6月08日
总的设计时间为1周, 第17周。具体安排如下: 1、分析设计准备阶段(第17周周一至周二) 2、编程调试阶段(第17周周三至第17周周四) 3、书写设计报告和书写说明书阶段(第17周周五) 4、考核阶段(第17周周五)
二、设计地点
信息科学与工程学院机房(新校区510机房)
三、设计目的
通过对一些实际问题的软件设计,,巩固学习java基础知识方面的基本算法,进一步熟悉基本概念。使学生能将课本的理论知识应用于实践,运用所用学的JSP语言知识编制出较为实用的小系统,培养学生查阅资料的习惯,提高学生思考和解决问题的能力。
四、设计小组成员
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
五、指导老师
XXXXXXXXXXXXXXXXXX
六、设计课题
访客留言板系统的设计
七、基本思路及关键问题的解决方法 基本思路及解决方法:
1、这个留言本包括四个文件。
2、留言本填写页面——gform.html; 3、留言本处理脚本——gform.jsp ; 4、留言本显示页面——gbook.jsp; 5、保存留言文本——gbook.txt。
八、算法及流程图
开始 填写留言板 登入错误 重新输入 姓名、Email、主题、留言 保存 文本文档 显示留言信息 加载 结束
登陆界面:
当输入空置时:
访问者留言记录:
九、调试过程中出现的问题及相应解决办法
1、出现乱码,使用编写javabean组件来解决乱码问题; 2、路径错误,查阅相关书籍,找对路径;
3、背景颜色开始不能改变,将BACKGROUD改成bgcolor后就可以了; 4、html表单标签参数不熟悉,在网上查找相关资料解决。
十、课程设计心得体会
时间过得真快,一个学期的网页课程设计——JSP课程学习结束了,我觉得自己学到了不少知识,以前都不知道可以用JSP代码来做网页,但是通过这门课程的学习,我对JSP有了自己的理解。JSP文件就是在普通的HTML文件中嵌入VBScript或JavaScript脚本语言:。它有这样的特点:学习是以学生为中心的,学习是个性化,能满足个体需要的;学习是以问题或主题为中心的;学习过程是进行通讯交流的,学习者之间是协商的、合作的;学习是具有创造性和再生性的;学习是可以随时随地终身的。
令我难以忘怀的镜头也是在做留言板的时候,但不是为我自己的而做,而是
一步一步教同学做,直到令同学学懂;把同学留言板的问题一一解决;当同学因为做不出而没心情,过去对她进行鼓励的,然后一一解决;当自己也不会,与同学共同研究的情况,这种学习氛围是最难得的,就是在做留言板的时候,令我深深体会到我几句话:认真做事只是把事情做对,用心做事才能把事情做好。把每一件简单的事情做好就是不简单,把第一件平凡的事情做好就是不平凡。 然而,当我一着手清理自己的设计成果,漫漫回味这周的心路历程,一种少有的成功喜悦即刻使倦意顿消.虽然这是我刚学会走完的第一步,也是人生的一点小小的胜利,然而它令我感到自己成熟的许多,另我有了一中”春眠不知晓”的感悟。通过课程设计,使我深深体会到,干任何事都必须耐心,细致。课程设计过程中,许多计算有时不免令我感到有些心烦意乱:有2次因为不小心我计算出错,只能毫不情意地重来。一定养成一种高度负责,认真对待的良好习惯。这次课程设计使我在工作作风上得到了一次难得的磨练。短短一周的课程设计,使我发现了自己所掌握的知识是真正如此的缺乏,自己综合应用所学的专业知识能力是如此的不足,以后会更加努力。
(本人有完整的项目需要的话发邮件给我491990141@qq.com) 十一、源程序(每句语言要有详细解释)
这是一个简单的HTML文件,它让读者填写留言并把内容传递给gform.jsp来处理。它HTML源代码如下:
329studio的留言表单 留言处理脚本——gform.jsp
这个脚本的工作流程如下:接受gform.html提交的数据,先判断它是否合法,如果合法,把它转化化成需要的形式,然后保存在文本文件gbook.txt中,最后重定向到gbook.jsp,显示所有的留言,如果不合法则给出错误提示。代码如下:
<%@page contentType=\"text/html\"%> <%@page language=\"java\"%> <%@page import=\"java.io.*\"%> <%@page import=\"java.util.*\"%> <%@page import=\"java.text.*\"%> <%!
// 解决中文显示问题
public String getStr(String str) { try {
String temp_p = str;
byte[] temp_t = temp_p.getBytes(\"ISO8859_1\"); String temp =new String(temp_t); return temp; }
catch(Exception e) {
}
return \"空\"; } %> <%
String Name; String Email; String Subject; String Memo;
// 读取各输入框的数据
Name = request.getParameter(\"Name\"); Email = request.getParameter(\"Email\"); Subject = request.getParameter(\"Subject\"); Memo = request.getParameter(\"Memo\");
Name.trim(); Email.trim(); Subject.trim(); Memo.trim();
// 检查各输入框是否输入有数据
if((Name.length() == 0)||(Email.length() == 0)||(Subject.length() == 0)||(Memo.length() == 0)) {
out.println(\"输入框不能为空白!\"); out.println(\"
\");
out.println(\"返回\"); //不再处理以下的程序 return; }
// 第一行包含\"姓名\"与\"Email\" String Line1;
Line1 = \"留言人:\" + Name;
Line1 = Line1 + \" \"; // 插入5个汉字空格
Email = \"\" + Email + \"\"; Line1 = Line1 + \"Email\" + Email + \"
\";
// 第二行
String Line2;
Line2 = \"主 题:\" + Subject + \"
\";
// 第三行为\"留言\",先将留言中\\n转换成为回车
String makeContent=new String();
StringTokenizer strToken=new StringTokenizer(Memo,\"\\n\"); while(strToken.hasMoreTokens()){
makeContent=makeContent+\"
\"+strToken.nextToken(); }
Memo=makeContent;
// 为了显示不同的背景颜色,采用表格输出 String Line3;
Line3 = \"
\"; Line3 = Line3 + Memo + \" |
\";
// 第四行为留言时间 String Line4;
Date currTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat(\"yyyy/MM/dd hh:mm:ss\
Line4 = \"时 间:\" + formatter.format(currTime); %> <%
// 把留言内容写入文件
// 首先建立FileWriter实例 try{
String path = \"c://tomcat/webapps/myweb/gbook.txt\"; FileWriter file = new FileWriter(path,true); PrintWriter pwout = new PrintWriter(file);
// 写入访问者留言
pwout.println(getStr(Line1)); pwout.println(getStr(Line2)); pwout.println(getStr(Line3)); pwout.println(getStr(Line4));
pwout.println(\"
\");
pwout.close(); }
catch(IOException e){
out.println(e.toString());
a }
// 将网页重定向到\"浏览留言\"的网页gbook.jsp
response.sendRedirect(\"http://127.0.0.1:8080/myweb/gbook.jsp\"); %>
留言本显示页面——gbook.jsp 它用来显示所有留言,这里我们采用了文件包含语句,使得显示留言变得异常简单,它其实得益于gform.jsp 对留言的处理结果,这种处理把格式页面写入了gbook.txt文件中,这样在gbook.jsp中就不需要设置格式。代码如下: <%
response.setHeader(\"Cache-Control\response.setHeader(\"Pragma\response.setDateHeader(\"Expires\%>
329studio的访问者留言簿 329studio的访问者留言簿
<%@ include file=\"/gbook.txt\" %> 返回留言表单
十二、参考文献
[1]夏士兵,钱江.构建基于COM+的分布式Web应用[J].微型机与应用,2001(6):8-9.
[2][美]Richard Anderson, Chris Blexrud著,刘福太,张立民,金慧琴,梁发麦等译.ASP3高级编程[M].北京:机械工业出版社,2000.408-458.
[3]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354. [4]BruceEckel.《JSP编程思想》. 机械工业出版社,2003年10月:1-378. [5]FLANAGAN.《JSP技术手册》. 中国电力出版社,2002年6月:1-465. [6]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210. [7]LEE ANNE PHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月:1-319.
[8]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300.