基于JSP的JSP MYSQL个人通讯录系统系统javaweb个人通讯录系统系统mysql数据源

基于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
	}

}

 


版权声明:本文为QQ80213251原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。