项目技术:
系统使用技术:Servlet
前端技术:Jquery及插件、Ueditor、js、css等
开发工具:idea
数据库:mysql5.7
项目介绍:
本系统是一个云笔记系统,使用Java语言,Servlet技术开发,数据库采用mysql,具有基本的笔记业务功能,有详细的设计文档。
功能概述:
部分功能展示:
系统登录:
系统首页
查看系统首页,,可以根据日期或者分类进行查看,也可以搜索
维护类别
对笔记类别进行维护
笔记发布
可以对笔记进行格式编辑后发布
个人中心
可以改个人信息,或者头像等
数据统计
对笔记按照日期进行统计
展示笔记发布地
发布笔记时会登记笔记所处经纬度,在地图上进行展示
部分代码(代码注释详细):
/**
* 修改用户信息
注:文件上传必须在Servlet类上提那家注解!!! @MultipartConfig
1. 调用Service层的方法,传递request对象作为参数,返回resultInfo对象
2. 将resultInfo对象存到request作用域中
3. 请求转发跳转到个人中心页面 (user?actionName=userCenter)
* @param request
* @param response
*/
private void updateUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1. 调用Service层的方法,传递request对象作为参数,返回resultInfo对象
ResultInfo<User> resultInfo = userService.updateUser(request);
// 2. 将resultInfo对象存到request作用域中
request.setAttribute("resultInfo", resultInfo);
// 3. 请求转发跳转到个人中心页面 (user?actionName=userCenter)
request.getRequestDispatcher("user?actionName=userCenter").forward(request, response);
}
/**
* 验证昵称的唯一性
* 1. 获取参数(昵称)
* 2. 从session作用域获取用户对象,得到用户ID
* 3. 调用Service层的方法,得到返回的结果
* 4. 通过字符输出流将结果响应给前台的ajax的回调函数
* 5. 关闭资源
* @param request
* @param response
*/
private void checkNick(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 1. 获取参数(昵称)
String nick = request.getParameter("nick");
// 2. 从session作用域获取用户对象,得到用户ID
User user = (User) request.getSession().getAttribute("user");
// 3. 调用Service层的方法,得到返回的结果
Integer code = userService.checkNick(nick, user.getUserId());
// 4. 通过字符输出流将结果响应给前台的ajax的回调函数
response.getWriter().write(code + "");
// 5. 关闭资源
response.getWriter().close();
}
/**
* 加载头像
* 1. 获取参数 (图片名称)
* 2. 得到图片的存放路径 (request.getServletContext().getealPathR("/"))
* 3. 通过图片的完整路径,得到file对象
* 4. 通过截取,得到图片的后缀
* 5. 通过不同的图片后缀,设置不同的响应的类型
* 6. 利用FileUtils的copyFile()方法,将图片拷贝给浏览器
* @param request
* @param response
*/
private void userHead(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 1. 获取参数 (图片名称)
String head = request.getParameter("imageName");
// 2. 得到图片的存放路径 (得到项目的真实路径:request.getServletContext().getealPathR("/"))
ClassPathResource classPathResource = new ClassPathResource("db.properties"); //这里的填写的参数是配置文件的相对路径
properties.load(new InputStreamReader(classPathResource.getStream(),"utf-8")); //文件流的编码方式
String realPath = properties.getProperty("upload");
// 3. 通过图片的完整路径,得到file对象
File file = new File(realPath + "/" + head);
// 4. 通过截取,得到图片的后缀
String pic = head.substring(head.lastIndexOf(".")+1);
// 5. 通过不同的图片后缀,设置不同的响应的类型
if ("PNG".equalsIgnoreCase(pic)) {
response.setContentType("image/png");
} else if ("JPG".equalsIgnoreCase(pic) || "JPEG".equalsIgnoreCase(pic)) {
response.setContentType("image/jpeg");
} else if ("GIF".equalsIgnoreCase(pic)) {
response.setContentType("image/gif");
}
// 6. 利用FileUtils的copyFile()方法,将图片拷贝给浏览器
FileUtils.copyFile(file, response.getOutputStream());
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,而且也与当前的热点话题关联,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。