基于javaweb的SSM小说在线阅读系统(前台阅读+后台管理)(java+ssm+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

310023002402

330023002402

340023002402

350023002402

360023002402

基于javaweb的SSM小说在线阅读系统(前台阅读+后台管理)(java+ssm+jsp+mysql)

一、项目简述

功能包括(管理员和游客角色):

1:用户及主要操作功能 游客可以浏览网站的主页,但是需要注册为会员后部分小 说才能对网络小说进免费行阅读或阅读。用户可以收藏书 架,留言评论,上次阅读,阅读历史,章节选择等等功 能。

2:管理模块 网络小说管理模块包括不同网络小说类别的添加,删除以 及网络小说的上传,删除管理。可以包括武侠小书,都市 言情,穿越小书等各个类等等功能。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax等等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47



@Controller
public class LoginAction{

@Autowired
LoginManager loginManager;

/**
* @Title: InSystem
* @Description: 用户登录
* @return String
*/
@RequestMapping(value="admin/LoginInSystem.action",method=RequestMethod.POST)
public String InSystem(User params,
ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){
try {
String random = (String)httpSession.getAttribute("random");
if (!random.equals(params.getRandom())) {
model.addAttribute("tip","验证码错误");
model.addAttribute("params",params);
return "login";
}

//用户登录查询
params.setUser_type(2);
User admin = loginManager.getUser(params);
if (admin!=null) {
httpSession.setAttribute("admin", admin);
}else {
model.addAttribute("tip","用户名或密码错误");
model.addAttribute("params",params);
return "login";
}

} catch (Exception e) {
e.printStackTrace();
model.addAttribute("tip","登录异常,请稍后重试");
model.addAttribute("params",params);
return "login";
}

return "redirect:index.jsp";
}

/**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
			}
model.addAttribute("tip", "ok");
model.addAttribute("filename",file_name);
model.addAttribute("filenameGBK",old_name);
model.addAttribute("filelength",Math.round(file.getSize()/1024.0));
return returnPage;
} catch (Exception e) {
System.out.println(e.getMessage());
model.addAttribute("tip", "no");
model.addAttribute("errorString", "后台服务器异常");
return returnPage;
}
}
}
package com.nkl.page.action;





@Controller
public class UploadIndexAction {
public static String path = "prop/database.properties"; //保存数据库连接信息的属性文件的相对路径
public static Properties props = new Properties();
static{
props = new Properties();
try {
props.load(UploadIndexAction.class.getClassLoader().getResourceAsStream(path));
} catch (Exception e) {
props = new Properties();
}
}

/**
* @Title: UploadImg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
	try {
//验证用户会话是否失效
if (!validateAdmin(httpSession)) {
return "loginTip";
}
//保存修改个人信息
adminManager.updateUser(paramsUser);
//更新session
User admin = new User();
admin.setUser_id(paramsUser.getUser_id());
admin = adminManager.getUser(admin);
httpSession.setAttribute("admin", admin);

setSuccessTip("编辑成功", "modifyInfo.jsp", model);
} catch (Exception e) {
e.printStackTrace();
setErrorTip("编辑异常", "modifyInfo.jsp", model);
}
return "infoTip";
}

/**
* @Title: saveAdminPass
* @Description: 保存修改个人密码
* @return String
*/
@RequestMapping(value="admin/Admin_saveAdminPass.action")
public String saveAdminPass(User paramsUser,
ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){
try {
//验证用户会话是否失效
if (!validateAdmin(httpSession)) {
return "loginTip";
}
User admin = (User)httpSession.getAttribute("admin");
if (!admin.getUser_pass().equals(paramsUser.getUser_passOld())) {
setErrorTip("修改异常,原密码不正确", "modifyPwd.jsp", model);
return "infoTip";
}
//保存修改个人密码
adminManager.updateUser(paramsUser);
//更新session
if (admin!=null) {
admin.setUser_pass(paramsUser.getUser_pass());
httpSession.setAttribute("admin", admin);
}

setSuccessTip("修改成功", "modifyPwd.jsp", model);
} catch (Exception e) {
setErrorTip("修改异常", "modifyPwd.jsp", model);
}
return "infoTip";
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
			String errorString=UploadFile.upload(file, saveFile, file.getContentType(), file.getSize(), allowedTypes,Long.parseLong(props.getProperty("maximunSize")));
//判断上传结果
if(!"".equals(errorString))
{
System.out.println(errorString);
model.addAttribute("tip", "no");
model.addAttribute("errorString", errorString);
return returnPage;
}
model.addAttribute("tip", "ok");
model.addAttribute("filename",file_name);
model.addAttribute("filenameGBK",old_name);
model.addAttribute("filelength",Math.round(file.getSize()/1024.0));
return returnPage;
} catch (Exception e) {
System.out.println(e.getMessage());
model.addAttribute("tip", "no");
model.addAttribute("errorString", "后台服务器异常");
return returnPage;
}
}
}
package com.nkl.page.action;





@Controller
public class UploadIndexAction {
public static String path = "prop/database.properties"; //保存数据库连接信息的属性文件的相对路径
public static Properties props = new Properties();
static{
props = new Properties();
try {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	
return "bookTypeShow";
}

/**
* @Title: addBookTypeShow
* @Description: 显示添加图书类型页面
* @return String
*/
@RequestMapping(value="admin/Admin_addBookTypeShow.action")
public String addBookTypeShow(ModelMap model){
return "bookTypeEdit";
}

/**
* @Title: addBookType
* @Description: 添加图书类型
* @return String
*/
@RequestMapping(value="admin/Admin_addBookType.action")
public String addBookType(BookType paramsBookType,
ModelMap model,HttpServletRequest request,HttpServletResponse response,HttpSession httpSession){
try {
//检查图书类型是否存在
BookType bookType = new BookType();
bookType.setBook_type_name(paramsBookType.getBook_type_name());
bookType = adminManager.queryBookType(bookType);
if (bookType!=null) {
model.addAttribute("tip","失败,该类型已经存在!");
model.addAttribute("bookType", paramsBookType);
return "bookTypeEdit";
}

//添加图书类型
adminManager.addBookType(paramsBookType);

setSuccessTip("添加成功","Admin_listBookTypes.action",model);
} catch (Exception e) {
setErrorTip("添加图书类型异常","Admin_listBookTypes.action",model);
}

return "infoTip";
}


/**
* @Title: editBookType
* @Description: 编辑图书类型
* @return String


项目链接:
https://javayms.github.io?id=471422282105200dr
https://javayms.pages.dev?id=471422282105200dr