网站导航栏目设计内容依据wordpress按住标题没有显

news/2025/9/23 2:20:52/文章来源:
网站导航栏目设计内容依据,wordpress按住标题没有显,iis网站改端口,线上 网站建设 商务信息目录 1.拦截器1.1.什么是拦截器#xff1f;1.2 拦截器的API1.3 拦截器的执行顺序1.5 自定义拦截器1.5 登录拦截器案例 2.文件上传2.1 添加依赖2.2 配置文件上传解析器2.3 编写控制器2.4 编写jsp页面2.5 注意事项 3.全局异常处理器3.1 异常处理思路3.2 创建异常处理器3.3 编写异… 目录 1.拦截器1.1.什么是拦截器1.2 拦截器的API1.3 拦截器的执行顺序1.5 自定义拦截器1.5 登录拦截器案例 2.文件上传2.1 添加依赖2.2 配置文件上传解析器2.3 编写控制器2.4 编写jsp页面2.5 注意事项 3.全局异常处理器3.1 异常处理思路3.2 创建异常处理器3.3 编写异常类3.4 配置异常处理器 1.拦截器 1.1.什么是拦截器 ​ Spring MVC中的拦截器Interceptor类似于Servlet中的过滤器Filter它主要用于拦截用户请求并作相应的处理。例如通过拦截器可以进行权限验证、判断用户是否登录等。 ​ 拦截器依赖于web框架在实现上基于Java的反射机制属于面向切面编程AOP的一种运用。 过滤器与拦截器的区别拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分任何java web工程都可以使用 在url-pattern中配置了/*之后可以对所有要访问的资源进行拦截 拦截器 拦截器是SpringMVC框架自己的只有使用了SpringMVC框架的工程才能使用 拦截器只会拦截访问的控制器方法 如果访问的是jsp/html/css/image/js是不会进行拦截的 1.2 拦截器的API 定义拦截器需要实现HandlerInterceptor接口该接口中有三个方法 preHandle() 控制层执行器方法前的拦截器该方法时在控制层执行器方法前调用当该方法返回结果为true则继续调用下一个拦截器如果已经是最后一个拦截器则调用控制层中的执行器方法当该方法返回结果为false则不会继续执行控制层执行器中的方法 postHandle() 控制层方法返回时拦截器该方法是控制层执行器方法执行之后由DispatcherServlet在将结果响应给浏览器前调用的方法 afterCompletion() 控制层方法结束后的拦截器该方法在请求业务处理执行完全结束之后由DispatcherServlet调用执行 1.3 拦截器的执行顺序 单个拦截器的执行顺序 preHandle() → postHandle() → afterCompletion() 多个拦截器的执行顺序 先按顺序执行所有拦截器的 preHandle方法 如果任何一个拦截器preHandle方法返回false。直接跳出不执行目标方法 如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle方法如果当前拦截器返回为false。直接倒序执行所有已经执行了的拦截器的 afterCompletion方法 所有拦截器都返回True。执行目标方法 倒序执行所有拦截器的postHandle方法。 前面的步骤有任何异常都会直接倒序触发 afterCompletion 页面成功渲染完成以后也会倒序触发 afterCompletion 1.5 自定义拦截器 我们要想自定义拦截器 要求必须实现HandlerInterceptor 接口。 创建拦截器 配置web.xml 和 springmvc-servlet.xml 文件 package com.by.interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class CustomHandlerInterceptor implements HandlerInterceptor {/*** 在控制器方法调用前执行* 返回值为是否中断* true表示继续执行下一个拦截器或处理器* false则会中断后续的所有操作所以我们需要使用response来继续响应后续请求*/Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object object) throws Exception {System.out.println(HandlerInterceptor preHandle ....);return true;}/*** 在控制器方法调用后解析视图前调用我们可以对视图和模型做进一步渲染或修改* 可在modelAndView中加入数据比如当前时间*/Overridepublic void postHandle(HttpServletRequest request,HttpServletResponse response, Object object, ModelAndView modelAndView) throws Exception {System.out.println(HandlerInterceptor postHandle ....);}/*** 整个请求完成即视图渲染结束后调用这个时候可以做些资源清理工作或日志记录*/Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response,Object object, Exception e) throws Exception {System.out.println(HandlerInterceptor afterCompletion ....);} }配置拦截器 !--配置拦截器 --mvc:interceptorsmvc:interceptor!-- 匹配的是url路径 --mvc:mapping path/**/mvc:mappingbean classcom.by.interceptor.CustomHandlerInterceptor/bean/mvc:interceptor/mvc:interceptors测试 编写controller Controller RequestMapping(/account) public class AccountController {RequestMapping(/findAccount12)public String findAccount12(Model model) {model.addAttribute(msg, 欢迎你 springmvc);System.out.println(controller的方法执行了......);return success;} }1.5 登录拦截器案例 创建拦截器 package com.by.interceptor;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object object) throws Exception {String user (String) request.getSession().getAttribute(user_session);if (user ! null) {//已经登录继续执行System.out.println(获得用户信息user);return true;} else {//未登录跳转到登录页面response.sendRedirect(request.getContextPath() /login.jsp);return false;}} }配置拦截器 mvc:interceptorsmvc:interceptor!-- 匹配的是url路径 --mvc:mapping path/**/mvc:mappingbean classcom.by.interceptor.LoginInterceptor/bean/mvc:interceptor/mvc:interceptors测试 编写controller Controller RequestMapping(/account) public class AccountController {RequestMapping(/findAccount13)public String findAccount13(Model model) {model.addAttribute(msg, 欢迎你 springmvc);System.out.println(controller的方法执行了......);return success;} }在index.jsp里面定义超链接 %session.setAttribute(user_session,User{name:张二狗,age:18}); % a href/account/findAccount13登录拦截器/a2.文件上传 2.1 添加依赖 !--文件上传-- dependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.3.1/version /dependency2.2 配置文件上传解析器 !--配置文件上传解析器-- bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolverproperty namemaxUploadSize value5242880 /property namedefaultEncoding valueUTF-8 / /bean2.3 编写控制器 编写controller Controller RequestMapping(/account) public class AccountController {RequestMapping(path/upload)public String upload(HttpServletRequest request, MultipartFile upload,Model model) throws IOException {System.out.println(springmvc方式的文件上传);//获取要上传的文件目录String path request.getSession().getServletContext().getRealPath(/uploads);System.out.println(path:path);//根据文件上传的目录创建File对象如果不存在则创建1个File对象File file new File(path);if(!file.exists()){//创建一个file对象file.mkdirs();}//获取文件上传名称String filename upload.getOriginalFilename();//完成文件上传upload.transferTo(new File(path,filename));model.addAttribute(msg, 欢迎你 springmvc);return success;} }2.4 编写jsp页面 form action/account/upload methodpost enctypemultipart/form-data文件: input typefile nameupload/inputinput typesubmit value提交/form2.5 注意事项 form表单必须加上enctypemultipart/form-datamethod属性取值必须是Post提供一个文件选择域input typefile/ 3.全局异常处理器 即使对大部分情况都做了预判和异常处理但程序有时会因为莫名奇妙的原因发生错误并且错误信息肯定会抛在浏览器页面上这样用户观感特别不好所以需要进行全局异常处理。 3.1 异常处理思路 系统的dao、service、controller出现都通过throws Exception向上抛出最后由springmvc前端控制器交由异常处理器进行异常处理如下图 3.2 创建异常处理器 Component public class CustomExceptionResolver implements HandlerExceptionResolver {Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {ModelAndView modelAndView new ModelAndView();modelAndView.addObject(message, ex.getMessage());modelAndView.setViewName(error);return modelAndView;} }3.3 编写异常类 Controller RequestMapping(/account) public class AccountController {RequestMapping(/findAccount14)public String findAccount14(Model model) {model.addAttribute(msg, 欢迎你 springmvc);//模拟异常信息int i 10/0;return success;} }3.4 配置异常处理器 bean classcom.by.exception.CustomExceptionResolver /bean

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/911102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

惠州建网站Wordpress 充值 卡密

课程介绍 本课程主要通过对linux基础课程的详细讲解,让大家熟练虚拟机的安装使用,Linux系统的安装配置,学习掌握linux系统常用命令的使用,常用的软件安装方法,制作快照,克隆,完成免密登录&…

河北省住房建设厅官方网站17做网站广州新塘

题面 解答 这一题如果不知道数论结论的话,做这个题会有两种天壤之别的体验 此题包含以下两个数论知识 1. 2^02^12^2...2^(n-1)2^n-1 2. 较大的数如果比较小的数的两倍大1或者小1,则两者互质 所以答案就是2^n-1/2^(n-1) 标程1 我的初次解答 #in…

江阴建设局官方网站国外网页设计网站

目前,无人机技术已经在各行各业都有广泛的应用,其中之一就是在电力巡检中的应用。无人机电力巡检方案以其高效、安全、精准的特点,为电网安全与维护带来了重大突破和进步。 一、无人机电力巡检方案是高效巡检的利器 传统的电力巡检方式需要人…

网站维护包括哪些互联网资源整合平台

【每日前端面经】2024-03-17 本期重点 —— Promise 欢迎订阅我的前端面经专栏:每日前端面经 Tips:每日面经更新从 2-22 到 3-15 已有 23 篇,最近愈发觉得内容相似度高,并且理解程度不深 于是临时停更面经,并将这些面经中的重…

东莞seo网站优化排名建筑课程网站

目录 一、题目二、解法完整代码 一、题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例 2&#x…

企业电子商务网站的建设阶段网站建设中 意思

不少网友都写过如何在win32下安装win64系统,他们写的很好,这里仅以win7 32Bit下安装win7 64Bit系统为例进行补充说明. 准备Win7 64Bit系统,将其弄到硬盘里,或者弄到虚拟光驱,SD卡随你便,总之你的系统得能找到它. 详细情况参考其它网友描述例如http://apps.hi.baidu.com/share/d…

大连网站建设要多少钱3d网站建设方案

对于Script.NET,我已经写了三篇文章来介绍它,文章汇总如下 .NET 动态脚本语言Script.NET 入门指南 Quick Start .NET 动态脚本语言Script.NET 开发指南 .NET 动态脚本语言Script.NET 应用举例 希望这三篇文章能帮助你了解Script.NET。 下面的例子,继续讲…

筑建网站首页推广怎么做

试用Vue相关指令完成对以下json数据的显示。显示效果如下: 其中:gender1 显示为女,gender2显示为男。价格超过30元,显示“有点小贵”。价格少于等于30元,则显示“价格亲民”。 data: {books: [{"id": "…

投票网页怎么制作厦门seo排名

[css] 说下background-color:transparent和opacity:0的区别是什么? background-color:transparent: 只是把背景色设置为透明,并不会影响元素中的内容。可以利用 transparent 进行三角、扇形的设置。opacity: 0: 会影响整个元素,元素的内容也会…

网站内容管理规范xml是用来做网站的嘛

配置通过流策略实现流量统计示例 组网图形 图1 配置流策略实现流量统计组网图 设备 接口 接口所属VLAN 对应的三层接口 IP地址 SwitchA GigabitEthernet1/0/1 VLAN 10 - - GigabitEthernet1/0/2 VLAN 20 - - GigabitEthernet1/0/3 VLAN 10、VLAN 20 - - S…

网站策划书免费青海西宁今天刚刚紧急通知

课程来源:人工智能实践:Tensorflow笔记2 文章目录前言1、文件一览2、将load_data()函数替换掉2、调用generateds函数4、效果总结前言 本讲目标:自制数据集,解决本领域应用 将我们手中的图片和标签信息制作为可以直接导入的npy文件。 1、文件一览 首先看…

订制企业网站招标网站平台

亲爱的朋友们: 2024 年高考已然落幕,数百万高三学子站在了人生的重要十字路口,面临着选择大学专业这一关键抉择。在这个节点上,计算机相关专业是否还能被称为“万金油”的选择呢? 相信大家都知道,在最近这几…

网站制作工资seo网页的基础知识

盘点67个Android系统源码安卓爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 源码下载链接:https://pan.baidu.com/s/1zOSFwPJwDJLFfoeRJy9llg?pwd8888 提取码:8888 项目名称 Accelera…

局域网网站怎么做宜春网站建设推广

安装 下载相应mysql安装包: MySQL :: Download MySQL Installer 选择不登陆下载 双击运行下载好的mysql-installer-community-*.*.*.msi 进入类型选择页面,本人需要mysql云服务就选择了server only server only(服务器)&#x…

现代化的中国风网站南宁网站设计推荐

文章目录 AI大模型的定义与特点AI大模型在金融领域的应用 01 大模型在金融领域的 5 个典型应用场景02 大模型在金融领域应用所面临的风险及其防范03 AIGC 技术的科林格里奇困境04 金融机构使用 AIGC 技术的 4 条可能路径AIGC重塑金融:AI大模型驱动的金融变革与实践…

海外网站营销潍坊中脉网站建设公司

本篇主要讲YUV与RGB之间的转换,包括YUV444 颜色编码格式 转为 RGB 格式 ,RGB颜色编码格式转为 YUV444 格式。 一、 YUV与RGB之间的转换 YUV与RGB颜色格式之间进行转换时 , 涉及一系列的数学运算 ; YUV 颜色编码格式转为RGB格式的转换公式 取决于 于 YUV …

做网站建设公司赚钱吗优质院校 建设网站

目录 注册表概述 打开关闭注册表 创建删除子健 查询写入删除键值 子健和键值的枚举 常用注册表操作 注册表概述 注册表是Windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是一个非常巨大的树状分层结构的…

通河县机场建设网站小程序做一个要多少钱

数据资源“入表”在即,企业更需筑牢数据合规防线。但企业主企业购买数据、获取数据到底是否合法合规,入表如何防范合规风险?上周三,亿信华辰邀请到北京鑫诺律师事务所高级合伙人、管委会副主任武婕将和大家分享《数据入表法律合规…

手机网站建设多钱首都之窗政务服务平台

项目编号: S 036 ,文末获取源码。 \color{red}{项目编号:S036,文末获取源码。} 项目编号:S036,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设…

石牌桥网站建设建设工程合同司法解释2021

MORMOT数据库连接池 MORMOT封装了一堆的PROPS控件,用于连接各种数据库。 MORMOT的封装是武装到了牙齿的,这堆PROPS控件居然数据库连接池也封装好了。这就为我们省了不少事,笔者非常喜欢! 下面拿TOleDBMSSQLConnectionProperties控…