SpringMVC + MySQL realización del sistema de gestión de rendimiento de los estudiantes web de Java

Hoy en día, le mostramos la función de un resorte MVC + MySQL para lograr sistema de gestión de rendimiento de los estudiantes, el sistema se debe principalmente a lograr son: la gestión de la información del estudiante, la información de gestión del rendimiento (incluyendo la importación de Excel exportación), gestión de la información maestra, la gestión de la información del cliente, el papel gestión de derechos, gestión de menús, más perfecto, además del módulo viene con papeles y documentos, proyectos, código fuente completo y ejecutar el video tutorial y guía de papel en la parte inferior hay modo de adquisición,

Código se ha cargado github, Descarga: https://github.com/21503882/studentscore

 

com.bjpowernode.system.controller empaquetar;

java.util.ArrayList importación;
java.util.Collections de importación;
java.util.Date importación;
java.util.HashMap importación;
java.util.List importación;
java.util.Map importación;

javax.servlet.http.HttpServletRequest importación;
javax.servlet.http.HttpServletResponse importación;
javax.servlet.http.HttpSession importación;

org.apache.log4j.Logger importación;
org.json.JSONObject importación;
org.springframework.beans.factory.annotation.Autowired importación;
org.springframework.stereotype.Controller importación;
org.springframework.web.bind.annotation.RequestMapping importación;
org.springframework.web.bind.annotation.ResponseBody importación;
org.springframework.web.servlet.ModelAndView importación;
org.springframework.web.servlet.view.RedirectView importación;

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

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

    estático privado Logger final de logger = Logger.getLogger (LoginController.class);
    
    @Autowired
    SystemService SystemService privado;
    
    / **
     *登陆页
     * Error @ param
     * @ param modelo
     * @return
     * /
    @RequestMapping (params = "login")
    ModelAndView pública de inicio de sesión (HttpServletRequest solicitud) {
        return new ModelAndView ( "sistema / login");
    }
    
    @RequestMapping (params = "casa")
    casa ModelAndView pública (HttpServletRequest solicitud) {
        return new ModelAndView ( "sistema / home");
    }
    / **
     *退出系统
     * 
     * @param usuario
     * @Param req
     * @return
     * /
    @RequestMapping (params = "Salir")
    ModelAndView pública de cierre de sesión (HttpServletRequest solicitud, HttpServletResponse respuesta) {
        HttpSession session = ContextHolderUtils.getSession ();
        ClientManager.getInstance () removeClinet (session.getId ()).;
        session.invalidate ();
        ModelAndView ModelAndView = nuevo ModelAndView (nuevo RedirectView (
                "loginController.do?login"));

        volver ModelAndView;
    }
    
    @RequestMapping (params = "doLogin")
    pública ModelAndView doLogin (HttpServletRequest req) {
        ModelAndView MAV = new ModelAndView ( "sistema / main");
        HttpSession session = ContextHolderUtils.getSession ();
        Cliente Client = ClientManager.getInstance () getClient (session.getId ()).;
        req.setAttribute ( "nombre de usuario", client.getUser () getUsername ().);
        MAV regresar;
    }
    
    @RequestMapping (params = "doCheck")
    @ResponseBody
    pública AjaxJson doCheck (HttpServletRequest req, cadena usuario, contraseña String, String código de imagen) {
        HttpSession session = ContextHolderUtils.getSession ();
        AjaxJson J = nuevo AjaxJson ();
        
        si (captcha.equalsIgnoreCase (String.valueOf (session.getAttribute (SystemConstant.KEY_CAPTCHA)))) {
            j.setSuccess (false);
            j.setMsg ( "验证码错误!");
        } else {
            usuario UserEntity = new UserEntity ();
            user.setUsername (nombre de usuario);
            user.setPassword (contraseña);
            user = this.systemService.getUserByNameAndPassword (usuario);
            si (== usuario null) {
                j.setSuccess (false);
                j.setMsg ( "用户名或密码错误!");
                j retorno;
            }
            Lista <ResourceEntity> ResourceList = new ArrayList <ResourceEntity> ();
            Lista <RoleEntity> listaPapeles = user.getRoles ();
            para (re RoleEntity: listaPapeles) {
                List <ResourceEntity> tempRes = re.getResource ();
                (res para ResourceEntity: tempRes) {
                    (! resourceList.contains (res)) si {
                        resourceList.add (res);
                    }
                }
                
            }
            Cliente Cliente = new Cliente ();
            client.setIp (ResourceUtil.getIpAddr (req));
            client.setLogindatetime (new Date ());
            client.setUser (usuario);
            client.setMenuList (ResourceList);
            ClientManager.getInstance addClinet (). (Session.getId (),
                    Client);
            if (!! = Null && user.getId de usuario () = null) {
                IF (user.getStatus () == 2) {
                    j.setSuccess (a false);
                    j.setMsg ( "el usuario está desactivada, Póngase en contacto con el administrador ") ;!
                } else {
                    j.setSuccess (true);
                    j.setMsg (" aterrizaje exitoso ");!
                }
                
            } else {la
                j.setSuccess (falso);
                j.setMsg (" nombre de usuario o contraseña es incorrecta! ");
            }
        }
        regresar J;
    }
    
    
    @RequestMapping (los params =" getTreeMenu ")
    @ResponseBody
    public String getTreeMenu (HttpServletRequest solicitud) {
        Cliente Client = ResourceUtil.getClient ();
        Lista <ResourceEntity> ResourceList = new ArrayList <ResourceEntity> ();
        si (cliente == null || client.getUser () == null) {
            return "sistema / inicio de sesión";
        } else {
            ResourceList = client.getMenuList ();
        }
        
        Lista <ResourceEntity> recursos = new ArrayList <ResourceEntity> ();
        para (ResourceEntity re: ResourceList) {
            si (resourceList.size () <= 0) {
                break;
            }
            If ( "1" .equals (re.getId ())) {
                resource.add (re);
                descanso;
            }
        }
        JSONObject.valueToString retorno (resourceToTreeNode (recursos, ResourceList));
    }
    
    / **
     *将sysResource类型的数据集合转化为前端较好识别的TreeNode
     * @param de recursos
     * @return
     * /
    Lista privada <TreeNode> resourceToTreeNode (List <ResourceEntity> recursos, List <ResourceEntity> userResource) {
        si ( ! = null && recursos resource.isEmpty () && resource.get (0) .getResourceType () == ResourceEntity.TYPE_MENU) {!
            Lista <TreeNode> ch = new ArrayList <TreeNode> ();
            para (ResourceEntity rr: recursos) {
                nodo TreeNode = new TreeNode ();
                si (userResource.contains (rr)) {
                    si (rr.
                        node.setId (rr.getId ());
                    } else {
                        node.setId (rr.getId ());
                    }
                    Node.setId (rr.getId ());
                    node.setState ( "abierto");
                    node.setText (rr.getName ());
                    
                    Map <String, Object> _temp = new HashMap <String, Object> ();
                    _temp.put ( "href", rr.getHref ());
                    node.setAttributes (_temp);
                    
                    CH.ADD (nodo);
                    
                }
                Node.setChildren (resourceToTreeNode (rr.getResources (), userResource));
            }

            ch regresar;
        }
        Devolver Collections.emptyList ();
    }
}
 

<% @ Page language = "java" contentType = "/ html texto; charset = UTF-8"
    pageEncoding = "UTF-8" %>
<% @ include file = "/ pages / sistema / base.jsp" %>
< ! DOCTYPE html>
<html>
<head>
    <meta charset = "UTF-8">
    <meta http-equiv = contenido de "pragma" = "no-cache"> 
    <meta http-equiv = "Cache-control" = CONTENIDO "no-cache, que hay que revalidar"> 
    <meta http-equiv = "expira" content = "0"> 
    <title>学生成绩管理系统</ title>
    
</ head>
<body class = "easyui-diseño">

<-顶部->
<div región = "norte" border = "false" title = "" style = "background: # A8D7E9; altura: 50px; padding: 1px; overflow: hidden;">
<table width = "100%" border = "0" cellpadding = "0" cellspacing = "0">
    <tr>
        <td align = "izquierda" style = "vertical-align: text-inferior"> <img src = "image / common /name.png ">
        </ td>
        <td align =" derecho" nowrap>
        <table border = "0" cellpadding = "0" cellspacing = "0">
            <tr style = "altura: 25px;" align => "derecho"
                <td style = "" colspan = "2"

                <div style = "float: left; line-height: 25px; margin-left: 70px;"> <span style = "color: # 386780">当前用户: </ span> <span style = "color: #FFFFFF "> $ {usuario} </ span> & nbsp; & nbsp; & nbsp; & nbsp; <span
                    style = "color: # 386780">其他: </ span> <span style = "color: # FFFFFF"> $ {} roleName </ span> </ div>
                <div style = "float: left; margen -IZQUIERDA: 18px; ">
                <div style =" right: 0px; inferior: 0px; "> <a href =" javascript: void (0);" class = "easyui-menubutton" menu = "# layout_north_zxMenu" iconCls = estilo "icono-salida" = "color: # FFFFFF">注销</a> </ div>


                    <Div οnclick = "exit ( ' loginController.do?logout', ' OK para salir del sistema?');"> Sistema de Salida </ div>
                </ div>    
                </ div>
                </ div>
                </ TD>
            < / TR>
            <TR style = "altura: 80px;">
                <TD colspan = "2">
                <clase UL = "acceso directo">
                    <- dinámicamente generar y evaluar arriba ->
                    $ primaryMenuList {}
                </ ul>
                </ TD>
            </ TR>
        </ TABLE>
        </ TD>
    </ TR>
</ table>
</ div>
    
    <div datos-options = "región: 'oeste', dividida: true, título: '导航菜单'" style = "width: 150px; padding: 10px;">
        <ul id = clase "submenús" = "easyui-árbol " 
            ficha opciones =" url: 'loginController.do getTreeMenu?',
                        método: 'get', animados: true,
                        onClick: function () {nodo
                            openTab (node.text, node.attributes.href);
                        } ">
            
        < / ul>
    </ div>
    
     <div ficha opciones = "región: 'este', split: true, se derrumbó: cierto, el título: '小工具'" style = "width: 280px; padding: 10px;">
         <div class = "easyui-calendario"style = "width: 250px; altura: 250px;"> </ div>
         
     </ div>
    
    
    <div datos opciones-= "región: 'centro', título: '首页'">
        <div class "principales pestañas" id = = "easyui-fichas" de datos-options = "ajuste: true, frontera: falsas, claro: true">
            <div class = "easyui-pestaña" title = "首页" href = estilo "loginController.do?home" = "padding: 2px; overflow: hidden;"> </ div>
        </ div>
    </ div>
    <a href = "$ {} pageContext.request.contextPath / admin / cierre de sesión" > <i clase = "icono de tecla"> </ i> Cerrar sesión </a>
    
    <-底部->
    <div = región fronteriza "sur" estilo = "false" = "altura: 25px; overflow: escondido; ">
    <div align =" center" style = "color: # CC99FF; padding-top: 2px"> & copiar; 版权所有<span class = "punta"> <


<Div id = "mm-tabupdate "> actualización </ div>
<div id = "mm-tabclose"> Cerrar </ div>
<div id = "mm-tabcloseall"> Cerrar todo </ div>
<div id = "mm-tabcloseother"> Cerrar todos excepto </ div>
<div class = "on-Sep MENÚ"> </ div>
<div id = "mm-tabcloseright"> Cierre todas derecha de la página actual </ div>
<div id = "mm-tabcloseleft "> Cierre todas izquierda de la página actual </ div>
</ div>
</ body>
    <script type = "text / javascript">
    

        $ (document) ready (function () {
            
        })
        
        
        
        función openTab (título, url) {
            si ( "/" = URL!) {
                mainTabs var = $ ( "# principales pestañas");
                si (mainTabs.tabs ( 'existe', título)) {
                    mainTabs.tabs ( 'select', título);
                    var iframeContext = mainTabs.tabs ( 'getTab', título) .find ( "marco flotante");
                    si (iframeContext) {
                        iframeContext [0] = .src url
                    } 
                } else {
                    mainTabs.tabs ( 'añadir', {
                        título: título,
                        contenido: createFrame (url),
                        cerrable: true
                    });
                }
            }

        }

        función createFrame (url) {
            var s = '<iframe name = "mainFrame" scrolling = "auto" frameborder = "no" border = "0" marginwidth = "0" marginheight = "0" allowtransparency = "sí" src =" '
                    + url + '" style = "width: 100%; altura: 99%;"> </ iframe>';
            devoluciones;
        }
        
        
    </ Script>
</ html>

Liberadas dos artículos originales · ganado elogios 0 · Vistas 14

Supongo que te gusta

Origin blog.csdn.net/IsQq79120063/article/details/105261658
Recomendado
Clasificación