高档手表网站自己弄一个网站要多少钱

news/2025/10/7 17:06:34/文章来源:
高档手表网站,自己弄一个网站要多少钱,做网站单线程CPU和多线程cpu,php网页设计教程拦截器 1 回顾过滤器#xff1a; Servlet规范中的三大接口#xff1a;Servlet接口#xff0c;Filter接口、Listener接口。 过滤器接口#xff0c;是Servlet2.3版本以来#xff0c;定义的一种小型的#xff0c;可插拔的Web组件#xff0c;可以用来拦截和处理Servlet容…拦截器 1 回顾过滤器 Servlet规范中的三大接口Servlet接口Filter接口、Listener接口。 过滤器接口是Servlet2.3版本以来定义的一种小型的可插拔的Web组件可以用来拦截和处理Servlet容器的请求和响应过程。以便查看提取或以某种方式操作正在客户端与服务器端之间交换的数据。 过滤器的配置比较简单直接实现Filter 接口即可也可以通过WebFilter注解实现对特定URL拦截。Filter 接口中定义了三个方法。 init() 该方法在容器启动初始化过滤器时被调用它在 Filter 的整个生命周期只会被调用一次。「注意」这个方法必须执行成功否则过滤器会不起作用。 doFilter() 容器中的每一次请求都会调用该方法 FilterChain 用来调用下一个过滤器 Filter。 destroy() 当容器销毁 过滤器实例时调用该方法一般在方法中销毁或关闭资源在过滤器 Filter 的整个生命周期也只会被调用一次。 2 拦截器的简介 SpringMVC里的拦截器是面向切面编程AOP的一个具体实现用于对请求做预处理。 1什么是拦截器 在AOPAspect-Oriented Programming中用于在某个方法或字段被访问之前进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略 2为什么需要拦截器 在做身份认证或者是进行日志的记录时我们需要通过拦截器达到我们的目的。最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情 3 拦截器的应用 步骤1)自定义一个类实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter抽象类 步骤2)根据自己的需求重写方法 方法1boolean preHandle()- 想要在执行Controller之前执行拦截就重写该方法。- 存在多个interceptor时它们基于链式方式调用按照注册的先后顺序依次执行。- 方法返回true时后续有拦截器就继续执行拦截器没有就执行controller.- 方法返回false时后续任何内容都不执行了直接返回浏览器 ​ ​ 方法2void postHandle()会在Controller执行后视图渲染之前调用该方法。因此可以在这个阶段对将要返回给客户端的ModelAndView进行处理。 ​ 方法3void afterCompletion- 该方法会在视图渲染后被调用主要是用来进行资源清理工作。- 多个拦截器时依旧是先执行先注册的拦截器的afterCompletion方法- 不管处理器是否抛出异常该方法都将执行。 步骤3在spring的配置文件中配置拦截器(或者配置类中也可以) 4 拦截器执行流程 4.1 拦截器的执行时机 4.2 拦截器和过滤器一起应用时的执行时机 5 拦截器的应用场景 日志记录记录请求信息的日志以便进行信息监控、信息统计等 权限检查如登录校验在处理器处理之前先判断是否已经登录 性能监控通过拦截器在进入处理器之前记录开始时间在处理完后记录结束时间从而得到该请求的处理时间。 通用行为读取 Cookie 得到用户信息并将用户对象放入请求从而方便后续流程使用。还有如提取 Locale、Theme 信息等只要是多个处理器都需要的都可以用拦截器来实现。 6 当前路径绑定权限拦截器 package com.ssm.netctoss.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /**  * 步骤1)自定义一个类实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter抽象类  * 步骤2)根据自己的需求重写方法  * 步骤3在spring的配置文件中配置拦截器(或者配置类中也可以)  */ public class CurrentPathPrivilegeInterceptor implements HandlerInterceptor {     /**      *      * param request   请求对象      * param response  响应对象      * param handler   请求路径对应的Controller里的方法对象(反射机制)      *                   /fee/findByPage      *                  public String findByPage(){      *                      ........      *                  }      * return      * throws Exception      */     Override     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {         System.out.println(----------preHandle------------);         System.out.println(-------注意需要给每个用户添加0,8,9权限在数据库中-----------);         System.out.println(-------注意需要给每个用户添加0,8,9权限在数据库中-----------);         System.out.println(-------注意需要给每个用户添加0,8,9权限在数据库中-----------);         //获取请求路径         String uri request.getRequestURI();         int currentPrivilege -1;         if(uri.contains(/toIndex)){             currentPrivilege 0;         }else if(uri.contains(/role/)){             currentPrivilege 1;         }else if(uri.contains(/admin/)){             currentPrivilege 2;         }else if(uri.contains(/fee/)) {             currentPrivilege 3;         }else if(uri.contains(/account/)) {             currentPrivilege 4;         }else if(uri.contains(/service/)) {             currentPrivilege 5;         }else if(uri.contains(/bill/)) {             currentPrivilege 6;         }else if(uri.contains(/report/)) {             currentPrivilege 7;         }else if(uri.contains(/user/show)) {             currentPrivilege 8;         }else if(uri.contains(/user/toUpdate)) {             currentPrivilege 9;         }         request.getSession().setAttribute(currentPrivilege, currentPrivilege);         return true;     }     Override     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {         System.out.println(----------postHandle------------);         HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);     }     Override     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {         System.out.println(----------afterCompletion------------);         HandlerInterceptor.super.afterCompletion(request, response, handler, ex);     } } 编写导航高亮提示 %taglib prefixc urihttp://java.sun.com/jsp/jstl/core % %taglib prefixfmt urihttp://java.sun.com/jsp/jstl/fmt % div idnavi   ul idmenu      lia href../index/toIndex classc:choosec:when test${currentPrivilege0}index_on/c:whenc:otherwiseindex_off/c:otherwise/c:choose/a/li      lia href../role/findByPage classc:choosec:when test${currentPrivilege1}role_on/c:whenc:otherwiserole_off/c:otherwise/c:choose/a/li      lia href../admin/findByPage classc:choosec:when test${currentPrivilege2}admin_on/c:whenc:otherwiseadmin_off/c:otherwise/c:choose/a/li      lia href../fee/findByPage classc:choosec:when test${currentPrivilege3}fee_on/c:whenc:otherwisefee_off/c:otherwise/c:choose/a/li      lia href../account/findByPage classc:choosec:when test${currentPrivilege4}account_on/c:whenc:otherwiseaccount_off/c:otherwise/c:choose/a/li      lia href../service/searchService classc:choosec:when test${currentPrivilege5}service_on/c:whenc:otherwiseservice_off/c:otherwise/c:choose/a/li      lia href../bill/bill_list.html classbill_off/a/li      lia href../report/report_list.html classreport_off/a/li      lia href../user/showUserInfo classc:choosec:when test${currentPrivilege8}information_on/c:whenc:otherwiseinformation_off/c:otherwise/c:choose/a/li      lia href../user/toUpdatePwd classc:choosec:when test${currentPrivilege9}password_on/c:whenc:otherwisepassword_off/c:otherwise/c:choose/a/li   /ul /div 7 登录拦截 package com.ssm.netctoss.interceptor; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /**  * 使用拦截器来完成用户是否登录过。  如果没有登录应该跳转到登录页面强制其登录  *  * 返回值  *  false:  不执行后续的代码包括Controller  *  true:  执行后续的代码如果有下一个拦截器就执行下一个拦截器的preHandle。如果没有拦截器执行Controller  */ public class LoginInterceptor implements HandlerInterceptor {     Override     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {         System.out.println(----------LoginInterceptor的preHandle-----------);         //获取session从中获取绑定的信息         Object loginAdmin request.getSession().getAttribute(LOGINADMIN);         if (loginAdmin null) {             //没有登录过就跳转             response.sendRedirect(request.getContextPath()/login/toLogin);             return false;         }         return true;     }     Override     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {         System.out.println(----------LoginInterceptor的postHandle----------);         HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);     }     Override     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {         System.out.println(----------LoginInterceptor的afterCompletion----------);         HandlerInterceptor.super.afterCompletion(request, response, handler, ex);     } } 8 权限验证拦截器 package com.ssm.netctoss.interceptor; import com.ssm.netctoss.pojo.Admin; import com.ssm.netctoss.pojo.Privilege; import com.ssm.netctoss.pojo.Role; import com.ssm.netctoss.service.AdminService; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashSet; import java.util.List; import java.util.Set; /**  * 登录用户的权限校验拦截  *      比如登录用户只能访问管理员资费账务没有其他权限那么相应的导航栏有的能访问有的不能访问  *  *  *      admin_info ---- admin_role----role_info---role_privilege--privilege_info  *      caocao                           管理员1 100                   1 2 3  *                                       营业员  200                   3 4 5 6  *                                       经理    300                   7  */ public class PrivilegeInterceptor extends HandlerInterceptorAdapter {    /**      * 因为拦截器是运行在Spring容器中维护的。Bean因此可以使用DI注入其他业务层/控制层的各种类型属性      */    //    Resource    //    private AdminService adminService;    Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {       //获取当前登录用户的所有权限       Admin admin (Admin) request.getSession().getAttribute(LOGINADMIN);       //创建一个Set集合用于存储该用户的所有权限(privilegeId,name)       SetPrivilege privileges new HashSetPrivilege();  // Privileges实体类要重新hashCode和equals方法       ListRole roles admin.getRoles();       for (Role role : roles) {          //添加进集合并去重          privileges.addAll(role.getPrivileges());       }       /*从当前的请求路径上获取对应的绑定权限*/       int currentPrivilege (Integer)(request.getSession().getAttribute(currentPrivilege));       /*查看当前路径的绑定权限是否在当前用户的权限集合里如果没有就跳转进行提示*/       for (Privilege privilege : privileges) {          if(privilege.getPrivilegeId()currentPrivilege){             return true;          }       }       //如果在循序期间没有遇到return true说明要访问的路径用户是没有该权限的。因此要做一个跳转       response.sendRedirect(request.getContextPath()/login/nopower);       return false;    } } 注册拦截器 !--注册拦截器:    拦截器的执行顺序与配置的先后有关系。  先配置的先执行--     mvc:interceptors         !--配置登录拦截器--         mvc:interceptor             mvc:mapping path/**/             mvc:exclude-mapping path/login/login/             mvc:exclude-mapping path/login/getCheckCode/             mvc:exclude-mapping path/login/toLogin/             bean classcom.ssm.netctoss.interceptor.LoginInterceptor/bean         /mvc:interceptor         !--  当前路径的权限绑定拦截器      --         mvc:interceptor             !-- 需要拦截的各种路径--             mvc:mapping path/**/ !--            mvc:mapping path/login/toIndex/-- !--            mvc:mapping path/login/showUserInfo/--             !-- 不需要拦截的路径--             mvc:exclude-mapping path/login/toLogin/             mvc:exclude-mapping path/login/login/             mvc:exclude-mapping path/login/logout/             !-- 手动配置拦截器的Bean对象           --             bean classcom.ssm.netctoss.interceptor.CurrentPathPrivilegeInterceptor/bean         /mvc:interceptor         mvc:interceptor             mvc:mapping path/**/             mvc:exclude-mapping path/login/*/             bean classcom.ssm.netctoss.interceptor.PrivilegeInterceptor/bean         /mvc:interceptor     /mvc:interceptors 9 拦截器与过滤器的比较 **①** 拦截器是基于java的反射机制的而过滤器是基于函数回调。    **②** 拦截器不依赖与servlet容器过滤器依赖与servlet容器。    **③** 拦截器只能对action请求起作用而过滤器则可以对几乎所有的请求起作用。    **④** 拦截器可以访问action上下文、值栈里的对象而过滤器不能访问。    **⑤** 在action的生命周期中拦截器可以多次被调用而过滤器只能在容器初始化时被调用一次。 **⑥** 拦截器可以获取IOC容器中的各个bean而过滤器就不行这点很重要在拦截器里注入一个service可以调用业务逻辑。 **⑦ **过滤器和拦截器触发时机、时间、地方不一样 **⑧**过滤器包裹住servletservlet包裹住拦截器。

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

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

相关文章

文件系统的全局结构

物理格式化后 低级格式化,划分扇区,检测坏扇区,并用备用扇区替换坏掉的扇区 逻辑格式化后 磁盘分区(分卷)完成各部分的文件系统初始化 文件系统在外存🀄️的结构 分为用户区和内核区 近期访问过的目录文件会缓存…

完整教程:记一次idea中lombok无法使用的解决方案

完整教程:记一次idea中lombok无法使用的解决方案2025-10-07 17:02 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

网站建设培训的心得食品核酸第三方检测机构

杨淼信息与计算机科学 跆拳道国家一级教练员 曾经tricking爱好者3 人赞同了该回答一个不算建议的建议 直接看,看到不懂的就查相应的知识(据说牛人都靠wiki活着)。 知识当有需求的时候,才会学的更快。 觉得这样做的好处是&#xff…

详细介绍:在机器视觉测量和机器视觉定位中,棋盘格标定如何影响精度

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025.10.7

bot选前两问容易解决,得 \(E:\dfrac{x^2}{6}+\dfrac{y^2}{3}=1\),\(y_p\in(1,3]\) bot指出:第三问是可以直接联立爆算的! 设 \(P(x_0,y_0)\),则 \(MN:x_0x+2y_0y-6=0\),\(P\) 到 \(MN\) 的距离为: \[\dfrac{x_0…

自由型象棋分析程序

可以键盘操作。比如鼠标移到某个位置,按r出来个黑车。空格删掉棋子。还可以自己吃自己,空白吃自己等,我感觉摆残局最方便。 程序很乱。鄙人之前所发贴的拼凑版。再贴部分代码: httpd.py# !/usr/bin/python3 from e…

网站建设数据石家庄建站公司

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Icon这种Widget,本章回中将介绍 如何使用字体图标。闲话休提,让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的字体图标是指Icon中使用特殊的字体来充当图标,字体图标可以看作…

luogu P1648 看守

题目大意 给定 \(d\) 维坐标的 \(n\) 个点,每个点表示为 \(d\) 个数值,求两点间最大距离 \(d\) 维两点间距离为 \(|x_1-y_1|+|x_2-y_2|+...+|x_d-y_d|\) Sol 我们随便找两个点 \(A\),\(B\) 作为演示: \[dis_{A,B}=|…

题解:P11219 【MX-S4-T3】「yyOI R2」youyou 的序列 II

引理 先手获胜当且仅当先手可以在忽略后手的情况下操作完整个区间,且后手可操作的部分的长度小于等于 \(c1\)。 注:后手可操作的部分指后手能操作的最靠左的点到后手能操作的最靠右的点的距离。 证明 充分性: 在满足…

旧宫网站建设wordpress特效-页面加载动画圆圈

什么是掩膜? 在OpenCV中,掩模(mask)是一个与图像具有相同大小的二进制图像,用于指定哪些像素需要进行操作或被考虑。掩模通常用于选择特定区域或进行像素级别的过滤操作。 OpenCV 中的很多函数都会指定一个掩模&…

前端HTML contenteditable 属性使用指南 - 教程

前端HTML contenteditable 属性使用指南 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

太原建站模板企业网站建设的几种形式

前言 好久都没有写博客了,由于博主之前一直都在上班处于加班的阶段,所以根本就没有时间去学习。现在请假回到学校写论文,有时间来学习了。 所以会不断的进行博客的更新,以及分享我在公司学到的一些新的技术,希望大家多…

Seismic Unix 基础使用

目录基本语法结构数据格式线性编辑命令与非线性编辑命令 基本语法结构su_command [input] [parameter] [output]su_command是处理地震数据的核心命令。 [input]是输入参数,可以是SU格式的数据文件,也可以是其他命令的…

2025实验室净化厂家/实验室装修厂家/实验室建设厂家权威推荐榜:专业设计与洁净技术实力之选

在现代科研与产业升级的双重驱动下,实验室净化环境的质量直接关系到研发成果的准确性与生产安全。随着生物医药、精密制造等领域的快速发展,企业对洁净空间的技术要求日益严格,不仅需要符合国际标准的设计方案,更追…

做网站费用怎么核算关键词与网站标题

人工智能(AI)每天在以惊人的速度发展。这项技术在2018年已经取得了巨大的成功,简化医疗保健业的工作流程,降低制造业的间接费用,并减少教育业的行政工作量。现在是2019年,每天似乎都有一家新的AI初创公司冒出来,致力于…

网站内容建设总结网站反向绑定域名

目录 认识 Spring MVC什么是 Spring MVCMVC 的定义 Spring MVC 注解的运用1. Spring MVC 的连接RequestMapping 注解 2. 获取参数获取单个参数获取多个参数传递对象表单传参后端参数重命名RequestBody 接收 JSON 对象PathVariable 获取 URL 中的参数上传文件 RequestPart获取 C…

贵阳网站定制电话做装修网站

1 第2.1节:AWK脚本结构 1.1 第1个awk脚本 假设有如下的数据待处理,需要将第2列提取出来: #, 名称, 大小, 类型, 修改, 属性 1, COMMIT_EDITMSG, 331 bytes, 文件, 24/09/16 08:42:19, -a----- 2, config, …

有公司可以做网站升级ipv6wordpress 商城主题 汉

本文将为您描述layui表格字段表格显示不全(自适应),具体操作方法:好记性不如烂笔头。本来就是没什么好记得东西,下次再用时已经想不起来了。问题如下🐟使用layui表格,表格字段显示不全,如果超出分配的位置,就会显示省略…

网站主机建设方案三合一网站cms

目录 NLP自然语言处理 的RNN、Seq2Seq与attention注意力机制 RNN循环神经网络 前馈网络入门 前馈网络 循环网络 多层感知器架构示例 循环神经网络的运作原理 展开 RNN seq2seq模型 Attention(注意力机制) 总结 引用 NLP自然语言处理 的RNN、…

简单搭建Ajax基础应用

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …