Giter Club home page Giter Club logo

sl_scw's Introduction

11.4 对Ajax请求返回的结果进行规范

11.5
12 异常映射
    12.1 目标
        使用异常映射机制将整个项目的异常和错误提示进行统一管理
            普通请求——>handler方法——>页面
                如果抛出异常,捕获异常后会显示到错误消息的页面
            Ajax请求——>handler方法——>JSON
                抛出异常,捕获异常,打印到日志
        SpringMVC(spring-web-mvc.xml)提供了基于XML和基于注解两种
            mvc:view-controller基于XML的异常映射来处理
                配置基于XML的异常映射
                    配置异常类型和具体视图页面的对应关系
                    key属性指定异常全类名
                    标签体中写对应的视图(这个值要拼前后缀得到具体路径)
            @RequestMapping基于注解的异常映射来处理
                首先需要一个判断请求类型的工具类方法
                    在工具类中编写工具方法,判断请求是否是Ajax请求主要是看请求头的格式和名字
13 声明一个类来管理常量,以后有需要再添加

14 引入前端静态资源
    静态资源放在webapp下
15 创建后台管理员的登录页面
    建立admin-login.jsp页面,放在WEB-INF
        具体要看项目需要在登录页面需要声明内容
16 如何跳转到登录页面,不需要带数据
    使用layer弹窗组件
    在页面上引入layer环境
    使用layer弹出提示框

17 后台管理系统-管理员登录
    1.目标
        识别操作系统的人的身份,控制其行为(权限)
    2.思路
        登录页面:点击登录按钮,提交表单——>找到handler,并拿到账号和密码
        service根据账号、密码查询出对象,调用mapper查询
        如果没有查到对象,就抛出“LoginFailedException”异常
        如果对象存在就比较密码,需要密码加密,数据库的密码和表单的密码进行比较
            一致:登录成功,把从数据库查询到的数据放到session域中,跳转到后台主页面
            不一致:抛出"PasswordErrorException”异常
                哈希加密算法是不可逆的,只有将加密后的数据对比
        明文加密后对比密文
            创建MD5加密工具方法
    3.代码
        1.创建MD5加密工具方法,执行MD5加密
        2.创建登录失败的登录异常类,天降登录异常处理的方法,并将登录失败信息处理到登录页面上
        3.给目标地址配置view-controller
18 登录状态的检查
    因为很多资源要检查其登录状态是否正常(也就是说有的资源是受保护的),没有登录时不能访问的
    拦截器就是来检查用户是否处于登录状态:
        已经登录就放行
        未登录就提示去登录或者跳转到登录页面
    目标
        将部分资源保护起来,将未登录的请求拦截
    思路
        创建拦截器的类,在拦截器类中检查
        注册拦截器,在spring-mvc中
    代码
19 管理员维护
    分页显示admin数据
        不带关键词的分页
        带关键词的分页
    更新Admin
    新增Admin
    单条删除Admin

    1.分页:
        目标:将数据库中查询到的数据分页显示,将带关键词和不带关键词的分页合并为同一个接口
        思路:用户维护-查询条件-上一页、下一页——>分页的入口——>AdminHandler.getPageInfo()——>AdminService——>AdminMapper
    引入PageHelper插件
    在sqlSessionBean配置插件:spring-persist-mybatis.xml

20 使用Pagination实现页码
       在webapp.css和jQuery下分别加入pagination.css和jquery.pagination.js
       在有需要的页面上引入以上两个文件,要注意顺序
        <link rel="stylesheet" href="css/pagination.css"/>
        <script type="text/javascript" src="jquery/jquery.paginatio.js"></script>

21 调整表单查询
    在翻页时保持查询关键字条件
22 将新增的用户添加到数据库中

23 Ajax异步请求
    多线程,线程间互相不影响,不必等到一个线程的执行结果返回后再执行。
    用去餐馆点餐吃饭和在家点外卖然后可以边学习边等外卖,互相不影响
    同一个线程内部,按顺序执行就叫做同步
    多个线程同时并行执行,谁也不用等谁就是异步
24 建表

25 角色管理
    目标
        通过再打开得模态框中输入角色名称,执行对新角色得添加
    思路
        点击新增,弹出模态框,输入角色名称后,点击保存,给保存绑定单击响应函数,提交后显示成功还是失败,最后清理模态框,重新加载分页
    代码
        创建jsp文件
        在role-page引入分页
        模态框默认情况下是隐藏的(为了页面整洁,统一放在页面最后的位置)
        打开模态框
            给新增按钮绑定响应函数,去掉了原来的onclick
26 前端的单挑删除和批量删除处理
    在后端都用一个接口处理,不管前端批量删除还是单个删除,都用数组接收,然后在后端执行操作

27 数据库中的树形结构表示
    子节点通过pid来关联到父节点的id字段,从而建立父子关系,也叫做自关联
        而父节点就是没用父节点的节点(pid为null的字段)
28 在Java类中表示树形结果
    基本方式
        在Menu类中使用children属性存储当前节点的子节点,但是类型为List

    为了配合zTree所需要添加的属性
        pid属性:找到父节点
        name属性:作为节点名称
        icon属性:当前节点使用的图标(节点的地址)
        open属性:控制节点是否默认打开
        url属性:点击节点时跳转到的位置
    通过逆向工程生成后再加入两个字段即可









sl_scw's People

Contributors

djang2020 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.