djang2020 / sl_scw Goto Github PK
View Code? Open in Web Editor NEWscw_project
scw_project
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属性:点击节点时跳转到的位置 通过逆向工程生成后再加入两个字段即可
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.