基于SSM数据信息的小说网站

摘要

简单而言信息化就是为了人们的生活便利所带来的新时代的东西,有了淘宝、京东,我们可以进行网购漂亮的衣服;有了快手、抖音我们可以真实的感受主播给我们带来最真实的货物;有了美团我们可以在家就吃到全城的美食。这就是信息化带给我们的福利,别看一个小小的APP或者WEB应用,它能够解决的是社会上的某一类问题。企业资源计划ERP这类软件可能有很多人都听到过,熟悉它的人都知道一个小小的TOB应用软件可以指挥数以万计的企业员工有条不紊的进行着企业各项的生产任务。可想而知,信息化软件的力量足可以撼动整个企业乃至整个行业的情况。这次我们的设计所做的应用也是根据现实生活当中的需求来进行针对性的功能解决的,所有的业务也好,功能啥的都是根据实际的需求设计而来。各种各样应运而生的信息化软件都是为了解决生活当中的问题的,我们也不例外,就是为了能够解决这样或者那样的问题才进行的设计。随着近几年的疫情不断发展,居家办公的情况更多出现在人们的生活当中,那么一些单调无味的工作和生活就影响着人们的心情。小说的需求场景也就越来越多了,人们的娱乐方式也由此变得更加丰富些。电子小说的出现可以大概率的帮助人们随时随地进行小说的阅读,同时还能够搜寻出自己喜欢小说。

此次设计就是基于SSM实现的小说网站,了能够考虑到信息安全性和小说网站的数据访问程度,本此设计就采用了MYSQL数据库。另外,做为小说网站来说后面可能对系统进行必要的功能维护,所以在设计初期就采用了B/S的设计模式,就是为了能够在服务器更新完了就不用再客户端再做什么更新。同时,为了能够满足功能需求也就采用了JS语言。

****关键字:****小说网站;MYSQL数据库;SSM;

系统功能实现

首页

用户信息

后台管理页面

功能需求

基于数据信息的小说网站主要还是根据前后功能进行的有效区分,前台界面的主要功能需求有站内信息查看(搜索功能:通过作者、小说名、小说类型查找小说)、用户注册、小说列表查看(按章节查看,并且阅读,用户登录后收藏(付费或者免费查看,2种都要有,有些小说是免费的,有些小说需要付费)、在线支付、排行榜(包括热门小说、点击率)。后台网站的功能主要包括:用户管理(管理员和注册用户)、站内信息管理、小说类别管理、小说信息管理、章节信息管理、支付信息管理。

性能需求

性能需求这个词在一些软件系统中才有需要,并且还会有很多衡量性能需求的指标来进行判断,比如我们经常听到的并发数,或者在线人数等等,这些都是用来对性能需求分析进行体验的。除了这些以外,还有一些指标往往和页面访问时间或者数据查询请求时间来进行对比的,比如说在系统开发初期就会有些性能指标注明,统计性页面请求时间不超过几秒,非统计性页面请求不超过几秒等等。虽然在用户看来这些请求指标他们并不懂,但对于开发来说这些是衡量一个系统实力好坏的重要体现啊。

可行性分析

经济可行性

一说到经济可行性,那么必然会想到的就是钱,无论是做项目也好,承担毕业设计也好。一定是在经济可行性允许的条件下进行实施,如果说要。采购的软硬件设备的费用会很高很高,那么确实不适合经济可行性。还好,在本次设计中,我们采用了B/S的浏览模式,在经济上只需要一台电脑当作开发环境和部署环境即可,先开发在这台电脑上,开发完成后继续在这台电脑上进行一个部署。那么这样一来的话,我们可以通过浏览器访问,在经济上就没有什么压力。

技术可行性

对于技术而言来说,项目本身就是一个技术的实现,而我们在大学中所学的语言也是主流的语言,比如说对于后台语言来说有PHP 、Java等,对于数据库来说有MySQL、SQL server等,这些都是在大学当中平常的课程,所以在技术方面。我们所接触的是主流开源技术。如果一旦遇到了。技术上有不懂的问题,那么也可以通过互联网或者是其他同学得到帮助,这样一来,技术上完全是可行的。

操作可行性

操作可行性方面就是要考虑用户的习惯了,那么什么样的设计可能让用户感觉头疼,什么样的设计又能让用户感觉友好程度很高呢?这就需要我们在操作可行性上有所体现。所体现出来的。就目前而言,市面上所有BS的应用来说,布局方式、操作方法都是常见的那几种,所以我们只需参考他人成功的经验即可。在操作上,只要不做出任何奇形怪状的操作,那么对于操作可行性来说是完全没有问题的。

法律可行性

软件设计的可行性中有许许多多。其中最常见的一种可行性就是法律可行性。法律可行性呢,通常是指的软件儿在法律条件下的设计可行性。比如说我们设计一款软件,首先是要对他的思想或者是解决的社会问题进行一个能量型的考核,如果是他对社会性的问题,带来一些负能量的话,这种软件通常是法律可行性是不通过的。对于我们本次而言呢,其实市面上已经存在了,这样许许多多行业当中非常优秀的软件。我们只是仅仅通过一个细节的扩展,来去满足我们本次的毕业设计。所以法律可行性方面我们是一定符合法律可行性的。

部分代码

java 复制代码
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.Liuyanban;
//import com.chengxusheji.po.News;
import com.server.LiuyanbanServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class LiuyanbanController {
	@Resource
	private LiuyanbanServer liuyanbanService;


//	
   @RequestMapping("showLiuyanban.do")
   public String showLiuyanban(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", liuyanbanService.getAll(bmap));
	   map.put("liuyanban", liuyanbanService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addLiuyanban.do")
	public String addLiuyanban(HttpServletRequest request,Liuyanban liuyanban,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			
		    liuyanban.setAddtime(time.toString().substring(0, 19));
			liuyanbanService.add(liuyanban);
			session.setAttribute("backxx", "添加成功");
			session.setAttribute("backurl", "lybList.do");
			return "redirect:postback.jsp";
			//return "redirect:liuyanbanList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateLiuyanban.do")
	public String doUpdateLiuyanban(int id,ModelMap map,Liuyanban liuyanban){
		liuyanban=liuyanbanService.getById(id);
		map.put("liuyanban", liuyanban);
		return "liuyanban_updt";
	}
	
	
	
	@RequestMapping("doUpdateLiuyanbanlb.do")
	public String doUpdateLiuyanbanlb(int id,ModelMap map,Liuyanban liuyanban){
		liuyanban=liuyanbanService.getById(id);
		map.put("liuyanban", liuyanban);
		return "liuyanban_updtlb";
	}
	
@RequestMapping("updateLiuyanbanlb.do")
	public String updateLiuyanbanlb(int id,ModelMap map,Liuyanban liuyanban){
		liuyanbanService.updatelb(liuyanban);
		return "redirect:liuyanbanList.do";
	}
	
//	后台详细
	@RequestMapping("LiuyanbanDetail.do")
	public String LiuyanbanDetail(int id,ModelMap map,Liuyanban liuyanban){
		liuyanban=liuyanbanService.getById(id);
		map.put("liuyanban", liuyanban);
		return "liuyanban_detail";
	}
//	前台详细
	@RequestMapping("lybDetail.do")
	public String lybDetail(int id,ModelMap map,Liuyanban liuyanban){
		liuyanban=liuyanbanService.getById(id);
		map.put("liuyanban", liuyanban);
		return "liuyanbandetail";
	}
//	
	@RequestMapping("updateLiuyanban.do")
	public String updateLiuyanban(int id,ModelMap map,Liuyanban liuyanban){
		liuyanbanService.update(liuyanban);
		return "redirect:liuyanbanList.do";
	}

//	分页查询
	@RequestMapping("liuyanbanList.do")
	public String liuyanbanList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Liuyanban liuyanban, String cheng, String xingbie, String QQ, String youxiang, String shouji, String neirong, String huifuneirong){
		/*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);
		
		
		if(cheng==null||cheng.equals("")){pmap.put("cheng", null);}else{pmap.put("cheng", cheng);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(QQ==null||QQ.equals("")){pmap.put("QQ", null);}else{pmap.put("QQ", QQ);}
		if(youxiang==null||youxiang.equals("")){pmap.put("youxiang", null);}else{pmap.put("youxiang", youxiang);}
		if(shouji==null||shouji.equals("")){pmap.put("shouji", null);}else{pmap.put("shouji", shouji);}
		if(neirong==null||neirong.equals("")){pmap.put("neirong", null);}else{pmap.put("neirong", neirong);}
		if(huifuneirong==null||huifuneirong.equals("")){pmap.put("huifuneirong", null);}else{pmap.put("huifuneirong", huifuneirong);}
		
		int total=liuyanbanService.getCount(pmap);
		pageBean.setTotal(total);
		List<Liuyanban> list=liuyanbanService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "liuyanban_list";
	}
	
	
	
	@RequestMapping("lybList.do")
	public String lybList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Liuyanban liuyanban, String cheng, String xingbie, String QQ, String youxiang, String shouji, String neirong, String huifuneirong){
		/*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);
		
		
		if(cheng==null||cheng.equals("")){pmap.put("cheng", null);}else{pmap.put("cheng", cheng);}
		if(xingbie==null||xingbie.equals("")){pmap.put("xingbie", null);}else{pmap.put("xingbie", xingbie);}
		if(QQ==null||QQ.equals("")){pmap.put("QQ", null);}else{pmap.put("QQ", QQ);}
		if(youxiang==null||youxiang.equals("")){pmap.put("youxiang", null);}else{pmap.put("youxiang", youxiang);}
		if(shouji==null||shouji.equals("")){pmap.put("shouji", null);}else{pmap.put("shouji", shouji);}
		if(neirong==null||neirong.equals("")){pmap.put("neirong", null);}else{pmap.put("neirong", neirong);}
		if(huifuneirong==null||huifuneirong.equals("")){pmap.put("huifuneirong", null);}else{pmap.put("huifuneirong", huifuneirong);}
		
		int total=liuyanbanService.getCount(pmap);
		pageBean.setTotal(total);
		List<Liuyanban> list=liuyanbanService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "lyblist";
	}
	
	@RequestMapping("deleteLiuyanban.do")
	public String deleteLiuyanban(int id,HttpServletRequest request){
		liuyanbanService.delete(id);
		String url = request.getHeader("Referer");
		return "redirect:"+url;
		//return "redirect:liuyanbanList.do";
	}
	
	
}
相关推荐
@淡 定4 分钟前
缓存原理详解
java·spring·缓存
带刺的坐椅9 分钟前
超越 SpringBoot 4.0了吗?OpenSolon v3.8, v3.7.4, v3.6.7 发布
java·ai·springboot·web·solon·flow·mcp
就叫飞六吧9 分钟前
基于spring web实现简单分片上传demo
java·前端·spring
apihz16 分钟前
免费手机号归属地查询API接口详细教程
android·java·运维·服务器·开发语言
程序员小假17 分钟前
学院本大二混子终于找到实习了...
java·后端
回吐泡泡oO18 分钟前
找不到rar.RarArchiveInputStream?JAVA解压RAR5的方案。
java·开发语言
jiayong2320 分钟前
AI应用领域编程语言选择指南:Java vs Python vs Go
java·人工智能·python
bjzhang7524 分钟前
IDEA 2025.3重磅发布,Ultimate 终极版和 Community社区版二合一,免费版可商用
java·idea
程序猿零零漆26 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(三)Bean的依赖注入配置、Spring的其它配置标签
java·学习·spring
TT哇29 分钟前
@AllArgsConstructor
java·开发语言