JSP程序设计课程报告书课程名称JSP程序设计系别专业班级姓名学号目录一.需求分析*************************************************************2二.系统流程图***********************************************************2三.系统主要模块1.数据库模块*********************************************************3(1)用户名模块数据库表*********************************************3(2)密码模块数据库表*********************************************32.页面模块**********************************************************4(1)主页模块******************************************************4(2)登录界面模块*************************************************4(3)管理模块*****************************************************5(4)新增数字日记模块*********************************************5(5)管理数字日记模块*********************************************5(6)退出管理界面模块*********************************************6(7)删除日记模块*************************************************6(8)密码模块*****************************************************6四.测试*****************************************************************7五.总结*****************************************************************7六.附件关键代码***************************************************************84一.需求分析随着网络的大众化,现在人们都在用各种方法展示自己的靓丽风采,当今最流行的当属个人主页了。为了可以在这个虚拟的世界里都能拥有一片属于自己的空间,展现自己独特才华、个性的时空,也渴望在那密密麻麻的空间里占有一席之地,来展现自己的独特个性。因此制作个人主页来展示自己,个人主页要求可以实现主人对自己日记的添加和管理,需要展示主人的管理日记、新增日记、删除日记等其它基本功能。留言板和记事本需要实现动态数据库,可以动态的实现日记的操作,实现主人可随时添加日志以及对日志的管理。二.系统流程图网络日记本首页热门资讯管理新增进入管理判断用户生活百味快捷部门天气状况书刊杂志输入有误跳转登录返回管理新增进入管理判断用户输入有误跳转登录返回管理新增进入管理判断用户输入有误跳转登录返回管理新增进入管理判断用户输入有误跳转登录返回管理新增进入管理判断用户输入有误跳转登录返回5三.系统主要模块1.数据库模块(1)页面编辑模块数据库表在表中建立id(主键)date(日期)subject(类别)weather(天气)img(心情)pmemo(日记内容)(2)密码模块数据库表在表中建立id(主键)username(用户名)password(密码)6以下为数据库连接建立一个Connection对象实例db代码链接数据库:%request.setCharacterEncoding(utf-8);//加载驱动程序Class.forName(com.mysql.jdbc.Driver);Stringurl=jdbc:mysql://localhost:3306/ediary;Stringuser=root;Stringpass=root;Connectionconn=DriverManager.getConnection(url,user,pass);Statementsta=conn.createStatement();//Stringsql=select*fromediarys;//ResultSetrw=sta.executeQuery(sql);%Connection对象与数据库建立连接,并对数据库执行添加、删除、等相关操作。Recordset它是对数据库查询的结果,也是进行数据操作的对象,因为它包含了从数据存储中提取的数据集。2.主要页面模块(1)主页模块该模块主要是主页介绍一些基本的功能和链接(2)登录界面该页面主要是判断是否是正确的用户的7(3)管理模块该模块通过自己选择来对日记进行编辑,修改或者返回主页。(4)新增数字日记模块该模块主页是编辑新的网络日记。(5)管理数字日记模块该模块主要展示我以前所写的网络日记。8(6)退出管理界面模块该模块主要是返回主页面。(7)删除日记该模块加上数据库的连接可以实现日记的删除、增加(8)密码模块该模块是用户的输入错误时2秒后返回登录界面。9四.测试对网页设计完成后,基本实现了个人主页需求分析的各项要求,实现了动态数据库,能够实现对日志的管理,新增,删除的动态管理。能够实现日记的基本功能,主人对日记的管理。只是没有实现动态数据库,不能实现对其动态的管理。五.总结通过这一学期的努力学习,对网页设计已经不像以前那样一筹莫展了,现在自己能够实实在在的做点东西出来,此次课程设计为个人主页,主要是展示自己,从开始上ASP网页设计课程开始就慢慢的在做个人主页,但是先前由于知能力有限,所做的很不尽人意。通过对ASP网页设计这门课程以及JavaScript脚本语言的学习,逐渐掌握了制作网页的方法和技巧,加上这学期我选修了一门关于网页设计的课程,通过学习,能够熟练的使用网页三剑客来制作网页。对于一个动态网页我认为最重要的就是数据库的设计,只要做好了数据库相关的事情,其它的设计都不难。此次制作的个人主页总体来说对一个新手总的来说做得很不错,例如:1.记事本和留言本的设计加上了数据库,能够实现动态记事和留言。2.界面简洁新奇给人一种美好的感觉。但也存在一些缺点,例如:1.仅仅实现了留言板和日志的动态管理,没有能够实现动态添加好友和相片上传的功能。2.网页基本上使用表格实现的许多功能,没有能够使用布局模式去设计,那样界面可能会更加美观,不会有表格那么多的冗余的东西。3.留言板和日志的缺点仍然很多,日志没能够实现对文字的格式编辑,这是一大败笔,界面不怎么美观。10经过这次课程设计从中学到很多,原来以为很难的网页设计其实也不是很难,只要自己去动手做,总会有成果的,先前的我做的网页真的难以入目,但是通过在课堂上老师的讲课以及实验中的体会加上平时的一些灵感对网页设计产生了兴趣,通过多次对个人主页的设计修改设计在修改在设计这样一遍又一遍的制作,终于做出了还过得去的个人主页,但是这只是一个开始,网页设计很多东西还需要我们去努力,想要真正做出一个有成就的网页,光我们在课堂上所学的这点知识远远不够,我们必须学会网页设计三剑客,加上必备的网页设计语言我们才有可能制作出更加完美的网页,通过这学期的ASP课程以及课程设计学习到了在网页设计中如何链接数据库,如何使用MacromediaDreamweaver制作网页,掌握了网页设计代码的书写以及用photoshop美化网页等等。总之,学到了很多,以前的课程设计我基本上都是找代码的,但是这次是自己认认真真做出来的。这可能是我第一次真正自己动手做出来的东西。在这之中感谢课堂上兢兢业业讲课的翁老师使我对网页设计这以前认为很难的东西产生了兴趣并付诸了行动,感谢在这之中帮助我的同学们。附件.部分关键代码(1)读取conn.jsp页面request.setCharacterEncoding(utf-8);//加载驱动程序Class.forName(com.mysql.jdbc.Driver);数据库的类型Stringurl=jdbc:mysql://localhost:3306/ediary;数据库的类型,位置Stringuser=root;数据库的用户名Stringpass=root;数据库的密码Connectionconn=DriverManager.getConnection(url,user,pass);Statementsta=conn.createStatement();(2)读取ediary.jsp页面%@includefile=conn.jsp%%Stringsql=select*fromediarysorderbyediary_idDESC;导入数据库内容的ID地址ResultSetrs=sta.executeQuery(sql);Stringss=request.getContextPath();Stringx=/;%tdwidth=56%height=29span主题:%=rs.getString(ediary_subject)%导入图片/span/tdtdwidth=34%height=29colspan=2spanclass=title天气:imgsrc=%=request.getContextPath()+x+rs.getString(ediary_weather)%对其进行编辑做链接11alt=天气name=weatherwidth=50height=30align=absmiddle/span/td/tr(3)读取ediary-login-ad.jsp页面%Stringname=request.getParameter(userName);Stringpassword=request.getParameter(password);Class.forName(com.mysql.jdbc.Driver);Stringurl=jdbc:mysql://localhost:3306/ediary;Stringuser=root;Stringpass=root;Connectionconn=DriverManager.getConnection(url,user,pass);Statementsm=conn.createStatement();ResultSetrs=sm.executeQuery(select*fromadminswhereusername='+name+');if(rs.next())登录页面的判断{if(rs.getString(password).equals(password)){对输入的用户名和密码进行判断session.setAttribute(admins,yes);response.sendRedirect(ediary_admin.jsp);}else{response.sendRedirect(ediary_login.jsp);}}else{out.print(输入信息有误);response.setHeader(refresh,2,url=ediary_login.jsp);当输入的信息有误时2秒后返回登录页面}%