springMVC+mysql实现的Java web学生成绩管理系统

今天给大家演示一下一款由spring mvc+mysql实现的学生成绩管理系统,系统主要实现的功能有:学生信息管理、成绩信息管理(包括excel的导入导出)、教师信息管理、用户信息管理、角色权限管理、菜单管理等,功能比较完善,此外还配有论文及模块文档,项目完整源码及视频指导运行教程和论文在最下面有获取方式,

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

springMVC+mysql实现的Java web学生成绩管理系统_第1张图片

springMVC+mysql实现的Java web学生成绩管理系统_第2张图片

springMVC+mysql实现的Java web学生成绩管理系统_第3张图片

springMVC+mysql实现的Java web学生成绩管理系统_第4张图片

springMVC+mysql实现的Java web学生成绩管理系统_第5张图片

springMVC+mysql实现的Java web学生成绩管理系统_第6张图片

springMVC+mysql实现的Java web学生成绩管理系统_第7张图片

springMVC+mysql实现的Java web学生成绩管理系统_第8张图片

springMVC+mysql实现的Java web学生成绩管理系统_第9张图片

springMVC+mysql实现的Java web学生成绩管理系统_第10张图片

 

package com.bjpowernode.system.controller;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
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.log4j.Logger;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;

import com.bjpowernode.common.util.AjaxJson;
import com.bjpowernode.common.util.ContextHolderUtils;
import com.bjpowernode.common.util.ResourceUtil;
import com.bjpowernode.common.util.SystemConstant;
import com.bjpowernode.system.entity.base.ResourceEntity;
import com.bjpowernode.system.entity.base.RoleEntity;
import com.bjpowernode.system.entity.base.UserEntity;
import com.bjpowernode.system.manager.ClientManager;
import com.bjpowernode.system.service.SystemService;
import com.bjpowernode.system.vo.Client;
import com.bjpowernode.system.vo.TreeNode;

@Controller
@RequestMapping("/loginController")
public class LoginController {

    private static final Logger logger = Logger.getLogger(LoginController.class);
    
    @Autowired
    private SystemService systemService;
    
    /**
     * 登陆页
     * @param error
     * @param model
     * @return
     */
    @RequestMapping(params="login")
    public ModelAndView login(HttpServletRequest request){
        return new ModelAndView("system/login");
    }
    
    @RequestMapping(params="home")
    public ModelAndView home(HttpServletRequest request){
        return new ModelAndView("system/home");
    }
    /**
     * 退出系统
     * 
     * @param user
     * @param req
     * @return
     */
    @RequestMapping(params = "logout")
    public ModelAndView logout(HttpServletRequest request, HttpServletResponse response) {
        HttpSession session = ContextHolderUtils.getSession();
        ClientManager.getInstance().removeClinet(session.getId());
        session.invalidate();
        ModelAndView modelAndView = new ModelAndView(new RedirectView(
                "loginController.do?login"));

        return modelAndView;
    }
    
    @RequestMapping(params="doLogin")
    public ModelAndView doLogin(HttpServletRequest req){
        ModelAndView mav = new ModelAndView("system/main");
        HttpSession session = ContextHolderUtils.getSession();
        Client client = ClientManager.getInstance().getClient(session.getId());
        req.setAttribute("username", client.getUser().getUsername());
        return mav;
    }
    
    @RequestMapping(params="doCheck")
    @ResponseBody
    public AjaxJson doCheck(HttpServletRequest req,String username, String password, String captcha){
        HttpSession session = ContextHolderUtils.getSession();
        AjaxJson j = new AjaxJson();
        
        if(!captcha.equalsIgnoreCase(String.valueOf(session.getAttribute(SystemConstant.KEY_CAPTCHA)))){
            j.setSuccess(false);
            j.setMsg("验证码错误!");
        }else{
            UserEntity user = new UserEntity();
            user.setUsername(username);
            user.setPassword(password);
            user = this.systemService.getUserByNameAndPassword(user);
            if(user == null){
                j.setSuccess(false);
                j.setMsg("用户名或密码错误!");
                return j;
            }
            List resourceList = new ArrayList();
            List roleList = user.getRoles();
            for(RoleEntity re : roleList){
                List tempRes = re.getResource();
                for(ResourceEntity res : tempRes){
                    if(!resourceList.contains(res)){
                        resourceList.add(res);
                    }
                }
                
            }
            Client client = new Client();
            client.setIp(ResourceUtil.getIpAddr(req));
            client.setLogindatetime(new Date());
            client.setUser(user);
            client.setMenuList(resourceList);
            ClientManager.getInstance().addClinet(session.getId(),
                    client);
            if(user != null && user.getId() != null){
                if(user.getStatus() == 2){
                    j.setSuccess(false);
                    j.setMsg("该用户被禁用,请联系管理员!");
                }else{
                    j.setSuccess(true);
                    j.setMsg("登陆成功!");
                }
                
            }else{
                j.setSuccess(false);
                j.setMsg("用户名或密码错误!");
            }
        }
        return j;
    }
    
    
    @RequestMapping(params="getTreeMenu")
    @ResponseBody
    public String getTreeMenu(HttpServletRequest request){
        Client client = ResourceUtil.getClient();
        List resourceList = new ArrayList();
        if(client == null || client.getUser() == null){
            return "system/login";
        }else{
            resourceList = client.getMenuList();
        }
        
        List resource = new ArrayList();
        for(ResourceEntity re:resourceList){
            if(resourceList.size()<=0){
                break;
            }
            if("1".equals(re.getId())){
                resource.add(re);
                break;
            }
        }
        return JSONObject.valueToString(resourceToTreeNode(resource,resourceList));
    }
    
    /**
     * 将sysResource类型的数据集合转化为前端较好识别的TreeNode
     * @param resource
     * @return
     */
    private List resourceToTreeNode(List resource, List userResource) {
        if (resource != null && !resource.isEmpty() && resource.get(0).getResourceType() == ResourceEntity.TYPE_MENU) {
            List ch = new ArrayList();
            for (ResourceEntity rr : resource) {
                TreeNode node = new TreeNode();
                if(userResource.contains(rr)){
                    if(rr.getHref()==null){
                        node.setId(rr.getId());
                    }else{
                        node.setId(rr.getId());
                    }
                    node.setId(rr.getId());
                    node.setState("open");
                    node.setText(rr.getName());
                    
                    Map _temp = new HashMap();
                    _temp.put("href", rr.getHref());
                    node.setAttributes(_temp);
                    
                    ch.add(node);
                    
                }
                node.setChildren(resourceToTreeNode(rr.getResources(),userResource));
            }

            return ch;
        }
        return Collections.emptyList();
    }
}
 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@include file="/pages/system/base.jsp"%>



    
     
     
     
    学生成绩管理系统
    




    
        
        
    

        

        
            
                
            
            
                
            
        

                

                
当前用户: ${username }                         style="color: #386780">其他: ${roleName }

                

                
                    
                

                

                

                

                        
                        ${primaryMenuList }
                    

                

        


    
    

        
    

    
     

         

         
     

    
    
    

        

            

        

    

     Log Out
    
    
    

    
© 版权所有 【猿来入此】  



刷新

关闭

全部关闭

除此之外全部关闭


当前页右侧全部关闭

当前页左侧全部关闭



    

你可能感兴趣的:(springMVC+mysql实现的Java web学生成绩管理系统)