Java基于JSP个人博客网站设计与实现
随着人类的发展,人们的生活越来越信息化,如何在浩瀚的互联网展示自己的一些个人信息是很多人所关心的问题,这个时候个人博客的出现完美的解决了这一问题。
本文以实际运用为开发背景,运用软件工程原理和开发方法,采用JSP技术构建一个基于B/S模式的个人博客系统,本系统实现了用户注册登录,发布博文,发布图片,查看他人的博文,他人的图片和对文章进行评论等功能,然后用户还以在博客后台管理自己的个人博客信息,管理员是系统的最高权限用户,可以管理所有的博客信息。通过这些功能基本可以满足一个个人博客的需求,也可以让更多的人通过本系统来展示自己的一些个人信息
本系统是在MyEclipse平台上进行编写的,它是Eclipse中一种有名的插件之一,同样也是用JAVA语言开发的。同样它不只支持JAVA,它还支持Android等其他语言,这样我们可以利用MyEclipse软件进行源代码开发。
面向对象设计:将面向对象思想应用在软件开发过程中就得到了面向对象设计,它是和编程语言无关的,它只用来描述软件设计,是建立在“对象”概念基础上的方法学,但它的实现依然要靠面向对象类的编程语言。它基于对象这个概念,一个对象定义具有相似性质的所有对象以类和继承为构造机制来构建软件系统。在客观上,对象具有封装性,实体与对象有直接对应关系。
本博客系统分为前台和后台两部分,前台部分主要是给用户使用的,后台部分主要是给管理员使用的,具体描述如下
前台部分功能介绍
- 注册登录,用户通过注册登录后现在发布文博和图片,已经评论他人的文章
- 最新博文,主要是查看系统内的用户发布的最新的博文信息
- 最新图片,主要是查看系统内用户发布的最新的图片信息
- 博主首页,该页面主要是展示博主的个人主页信息
- 博主博文,针对单独的博主展示的博主博文信息
- 博主照片,针对单独的博主展示的博主图片信息
- 修改密码,注册用户修改自己的个人密码
- 退出系统,当用户不再使用本系统的时候,可以退出系统
后台部分功能介绍 - 后台登录,管理员可以通过自己的账号和密码登录到后台
- 图片信息管理,管理员可以管理博主发布的图片信息
- 博文信息管理,管理员可以管理博主发布的博文信息
- 评论信息管理,管理员可以管理用户的评论信息
- 用户信息管理,主要是管理注册用户的信息
- 修改密码,管理员可以修改自己的个人密码
package com.controller;import java.io.File;
import java.io.IOException;import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;@Controller
public class AllusersController {@Resourceprivate AllusersServer allusersService;// @RequestMapping("showAllusers.do")public String showAllusers(int id,ModelMap map,HttpSession session){/* Map<String,Object> bmap=new HashMap<String,Object>();bmap.put("uid", id);*/// map.put("blist", allusersService.getAll(bmap));map.put("allusers", allusersService.getById(id));return "read";}@RequestMapping("addAllusers.do")public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){Timestamp time=new Timestamp(System.currentTimeMillis());//Users u=(Users)session.getAttribute("user");/*if(u==null||u.equals("")){return "redirect:showIndex.do";}else{*///bbs.setUid(u.getId());/*bbs.setPubtime(time.toString());bbs.setIsdel("1");*/allusers.setAddtime(time.toString().substring(0, 19));allusersService.add(allusers);return "redirect:allusersList.do";/*}*/}// 处理编辑@RequestMapping("doUpdateAllusers.do")public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){allusers=allusersService.getById(id);map.put("allusers", allusers);return "allusers_updt";}
// @RequestMapping("updateAllusers.do")public String updateAllusers(int id,ModelMap map,Allusers allusers){allusersService.update(allusers);return "redirect:allusersList.do";}
// 所有List
// @RequestMapping("allusersList.do")
// public String allusersList(ModelMap map,HttpSession session){
// map.put("list", allusersService.getAll(null));
// map.put("clist", allusersService.getAll(null));
// return "allusers";
// }
// 分页查询@RequestMapping("allusersList.do")public String goodList(@RequestParam(value="page",required=false)String page,ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){/*if(session.getAttribute("user")==null){return "login";}*/if(page==null||page.equals("")){page="1";}PageBean pageBean=new PageBean(Integer.parseInt(page), 15);Map<String, Object> pmap=new HashMap<String,Object>();pmap.put("pageno", pageBean.getStart());pmap.put("pageSize", 15);Map<String, Object> bmap=new HashMap<String, Object>();Map<String,Object> cmap=new HashMap<String,Object>();/*pmap.put("uid", ((Users)session.getAttribute("user")).getId());bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}int total=allusersService.getCount(bmap);pageBean.setTotal(total);List<Allusers> list=allusersService.getByPage(pmap);map.put("page", pageBean);map.put("list", list);session.setAttribute("p", 1);return "allusers_list";}
// 分页模糊查询@RequestMapping("vagueAllusersList.do")public String vagueAllusersList(@RequestParam(value="page",required=false)String page,ModelMap map,HttpSession session){if(page==null||page.equals("")){page="1";}PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);Map<String, Object> pmap=new HashMap<String,Object>();pmap.put("pageno", pageBean.getStart());pmap.put("pageSize", pageBean.getPageSize());Map<String, Object> bmap=new HashMap<String, Object>();/*pmap.put("uid", ((Users)session.getAttribute("user")).getId());bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/int total=allusersService.getCount(bmap);pageBean.setTotal(total);List<Allusers> list=allusersService.getByPage(pmap);map.put("page", pageBean);map.put("list", list);session.setAttribute("p", 2);return "queryallusers";}@RequestMapping("deleteAllusers.do")public String deleteAllusers(int id){allusersService.delete(id);return "redirect:allusersList.do";}@RequestMapping("quchongAllusers.do")public void quchongAllusers(Allusers allusers,HttpServletResponse response){Map<String,Object> map=new HashMap<String,Object>();map.put("username", allusers.getUsername());System.out.println("username==="+allusers.getUsername());System.out.println("username222==="+allusersService.quchongAllusers(map));JSONObject obj=new JSONObject();if(allusersService.quchongAllusers(map)!=null){obj.put("info", "ng");}else{obj.put("info", "username可以用!");}response.setContentType("text/html;charset=utf-8");PrintWriter out=null;try {out=response.getWriter();out.print(obj);out.flush();} catch (IOException e) {e.printStackTrace();}finally{out.close();}}@RequestMapping("Alluserslogin.do")public String checkAllusersLogin(Allusers allusers, HttpSession session) {Map<String,Object> u=new HashMap<String,Object>();System.out.println("name===" + allusers.getUsername());u.put("username",allusers.getUsername());//u.put("utype", "用户");//Md5.MD5HexEncode(user.getPassword())u.put("pwd",allusers.getPwd());allusers = allusersService.allusersLogin(u);if (allusers != null) {session.setAttribute("username", allusers);System.out.println("username=" + allusers);session.removeAttribute("suc");return "redirect:index.do";} else {System.out.println("usernafwfwwme=");session.setAttribute("suc", "登录失败!用户名或密码错误!");return "login";}}
}
目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37
Java基于JSP个人博客网站设计与实现相关推荐
- python flask实现博客系统_基于Flask的博客网站设计与实现
涂远杰 郑剑 摘要:该博客系统是一款分享型博客,注重个人的学习心得.生活等方面的记录.后台基于Python中的Flask框架开发,还涉及爬虫,数据库使用的是轻型的SQLite,同时,前端页面的实现涉及 ...
- 基于JSP的博客网站建设,源码下载
大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON.PHP.C#.安卓等多项技术. 今天将为大家分析一个BLOG网站建设(采用当前非常流行的B/ ...
- java毕业论文_【毕业论文】基于java的博客网站设计与开发毕业论文(word文档)
<[毕业论文]基于java的博客网站设计与开发毕业论文.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于java的博客网站设计与开发毕业论文(word文档)>相 ...
- java开发论文答辩_毕业设计答辩基于JavaWeb的博客网站的设计与实现.ppt
毕业设计答辩基于JavaWeb的博客网站的设计与实现 博客网站的设计与实现 --指导老师 XXXXX 学生 XXXXX 毕业答辩 一.研究背景和内容 二.系统环境的配置 三.系统使用的技术 四.系统概 ...
- 基于Java/Mysql的个人博客网站
3年前写的一个技术博客...纪念一下. OpenIdea Blog - 开源灵感博客 a personal blog site based on Java/Mysql - 基于Java/Mysql的个 ...
- asp毕业设计——基于asp+access的博客网站设计与实现(毕业论文+程序源码)——博客网站
基于asp+access的博客网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的博客网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...
- 基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA基于网络平台个人博客系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 计算机毕业设计JAVA基于Bootstrap框架的读书网站设计与实现mybatis+源码+调试部署+系统+数据库+lw
计算机毕业设计JAVA基于Bootstrap框架的读书网站设计与实现mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA基于Bootstrap框架的读书网站设计与实现mybati ...
- java毕业设计大学生个人博客网站Mybatis+系统+数据库+调试部署
java毕业设计大学生个人博客网站Mybatis+系统+数据库+调试部署 java毕业设计大学生个人博客网站Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
最新文章
- NAACL | 通过对抗性修改,探究链接预测的鲁棒性和可解释性
- Winform开发框架之插件化应用框架实现
- 成功解决label_error >= 0 label_error < static_cast<int>(nclass) MultiClassEvaluation: label must be i
- cv2 orb 图像拼接_OpenCV 实现多张图像拼接
- 如何使用区块链技术进行项目开发
- 在oracle中如何复制用户的权限不够,linux 普通用户下 移动或复制一个zip文件权限不够怎么办...
- 执行git命令时提示秘钥权限太开放‘Permissions 0644 for ‘/Users/liuml/.ssh/id_rsa_tz‘ are too open.’
- LeetCode 2140. 解决智力问题(动态规划)
- 初探EntityFramework——空Code First模型
- 多线程python实现方式_python多线程的两种实现方式(代码教程)
- python 刷票_Python刷票器的简单实现
- 开发Connext DDS传输插件不用求人,看这一篇就够了
- WeChat8Xposed通用hook框架适配新版微信-单元测试适配新微信
- 无线通信设备安装工程概预算编制_电气设备安装工程计价与应用
- 英语四级单选测试软件,英语四级报告单选纸质还是电子?选择电子版报告单可能更好...
- 视频号还是直播?2021年微信财富密码预言
- 主元分析matlab,主元分析不同方法计算结果不一样
- 将多个sheet页拆分成多个单独的excel
- Visual Studio 2010的Productivity Power Tool扩展
- Excel简单函数运用
热门文章
- 学习笔记---------安卓动画
- 数据化决策-数据分析与高效经营1
- mysql数据库recover_xxx数据库恢复 mariadb数据库误删除恢复 mysql数据库被黑删库恢复
- 基于LM324四运放的复合信号发生器(17年电赛国赛题)
- 多功能时钟电路的设计框图_详解通用串行总线USB,工作原理、接口电路设计
- 如何设置自定义任务栏图标_轻松自定义Windows 7任务栏图标
- android authority root galaxy s5,三星G9006v (Galaxy S5 联通4G)一键ROOT教程,看教程秒懂ROOT...
- 风云编程python基础语法(5)
- coreldraw 长方体_用coreldraw 11制作铅笔_coreldraw教程
- Tecohoo VD-306S 全高清视频会议摄像机