springboot + shiro+登录 微信登录 次数验证资料
2024-09-03 04:01:10
分享一个朋友的人工智能教程。零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助,点击查看教程。
1.https://blog.csdn.net/xtiawxf/article/details/52571949
https://blog.csdn.net/hxm_code/article/details/50136173
https://blog.csdn.net/melodykke/article/details/81362447
https://www.cnblogs.com/foxting/p/6790331.html?utm_source=itdadao&utm_medium=referral 登录次数
springboot2+shiro 无权限、异常、异步返回
http://www.bubuko.com/infodetail-1629577.html
/**
* 对controller异常进行全局处理
* 区分了对普通请求和ajax请求的异常处理,普通请求返回到配置的errorCode页面,或者返回到指定的页面
* @author
*
*/
public class CustomException extends SimpleMappingExceptionResolver {
private final transient Logger logger = LoggerFactory.getLogger(getClass()); @Override
protected ModelAndView doResolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
String viewName = determineViewName(ex, request);
if (viewName != null) {// JSP格式返回
//增加普通提交返回到自己页面errorPage
String errorPage = String.valueOf(request.getAttribute("errorPage"));
//回到自己的页面
if(StringUtils.isNotBlank(errorPage)){
viewName = errorPage;
}
if (!(request.getHeader("accept").indexOf("application/json") > -1 || (request
.getHeader("X-Requested-With") != null && request
.getHeader("X-Requested-With").indexOf("XMLHttpRequest") > -1))) {
// 如果不是异步请求
// Apply HTTP status code for error views, if specified.
// Only apply it if we‘re processing a top-level request.
Integer statusCode = determineStatusCode(request, viewName);
if (statusCode != null) {
applyStatusCodeIfPossible(request, response, statusCode);
}
return getModelAndView(viewName, ex, request);
} else {// JSON格式返回
try {
Map<String, Object> jsonMap = new HashMap<String, Object>();
// 返回是错误
jsonMap.put(BaseController.AJAX_RESULT, false);
jsonMap.put(BaseController.RESULT_MESSAGE, ex.getMessage());
response.setContentType("text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
writer.write(JSON.toJSONString(jsonMap));
writer.close();
} catch (Exception e) {
logger.error("doResolveException", "系统异常!", e);
}
return null; }
} else {
return null;
}
}
}
<bean class="cn.tomcat.quickstart.exception.CustomException">
<!-- 定义默认的异常处理页面,当该异常类型的注册时使用 -->
<property name="defaultErrorView" value="error"></property>
<!-- 定义异常处理页面用来获取异常信息的变量名,默认名为exception -->
<property name="exceptionAttribute" value="ex"></property>
<!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值 -->
<property name="exceptionMappings">
<props>
<prop key="IOException">error/ioexp</prop>
<prop key="java.sql.SQLException">error/sqlexp</prop>
</props>
</property>
</bean>
最新文章
- IOS的七种手势
- 完全卸载mysql步骤
- 长年承接AR图像识别项目,关于高速UnityARCam多图问题技术整理
- ArrayList集合&;特殊集合
- MVC5 + EF6 入门完整教程二
- jQurey 获取当前时间
- 【服务器环境搭建-Centos】tmpfs,【转载】
- Jquery select 选中项中自定义的值
- 一个高在线(可以超过1024)多线程的socket echo server(pthreads 和 libevent扩展)
- [前端引用] 利用ajax实现类似php include require 等命令的功能
- linux提权总结(外文)
- 总结iframe高度自适应,自适应子页面高度
- angular2在模板中使用属性引发Cannot read property &#39;xxx&#39; of undefined
- 使用concurrent.futures模块中的线程池与进程池
- bash test命令探秘
- 【API】网络编程模型、多线程
- 【Unity Shader】(九) ------ 高级纹理之渲染纹理及镜子与玻璃效果的实现
- swoole1.8.0+版本异步redis安装(本实例为swoole1.8.10版本)详解
- 文献综述二:UML技术在行业资源平台系统建模中的应用
- 使用jconsole监控tomcat(推荐配置)