基于JSP的JSP+MYSQL个人通讯录系统系统javaweb个人通讯录系统系统mysql数据源
1.包含源程序,数据库脚本。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善。
开发环境:
Eclipse ,MySQL 5.1,JDK1.7,Tomcat 7
涉及技术点:
MVC模式、JavaWeb、JDBC、HTML、CSS、JQUERY、分页、等。
使用工具:
后台界面 -> beyond
提示框 -> x0popup
编辑器 -> WangEditor
下拉菜单 -> Select2
头像上传 -> ajaxfileupload
URL重写 -> urlrewrite
上传 -> Smartupload
项目功能:
登录,注册,评论,新闻管理,评论管理,分类管理,用户管理,用户组管理(权限),基本设置,站点设置
技术描述:使用MVC模式进行设计项目架构,使用JavaEE核心技术Servlet+Jsp+Filter, 使用Filter设置编码和权限校验。前端使用JS发送Ajax发送异步请求。对较多数据自定义进行分页。
主要功能:
5.1.1普通系统功能模块
(1) 个人资料模块:普通用户可以根据需要修改自己的详细信息,如密码等;
(2) 联系人管理模块:根据需要对联系人信息进行添加、修改、删除操作。
(3) 浏览公告模块:普通用户登录系统后可以浏览管理员发布的公告信息;
(4) 在线留言模块:用户可以自由留言,发表自己的一些想法;
普通用户功能结构图如图5.1所示。
图5.1 系统前台用户功能结构图
5.1.2管理员功能模块
(1) 修改个人密码:根据需要修改自己的登录密码;
(2) 用户管理模块:对用户信息进行维护,可以删除和查询用户信息。
(3) 公告信息模块:发布一些公告信息;
(4) 留言管理模块:管理员可以对留言进行删除、查询等操作。
管理员功能结构图如图5.2所示。
图5.2 系统后台管理员功能结构图
普通用户登录
管理员登录
package com.wnliam.uqdate.controller;
import com.wnliam.uqdate.info.FileInfo;
import com.wnliam.uqdate.util.GetPathUtil;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.Date;
/**
* @Description: 控制上传下载的Controller
* @Author: Wnliam
* @CreateDate: 2019/1/16 14:28
* @UpdateUser: Wnliam
* @UpdateDate: 2019/1/16 14:28
* @UpdateRemark: 修改内容
* @Version: 1.0
*/
@Controller
@RequestMapping("/file")
public class UPandDOWNFileController {
//存放文件的路径 ,这里直接放到controller文件夹下
private String folder = "";
public UPandDOWNFileController() throws FileNotFoundException {
folder = GetPathUtil.getJarRootPath() + "/static";
}
/**
* 文件上传
* @param file
* @return
* @throws IOException
*/
@PostMapping
public void update(@RequestParam(value="file",required=false)MultipartFile file,@RequestParam(value = "openid")
String openID) throws IOException {
/**
* 注意:file名字要和传入的name一致
*/
System.out.println("openid:"+openID);
System.out.println("file name=" + file.getName());
System.out.println("origin file name=" + file.getOriginalFilename());
System.out.println("file size=" + file.getSize());
System.out.println("file folder=" + folder);
String filepath = folder + "/" + openID;
/**
* 这里是写到本地
* 还可以用file.getInputStrem()
*/
File localFile = new File(filepath, file.getOriginalFilename());
File fileParent = localFile.getParentFile();
//判断是否存在
if (!fileParent.exists()) {
//创建父目录
fileParent.mkdirs();
}
localFile.createNewFile();
//把传入的文件写到本地文件
file.transferTo(localFile);
// return new FileInfo(localFile.getAbsolutePath()); //getAbsolutePath为绝对路径
}
/**
* 文件的下载
*/
@RequestMapping(value = "/download")
public void download(@RequestParam("filename")String fileName, @RequestParam("openid") String openID, HttpServletResponse response) {
String filepath = folder + "/" + openID;
File dfile = new File(filepath,fileName);
try (
//jdk7新特性,可以直接写到try()括号里面,java会自动关闭
InputStream inputStream = new FileInputStream(dfile);
OutputStream outputStream = response.getOutputStream()
) {
//指明为下载
response.setContentType("application/x-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
//把输入流copy到输出流
IOUtils.copy(inputStream, outputStream);
outputStream.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.gean.service;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gean.dao.CompanyDao;
import com.gean.dao.UserDao;
import com.gean.entity.Company;
import com.gean.entity.User;
public class ComRegisterServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public ComRegisterServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
User user=new User();
Company company=new Company();
UserDao userDao=new UserDao();
CompanyDao companyDao=new CompanyDao();
user.setName(new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"));
user.setTele(request.getParameter("tele"));
user.setPasswd(request.getParameter("passwd"));
user.setClassify("com");
company.setName(new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8"));
company.setScale("Scale");
company.setAddress("Address");
company.setDetail("detail");
if(userDao.findByTele(user.getTele())==false){
userDao.addUser(user);
companyDao.add(company);
request.setAttribute("result", "注册成功!");
}else{
request.setAttribute("result", "注册失败!");
}
RequestDispatcher rd=request.getRequestDispatcher("/html/Wait.jsp");
rd.forward(request, response);
out.flush();
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}