JSP+SQL道路维护情况管理子系统带地图工天预

基于JSP+SQL道路维护情况管理子系统带地图工天预mysql数据源
1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善

 代码已经上传github,下载地址https://github.com/21503882/road-mag
开发环境:
Eclipse ,MYSQL,JDK1.8,Tomcat 8.5
涉及技术点:
MVC模式、SpringBoot、Mybatis、Redis、HTML、log4j、druid、Bootstrap、
Semantic UI、Thymeleaf、JavaScript、CSS、JQUERY、Ajax等
适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat8.5,JDK版本1.8. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离
主要功能:

package com.df.zhenglong.controller.action;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.mail.EmailException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.util.DigestUtils;

import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;

import com.df.zhenglong.entity.Order;
import com.df.zhenglong.entity.Page;
import com.df.zhenglong.entity.User;
import com.df.zhenglong.service.PageService;
import com.df.zhenglong.service.UserService;
import com.df.zhenglong.utils.Base64;
import com.df.zhenglong.utils.Mail;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sun.mail.iap.Response;

@Controller
@Scope("prototype")
public class UserAction extends ActionSupport implements RequestAware,SessionAware,ModelDriven<User>{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    @Autowired
    private UserService userService;
    @Autowired
    private PageService pageService;
    private User model;
    private String username;
    private Long uid;//用户id号
    private String code;//验证码
     private int pagenum;//页码
        private Page page;
        
        public int getPagenum() {
            return pagenum;
        }
        public void setPagenum(int pagenum) {
            this.pagenum = pagenum;
        }
        public Page getPage() {
            return page;
        }
        public void setPage(Page page) {
            this.page = page;
        }
    public void setCode(String code) {
        this.code = code;
    }
    public String getCode() {
        return code;
    }
    public void setUid(Long uid) {
        this.uid = uid;
    }
    public Long getUid() {
        return uid;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getUsername() {
        return username;
    }
    //注册界面
    public String regUI(){
        return "regUI";
    }
    //测试dlbjqncfwpiwijaa
//    public String test(){
//     String smtp = "smtp.qq.com";// smtp服务器
//     String from = "[email protected]";// 邮件显示名称
//     String to = "[email protected]";// 收件人的邮件地址,必须是真实地址
//     String copyto = "";// 抄送人邮件地址
//     String subject = "测试邮件";// 邮件标题
//     String content = "你好!恭喜您,中了100万大奖";// 邮件内容
//     String username = "踽踽独行";// 发件人真实的账户名
//     String password = "dlbjqncfwpiwijaa";// 发件人密码
//     Mail.sendAndCc(smtp, from, to, copyto, subject, content, username, password);
//     return "test";
//    }
    //注册
    public String reg(){
        //使用MD5对密码进行加密(因为只能单向加密,不能解密,故不采用)
        //String password=DigestUtils.md5DigestAsHex(model.getPassword().getBytes());
        //使用base64进行加密
         
         String pw=Base64.getBase64(model.getPassword());
         model.setPassword(pw);
         userService.save(model);//插入数据库
         String smtp = "smtp.163.com";// smtp服务器
         String from = "[email protected]";// 邮件显示名称
         String to = model.getEmail();// 收件人的邮件地址,必须是真实地址
         String copyto = "";// 抄送人邮件地址
         String subject = "注册成功";// 邮件标题
         String content = "尊敬的用户,您好!感谢您注册东方小屋,请尽情享受此次购物之旅!";// 邮件内容
         String username = "[email protected]";// 发件人真实的账户名
         String password1 = "38386k6k9";// 发件人密码
         Mail.sendAndCc(smtp, from, to, copyto, subject, content, username, password1);
         return "reg";
        
    }
    //判断用户名是否重复
    
    public void isReg() throws IOException{
        HttpServletRequest requset=ServletActionContext.getRequest();
        HttpServletResponse response=ServletActionContext.getResponse();
        response.setContentType("text/html;charset=UTF-8");
        User user=userService.findByUsername(username);
        response.setContentType("text/html");
        if(user!=null){
            response.getWriter().write("用户名已存在,请更换");
            
        }else {
            response.getWriter().write("你可以使用这个用户名");
        }
        
    }
    //登录界面
    public String loginUI(){
        return "loginUI";
    }
    //用户登录
    public String login(){
        HttpSession session=ServletActionContext.getRequest().getSession();
        String code1=(String) session.getAttribute("checkCode");//从session里获取验证码
        //String password=DigestUtils.md5DigestAsHex(model.getPassword().getBytes());
        String password=Base64.getBase64(model.getPassword());
        User user=userService.findNameAndPsw(model.getUsername(),password);
        if(!(code1.equals(code))){
            return "tologin";//验证码错误的话,停留在loginUI界面
        }else{
            if(user!=null){
                //将用户信息放入session中
                sessionMap.put("user", user);
                return "login";
            }else {
                return "err";
            }
        }
    }
    //退出登录
    public String remove(){
        sessionMap.remove("user");
        return "remove";
    }
    
    //所有用户列表
//    public String list(){
//        //获取数据
//        List<User> userlist=userService.findAll();
//        //放到request域对象中
//        requestMap.put("userlist", userlist);
//        return "list";
//    }
    //导出用户Excel
        public String export() throws IOException{
            HttpServletRequest request=ServletActionContext.getRequest();
            HttpServletResponse response=ServletActionContext.getResponse() ;
            List<User> userlist=userService.findAll();
            HSSFWorkbook wb=userService.export(userlist);
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-disposition", "attachment;filename="+new String("用户信息.xls".getBytes(),"ISO-8859-1"));
            OutputStream outputStream=response.getOutputStream();
            wb.write(outputStream);
            outputStream.flush();
            outputStream.close();
            return "export";
        }
    //分页显示所有用户
    public String list(){
        this.page=pageService.queryForPageUser(3, pagenum);
        return "list";
    }
    
    //删除用户
    public String delete(){
        userService.delete(uid);
        return "toList";
    }
    //修改页面
    public String editUI(){
        
        return "editUI";
    }
    //修改用户信息
    public String edit(){
        model.setPassword(Base64.getBase64(model.getPassword()));
           userService.update(model);
           return "edit";
    }
    //查找密码界面
    public String findpwUI(){
        return "findpwUI";
    }
    //查找密码
    public String findpw(){
        User user=userService.findByUsername(model.getUsername());
        user.setPassword(Base64.getFromBase64(user.getPassword()));//将解密后的密码传过去
        requestMap.put("user", user);
        return "findpw";
    }
    @Override
    public User getModel() {
        if(uid!=null){
            model=userService.findById(uid);
        }else{
            model=new User();
        }
        return model; 
        
    }

    private Map<String, Object> requestMap;
    @Override
    public void setRequest(Map<String, Object> arg0) {
        this.requestMap=arg0;
        
    }
    private Map<String, Object> sessionMap;
    @Override
    public void setSession(Map<String, Object> arg0) {
        this.sessionMap=arg0;
        
    }

}
 

package com.ssm.mgmt.controller;

import com.ssm.mgmt.entity.User;
import com.ssm.mgmt.service.UserService;
import com.ssm.mgmt.util.MD5Util;

import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.Map;


@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;
    private Logger logger = LoggerFactory.getLogger(this.getClass());


    @RequestMapping(value = "/login", method = RequestMethod.POST)
    @ResponseBody
    public Object login(@RequestParam Map<String, String> param, HttpSession session) {
        return userService.login(param, session);
    }

    @RequestMapping(value = "/add",method = RequestMethod.POST)
    @ResponseBody
    public Object register(@RequestParam Map<String, String> param,HttpSession session){
       return userService.addUser(param,session);
    }

    @RequestMapping("/update")
    @ResponseBody
    public Object updateUser(@RequestParam Map<String, String> param,HttpSession session){
        return userService.updateUser(param,session);
    }

    /**
     * 退出系统
     * @param session
     * @return
     * @throws Exception
     */
    @RequestMapping("/logout")
    public String logout(HttpSession session)throws Exception{
        session.invalidate();
//        logger.info("request:user/logout");
//        return "redirect:/login.jsp";
        return null;
    }
    @RequestMapping("/disable")
    public String disable(User user,HttpServletResponse response)throws Exception{
        return null;
    }

}

 代码已经上传github,下载地址https://github.com/21503882/road-mag

发布了38 篇原创文章 · 获赞 10 · 访问量 4148

猜你喜欢

转载自blog.csdn.net/QQ21503882/article/details/102606694
今日推荐