您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页JSP实训报告

JSP实训报告

来源:小侦探旅游网


河南理工大学

计算机科学与技术学院实训报告

2010 — 2011学年第1学期

课程名称 JSP实用教程

设计题目 留言管理系统 学生姓名 陈明垒 学 号 410920050146 专业班级 信息管理<二>班 指导教师 陈玮

2011年 1月1日1

1

目 录

第一章 基础知识 ............................................................................................................................. 1

1.1 项目说明:........................................................................................................................ 1 1.2 本项目开发环境 ................................................................................................................ 1 1.3 MVC开发模式 .................................................................................................................. 1 第2章 总体设计 ............................................................................................................................. 1

2.1需求分析:......................................................................................................................... 1 2.2系统总设计图: ................................................................................................................. 1 2.3系统用例图: ..................................................................................................................... 2 第3章 详细设计 ............................................................................................................................. 3

3.1数据表设计 ......................................................................................................................... 3 3.2建立数据库表的sql语句 .................................................................................................. 3 3.3登录功能 ............................................................................................................................. 5

部分实现代码如下: ....................................................................................................... 5 3.4注册功能 ............................................................................................................................. 8

注册面板设计如图3所示: ........................................................................................... 8 3.5留言页面 ............................................................................................................................. 8 3.6 修改留言功能 .................................................................................................................... 9 3.7查看留言............................................................................................................................. 9

部分实现代码如下: ..................................................................................................... 10

总 结 ............................................................................................................................................ 13

I

第1章 基础知识

第一章 基础知识

1.1 项目说明:

本项目主要是根据网上常见的交互式模块留言板为蓝本制作而成。

1.2 本项目开发环境

操作系统: Windows 2007 JDK环境: JDK1.6.0

IDE工具: MyEclipse6.0GA

数据库: Mysql 5.0.41 字符集设置:utf-8 Web容器: Tomcat 6.0.14

测试通过的浏览器: IE6.0,IE7.0、FireFox2.0。

1.3 MVC开发模式

Jsp+servlet实现的留言板开发系统,采用MVC模式,多个javabean对象,用于存储数据。视图由多个JSP页面组成,由多个servlet构成控制器,读取数据库或文件。 第2章 总体设计

2.1需求分析:

2.2系统总设计图:

1

第1章 基础知识

2.3系统用例图:

2

第2章 功能实现

第3章 详细设计

3.1数据表设计

数据库选用机房安装的MySQL 5.1,配置见视频(数据库配置.exe)。数据库表设计如下:

表1 用户表`admin 列名 id `webtitle` `adminhttp 数据类型 int varchar(50) varchar(50) 否 否 否 否 否 是 是 允许空 主键,自增, 站点名称 站点地址 站长姓名 密码 站内公告 表2 消息表mess 说明 `adminname varchar(50) `adminpass` varchar(50) `adminmail webadvice varchar(2) varchar(50) 列名 id `headimg` name title` content qq Email mood http sex pubtime repcontext reptime ip 数据类型 int int(5) varchar(50) varchar(100) varchar(11) varchar(50) int(11) varchar(50) int(11) varchar(50) varchar(50) varchar(50) 否 否 否 否 否 是 是 否 是 否 否 是 否 否 允许空 主键,自增 头像 用户名 留言题目 留言内容 qq Email 心情图像 主页 性别 发布留言时间 回复内容 回复时间 Ip地址 说明 3.2建立数据库表的sql语句

#创建数据库 create database if not exists `gbooks`; #切换数据库

3

第2章 功能实现

use gbook;; #创建admin表 DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `id` int(11) NOT NULL auto_increment, `webtitle` varchar(50) default NULL, `adminhttp` varchar(50) default NULL, `adminname` varchar(50) default NULL, `adminpass` varchar(50) default NULL, `adminmail` varchar(50) default NULL, `webadvice` varchar(50) default NULL, `adminqq` varchar(50) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; insert into `admin`(`id`,`webtitle`,`adminhttp`,`adminname`,`adminpass`,`adminmail`,`webadvice`,`adminqq`) values (1,'123','http://163.net','1','1','xmh@tom.com','welcome','876'); #创建messs表 DROP TABLE IF EXISTS `mess`; CREATE TABLE `mess` ( `id` int(11) NOT NULL auto_increment, `headimg` int(5) default NULL, `name` varchar(50) default NULL, `title` varchar(100) character set gb2312 default NULL, `content` mediumtext, `qq` varchar(11) default NULL, `email` varchar(50) default NULL, `http` varchar(50) default NULL, `mood` int(11) default NULL, `sex` int(11) default NULL, `pubtime` varchar(50) default NULL, `repcontext` mediumtext, `reptime` varchar(50) default NULL, `ip` varchar(50) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk;

4

第2章 功能实现

3.3登录功能

登录窗口如图1所示:

图1 登录窗口

实现:站长登录网站,实现对网站的维护,对留言的回复,编辑,删除等。 部分实现代码如下: package cml.servlet;

import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

import cml.beans.Admin; import cml.beans.UserList; import cml.biz.AdminBiz; import cml.biz.MessBiz; import cml.utils.ConvertUtil;

public class AdminServlet extends HttpServlet { public void destroy() { }

5

第2章 功能实现

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(\"text/html;charset=gb18030\"); PrintWriter out = response.getWriter(); String path = request.getParameter(\"path\"); AdminBiz adminbiz = new AdminBiz(); ConvertUtil cutils = new ConvertUtil(); HttpSession session = request.getSession(); List listAdmin = new ArrayList(); UserList userList = UserList.getInstance(); String tourl = \"\"; String error = \"\"; if (\"add\".equals(path)) { Admin admin = new Admin(); admin.setAdminhttp(request.getParameter(\"adminhttp\")); admin.setAdminmail(request.getParameter(\"adminmail\")); admin.setAdminname(request.getParameter(\"adminname\")); admin.setAdminpass(request.getParameter(\"adminpass\")); admin.setAdminqq(request.getParameter(\"adminqq\")); admin.setWebadvice(request.getParameter(\"webadvice\")); admin.setWebtitle(request.getParameter(\"webtitle\")); boolean flag = adminbiz.add(admin); listAdmin = adminbiz.search(0, 0); tourl = \"\"; session.setAttribute(\"listAdmin\ } else if (\"dele\".equals(path)) { int tmpid = cutils.strToInt(request.getParameter(\"id\")); boolean flag = adminbiz.delete(tmpid); listAdmin = adminbiz.search(0, 0); tourl = \"\"; session.setAttribute(\"listAdmin\ } else if (\"update\".equals(path)) { Admin admin = new Admin(); int tmpid = cutils.strToInt(request.getParameter(\"id\")); admin.setAdminhttp(request.getParameter(\"adminhttp\")); admin.setAdminmail(request.getParameter(\"adminmail\")); admin.setAdminname(request.getParameter(\"adminname\")); admin.setAdminpass(request.getParameter(\"adminpass\"));

6

第2章 功能实现

}

admin.setAdminqq(request.getParameter(\"adminqq\")); admin.setWebadvice(request.getParameter(\"webadvice\")); admin.setWebtitle(request.getParameter(\"webtitle\")); admin.setId(tmpid);

boolean flag = adminbiz.update(admin);

listAdmin = adminbiz.search(0, 0); tourl = \"\"; session.setAttribute(\"listAdmin\} else if (\"toupdate\".equals(path)) { int tmpid = cutils.strToInt(request.getParameter(\"id\")); Admin admin = (Admin) adminbiz.search(1, tmpid).get(0); tourl = \"\"; session.setAttribute(\"admin\} else if (\"login\".equals(path)) { String name = request.getParameter(\"name\"); String pass = request.getParameter(\"pass\"); Admin admin = adminbiz.search(name, pass); boolean flag = userList.isExist(admin); if (admin != null && !flag) { tourl = \"mana.jsp\"; MessBiz messbiz = new MessBiz(); List messlist = new ArrayList(); messlist = messbiz.select(0, 0); request.setAttribute(\"manamlist\ } else if (flag) { tourl = \"login.jsp\"; error = \"对不起,该用户已经登录!\"; } else { tourl = \"login.jsp\"; error = \"对不起,请检查你的用户名与密码!\"; } session.setAttribute(\"admin\ request.setAttribute(\"error\} else { listAdmin = adminbiz.search(0, 0); tourl = \"\"; session.setAttribute(\"listAdmin\}

request.getRequestDispatcher(tourl).forward(request, response);

public void init() throws ServletException { }

7

第2章 功能实现

}

3.4注册功能

注册面板设计如图3所示:

图3 注册面板

实现:可实现用户的注册,然后留言,可以查看留言本首页以及留言内容。

3.5留言页面

留言界面,如图4所

图4 留言界面

实现:可以编辑留言内容,并且选择心情图像和头像,辅助表达自己的情感。 如图:

8

第2章 功能实现

3.6 修改留言功能

3.7查看留言

9

第2章 功能实现

部分实现代码如下:

package cml.servlet;

import java.io.IOException; import java.util.ArrayList; import java.util.List;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

import cml.beans.Mess; import cml.biz.MessBiz; import cml.utils.ConvertUtil;

public class MessServlet extends HttpServlet { public void destroy() { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

10

第2章 功能实现

}

doPost(request, response);

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path = request.getParameter(\"path\"); MessBiz mbiz = new MessBiz(); Mess mess1 = new Mess(); List list = new ArrayList(); ConvertUtil cutils = new ConvertUtil(); HttpSession session = request.getSession(); int id = cutils.strToInt(request.getParameter(\"id\")); String tourl = \"\"; if (\"add\".equals(path)) { Mess mess = new Mess(); mess.setContent(request.getParameter(\"content\")); mess.setEmail(request.getParameter(\"email\")); mess.setHeadimg(cutils.strToInt(request.getParameter(\"headimg\"))); mess.setHttp(request.getParameter(\"http\")); mess.setIp(request.getRemoteAddr()); mess.setMood(cutils.strToInt(request.getParameter(\"mood\"))); mess.setName(request.getParameter(\"name\")); mess.setPubtime(cutils.getTime()); mess.setAqq(request.getParameter(\"qq\")); mess.setRepcontext(request.getParameter(\"\")); mess.setReptime(\"2008/1/1 00:00:00\"); mess.setSex(cutils.strToInt(request.getParameter(\"sex\"))); mess.setTitle(request.getParameter(\"title\")); boolean flag = mbiz.add(mess); list = mbiz.select(0, 0); session.setAttribute(\"messlist\ tourl = \"main.jsp\";

} else if (\"delete\".equals(path)) { boolean flag = mbiz.delete(id); if (flag) { tourl = \"mana.jsp\"; MessBiz messbiz = new MessBiz(); List messlist = new ArrayList(); messlist = messbiz.select(0, 0); request.setAttribute(\"manamlist\ }

} else if (\"update\".equals(path)) {

11

第2章 功能实现

}

String content= request.getParameter(\"content\"); Mess mess =new Mess(); mess.setId(id); mess.setContent(content); boolean flag = mbiz.update(mess,\"u\"); //跳到首页面 List messlist = new ArrayList(); messlist = mbiz.select(0, 0); request.setAttribute(\"messlist\ tourl = \"main.jsp\";

} else if (\"toupdate\".equals(path)) { list = mbiz.select(1, id); Mess mess = (Mess) list.get(0); request.setAttribute(\"mess\ tourl = \"edit.jsp\";

} else if (\"toreply\".equals(path)) { list = mbiz.select(1, id); Mess mess = (Mess) list.get(0); request.setAttribute(\"mess\ tourl = \"reply.jsp\";

} else if (\"reply\".equals(path)) { String repcontext= request.getParameter(\"repcontext\"); Mess mess =new Mess(); mess.setId(id); mess.setRepcontext(repcontext); boolean flag = mbiz.update(mess,\"r\"); //跳到首页面 List messlist = new ArrayList(); messlist = mbiz.select(0, 0); request.setAttribute(\"messlist\ tourl = \"main.jsp\"; }else { list = mbiz.select(0, id); session.setAttribute(\"list\ tourl = \"\"; }

request.getRequestDispatcher(tourl).forward(request, response);

public void init() throws ServletException { }

12

总 结

总 结

本项目我试图用JSP+servlet开发一个留言板系统,并运行成功。能够有效地运用MVC开发模式去进行编程开发,并且掌握了MVC模式的核心思想,即:“视图”,“模型”以及“控制器”。Struts以及其他流行的WEB框架,我学的不太好,所以这次项目并未采用。我会继续学习框架的运用,争取下次开发运用到。并且只用了JDBC来连接数据库,并未采用更高技术层次的框架技术。

谢谢老师的教授。

13

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务