- 【laravel+redis】分布式锁的实现
起灵人
phplaravelredislaravelredisphp
laravel官方支持“原子锁”,并且说“要使用这个功能,应用必须使用memcached、dynamodb、redis、database或array缓存驱动作为应用默认的缓存驱动,此外,所有服务器必须和同一台中央缓存服务器进行通信”。前半句不多解释,后半句也强调了laravel的原子锁不负责在集群架构中保障故障转移期间的数据安全性。我贴一下laravel的源码看一下它是怎样用redis实现的分布式
- Javascript 平行四边形周长计算程序(Program for Circumference of a Parallelogram)
给定平行四边形的边,计算周长。示例:输入:a=10,b=8输出:36.00输入:a=25.12,b=20.4输出:91.04平行四边形的对边长度相等且平行。两角相等,但不一定为90度。平行四边形的周长可以计算为两条相邻边之和,每条边乘以2。计算平行四边形周长的公式:(2*a)+(2*b)//JavascriptProgramtocalculatethe//CircumferenceofaParal
- 使用 .NET 6.0 的简单 WebSocket 客户端和服务器应用程序
几个月前,有同事来找我,问能否用.NET创建一个简单的WebSocket服务器(以及之后的客户端)。据我了解,他想用它来控制对方电脑上的进程。或许对其他人也有用,所以我把它发布在这里。让我们从服务器开始。我这里使用的是.NET6和ASP.NETCore,不需要任何额外的配置。它实际上是一个准系统应用程序,没有任何花哨的附加功能。Console.Title="Server";varbuilder=W
- 2024泰剧《死生时刻》中文字幕生死四分钟05集高清HD免费百度云/夸克网盘资源提取码?4 Minutes完整版-4分钟2024最新免费在线观看
帮忙赚赏金
《死生时刻》(4Minutes),又名《生死四分钟》,是一部2024年泰国电视剧,由SammonIsareeSiriwankulthon编剧,杰迪帕·迪拉朋帕(JespipatTilapornputt)、温查帕·苏梅提固(WichapasSumettikul)等主演。这部剧集属于奇幻、爱情、剧情类型,讲述了拥有超自然力量的大学生Great的故事。Great就读于工商管理学院,同时也是一位富有企业主
- 绝佳组合 SpringBoot + Lua + Redis = 王炸!
Java精选面试题(微信小程序):5000+道面试题和选择题,真实面经,简历模版,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计、大厂真题等,在线随时刷题!前言曾经有一位魔术师,他擅长将SpringBoot和Redis这两个强大的工具结合成一种令人惊叹的组合。他的魔法武器是Redis的
- 9.IEnumerable可枚举接口 C#例子 WPF例子
军训猫猫头
华丽文章windowsc#microsoft
privateasyncvoidButton_Click(objectsender,RoutedEventArgse){//调用时可以传入List、Array、HashSet等任何实现了IEnumerable的集合ListmyList=newList{"A","B"};ProcessItems(myList);string[]myArray={"X","Y"};ProcessItems(myArr
- C语言:数组-字符串数组
数组字符串基础操作在用格式化说明符%s进行输入输出时,其输入输出项均为数组名。但在输入时,相邻两个字符串之间要用空格分隔,系统将自动在字符串后加\0。在输出时,遇到结束符\0作为输出结束标志。对于字符串的操作,我们需要使用到一些系统提供的API函数。字符串输入scanf语法:scanf("%s",数组名);注意:数组名对应的数组只能是char类型,从控制台输入字符串之后,默认为追加\0案例:#in
- Laravel 原子锁概念讲解
引言什么是竞争条件(RaceCondition)?在并发编程中,当多个进程或线程同时访问和修改同一个共享资源时,最终结果会因其执行时序的微小差异而变得不可预测,甚至产生错误。这种情况被称为“竞争条件”。例子1:定时执行某个耗时的任务,如果第一个任务执行时还没有更新数据源,第二个任务就开始了,那么同一个数据源可能被更新或新增两次数据,最终导致数据源错误。例子2:商品秒杀场景:若库存仅剩1件,两个请求
- pigz更快的压缩和解压工具
老率的IT私房菜
pigz(parallelimplementationofgzip)是一个并行执行的压缩工具,解压缩比gzip快,同时CPU消耗是gzip的好几倍,在对短时间内CPU消耗较高不受影响的场景下,可以使用pigz。环境Centos7RAM:2GB,CPU:4vcpus安装#安装epel扩展源[root@localhost~]#wget-O/etc/yum.repos.d/epel-7.repohttp
- 推客系统小程序开发实战:2025年技术架构与实现细节
wx_qutudy
java推客小程序开发推客系统
引言在电商生态竞争日益激烈的2025年,推客系统作为私域流量运营的核心工具,其技术实现效率与合规性已成为企业增长的关键指标。本文基于实际开发经验,深度解析推客系统小程序的技术选型、架构设计与核心功能实现,旨在为开发者提供可复用的技术方案。一、技术选型:多端统一开发框架的深度实践1.1前端框架选型对比在2025年主流框架对比中,Taro3.6.31展现出显著优势:跨平台能力:支持微信/支付宝/百度小
- CSS 样式设计:背景、字体与边框渐变详解
前端呆猿
css前端
一、CSS背景渐变CSS背景渐变是现代网页设计中常用的技术,可以创建平滑的颜色过渡效果,替代传统的静态背景图像。1.线性渐变(LinearGradient).element{background:linear-gradient(toright,#ff7e5f,#feb47b);}方向参数:toright、toleft、tobottom、totop,或角度如45deg可以添加多个颜色节点:linea
- Python for循环
dengdieli5313
python
Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法结构如下:foriterating_varinsequence:statements(s)最简单的形式如下,循环10次。1foriinrange(10):2print("loop:",i)输出为1loop:02loop:13loop:24loop:35loop:46loop:57loop:68loop:79lo
- Microsoft 紧急修补 SharePoint 远程代码执行漏洞,应对持续网络攻击
微软紧急修复SharePoint高危漏洞并提供安全建议周日,微软发布了一个关键补丁,用于修复SharePoint中正在被恶意利用的安全漏洞,同时公布了另一个已通过"增强防护措施"修复的漏洞细节。这家科技巨头确认,目前已发现攻击者正针对本地部署的SharePointServer用户发起攻击,利用的是7月安全更新中未完全修复的漏洞。漏洞详情当前被利用的漏洞编号为CVE-2025-53770(CVSS评
- 白帽必备技术栏目一(javascript基础)
直接进入主题正好也在带学生会把笔记同步发送到csdn上后期不管是去就业还是在家里挖洞都都行javascript基础注意事项局部作用域里面给到的变量不加var就会变成全局变量数据类型boolean布尔类型boolean除了0和空字符串以及nullundefined其他的都是truevarbool=true;varbool=false;number类型varnum=10;//10varnum=0x23
- 小程序框架单元测试:Jest在不同框架中的配置与使用
小程序开发2020
小程序开发宝典小程序单元测试log4jai
小程序框架单元测试:Jest在不同框架中的配置与使用关键词:Jest、单元测试、小程序、Taro、uni-app、WePY、测试配置摘要:本文将深入探讨如何在不同的小程序框架(Taro、uni-app、WePY)中配置和使用Jest进行单元测试。我们将从基础概念讲起,逐步深入到具体配置和实战案例,帮助开发者掌握小程序单元测试的核心技能,提升代码质量和开发效率。背景介绍目的和范围本文旨在帮助小程序开
- 2021-11-24
席芙蓉
part1一。从本单元学到的理念精读:1.Keepintouchwithfriendstomaintainfriendship2.Neverforgetoldfriends.视听说:Howtodescribepeople'sappearanceandactivities.二。怦然心动的单词精读:1.tale(n)故事(v)talk2.grant(v)agree(n)拨款3.intimate=clo
- 告别手动操作,NewFileTime帮你批量修改文件时间戳
简鹿办公
软件教程文件时间属性修改如何批量修改时间NewFileTime
在日常办公和文件管理中,我们有时需要调整文件的创建时间、修改时间和访问时间。无论是为了归档目的、项目管理还是个人需求,拥有一个能够精准修改这些时间戳的工具是非常有帮助的。今天我们要介绍的就是这样一款小巧但功能强大的工具-NewFileTime。什么是NewFileTime?NewFileTime是由DigitalVolcanoSoftware开发的一款专门用于Windows系统的文件时间属性修改工
- 如何打CTF竞赛?
jieyu1119
安全web安全网络
一、首先需要认识CTF竞赛1、什么是CTF竞赛?CTF(CaptureTheFlag)一般译作“夺旗赛”,在网络安全领域中指网络安全技术人员之间进行技术竞技的一种比赛形式。[11]通过各种攻击手法,获取服务器后寻找指定的字段,或者文件中某一个固定格式的字段,这个字段叫做Flag,其形式一般为Flag{xxxxxxxX},提交到裁判机就可以得分。2、竞赛模式解题模式(Jeopardy)在解题模式CT
- 使用什么工具测试昇腾 NPU卡的性能和使用情况
alankuo
人工智能
测试昇腾NPU卡的性能和使用情况可以借助华为提供的官方工具和第三方工具。以下是常用的工具及其功能介绍:1.CANN工具链(华为昇腾计算架构)CANN(ComputeArchitectureforNeuralNetworks)是昇腾AI处理器的基础软件平台,提供以下核心工具:AtlasDeviceManager(ADM)系统级监控工具,支持可视化管理集群和设备。功能:实时监控NPU温度、功耗、利用率
- 【科研绘图系列】R语言绘制配对散点图连线柱状图
生信学习者1
SCI科研绘图系列(2024版)r语言数据可视化
文章目录介绍加载R包数据下载导入数据数据预处理画图系统信息参考介绍【科研绘图系列】R语言绘制配对散点图连线柱状图加载R包library(tidyverse)library(ggplot2)library(ggsignif)library(ggpubr)library(patchwork)library(ggprism
- 【科研绘图系列】R语言绘制柱状散点连线图
生信学习者1
SCI科研绘图系列(2024版)r语言数据可视化
文章目录介绍加载R包数据下载导入数据数据预处理画图系统信息参考介绍【科研绘图系列】R语言绘制柱状散点连线图加载R包library(tidyverse)library(ggplot2)library(ggsignif)library(ggpubr)library(patchwork)library(ggprism
- Python适配器模式详解:让不兼容的接口协同工作
detayun
Pythonpython适配器模式开发语言
一、模式定义与核心思想适配器模式(AdapterPattern)是一种结构型设计模式,它通过创建一个中间层(适配器),将不兼容的接口转换为客户端期望的接口。就像现实中的电源适配器,让不同国家的插头都能在同一个插座上工作。二、模式结构解析#目标接口:客户端期望的接口classTarget:defrequest(self):"""标准请求方法"""raiseNotImplementedError#被适
- springboot-mybatis-MySQL-集成
张_皮皮
springbootmybatismavenspringbootmybatisidea
这也是我第一次搭建springboot-mybatis的项目环境,记录一下。我是用IntelliJIDEA,你可以创建maven项目,也可以直接创建spring项目,最终的项目结构如下,这里说明下,resources下面的mappers里面是存放mybatis的SQL映射文件,static下面存放前端静态资源文件,如js,css等,template下存放前端模板文件,本项目使用的freemarke
- Docker 部署的 GitLab备份和恢复
码上有约
经验分享dockergitlabeureka
Docker部署的GitLab备份和恢复数据使用Docker部署的GitLab可以通过Docker命令来进行备份和恢复。以下是具体步骤:1.停止GitLab容器在进行备份之前,最好先停止GitLab容器以确保数据一致性:dockerstop2.创建备份启动GitLab容器并执行备份命令:dockerexec-tgitlab-backupcreate备份文件将存储在GitLab容器内的/var/op
- 音视频流媒体开发【三十六】FFmpeg+QT播放器5-其他功能
AlanGe
音视频流媒体开发-目录5-stream_open和stream_close进⼀步掌握:ijkmp_prepare_async处理逻辑ijkmp_stop处理逻辑stream_openstream_open主要⼯作内容:初始化SDL以允许⾳频输出;初始化帧Frame队列初始化包Packet队列初始化时钟Clock初始化⾳量创建解复⽤读取线程read_thread创建视频刷新线程video_refre
- python3.9安装tensorflow-gpu 2.6.0和torch-gpu版本各依赖包的版本对应关系
首先使用的cuDNN(8.1)、CUDA(11.2)、tensorflow-gpu(2.6.0)、python(3.9)之间对应版本Window环境下安装pytorch下载地址tensorflow官网CUDA下载官网cuDNN下载官网注意:cuDNN需要注册absl-py0.15.0astunparse1.6.3cachetools5.3.2certifi2023.7.22charset-norm
- 车载录像机 VS 普通录像机:核心区别在哪里?
车载录像机与普通录像机(如传统硬盘录像机DVR/NVR)在应用场景、技术设计、功能侧重等方面存在显著差异。以下是核心区别的归纳分析:⚙️一、环境适应性与硬件设计抗震与防护等级车载录像机:专为车辆震动环境设计,采用工业级抗震结构(如硬盘悬浮减震、全封闭无风扇设计),抗冲击能力可达2000G,防护等级达IP67(防尘防水)。普通录像机:用于固定场所,无抗震设计,防护等级低(通常IP30以下),依赖稳定
- gitlab修改DNS解析配置文件
中东大鹅
gitlablinuxgit
在Linux(CentOS7.9)云服务器上解压gitlab时提示需要Python的环境[root@rainyun-v1vct1josrc]#rpm-ivhgitlab-ce-10.8.4-ce.0.el7.x86_64.rpmwarning:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm:HeaderV4RSA/SHA1Signature,keyIDf27eab47:N
- 说一说加油
ccpjsg
今天要说的加油,不是汽车加油。而是我们看比赛时欢呼呐喊的加油。以前英语老师总说我们是中式英语,有的表达是中式的句式。howoldareyou?是问你多大了,你多少岁?但是有的学生却说成是怎么老是你?当然是玩笑话,但是我们也知道这是不正规的,只能平时开玩笑用。但是这一境况正在改变。今天就看了一条微博,加油的中式表达,addoil,被牛津词典收录。这就意味着addoil可以光明正大的出现在任何地方。本
- LeetCode - 3274. Check if Two Chessboard Squares Have the Same Color
阿蒙Armon
LeetCodeleetcode算法职场和发展
LeetCode-3274.CheckifTwoChessboardSquaresHavetheSameColor在LeetCode的算法题库中,有许多有趣的题目将实际场景与编程逻辑相结合,LeetCode3274题CheckifTwoChessboardSquaresHavetheSameColor便是其中之一。这道题以国际象棋棋盘为背景,要求我们判断给定的两个方格颜色是否相同。通过解决这道题,
- 基本数据类型和引用类型的初始值
3213213333332132
java基础
package com.array;
/**
* @Description 测试初始值
* @author FuJianyong
* 2015-1-22上午10:31:53
*/
public class ArrayTest {
ArrayTest at;
String str;
byte bt;
short s;
int i;
long
- 摘抄笔记--《编写高质量代码:改善Java程序的151个建议》
白糖_
高质量代码
记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。
看完整本书,也记了不少笔记
- 【备忘】Django 常用命令及最佳实践
dongwei_6688
django
注意:本文基于 Django 1.8.2 版本
生成数据库迁移脚本(python 脚本)
python manage.py makemigrations polls
说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整
查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上):
python manage.p
- 阶乘算法之一N! 末尾有多少个零
周凡杨
java算法阶乘面试效率
&n
- spring注入servlet
g21121
Spring注入
传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容:
ServletContext application = getServletContext();
WebApplicationContext wac = WebApplicationContextUtil
- Jenkins 命令行操作说明文档
510888780
centos
假设Jenkins的URL为http://22.11.140.38:9080/jenkins/
基本的格式为
java
基本的格式为
java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args]
下面具体介绍各个命令的作用及基本使用方法
1. &nb
- UnicodeBlock检测中文用法
布衣凌宇
UnicodeBlock
/** * 判断输入的是汉字 */ public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
- java下实现调用oracle的存储过程和函数
aijuans
javaorale
1.创建表:STOCK_PRICES
2.插入测试数据:
3.建立一个返回游标:
PKG_PUB_UTILS
4.创建和存储过程:P_GET_PRICE
5.创建函数:
6.JAVA调用存储过程返回结果集
JDBCoracle10G_INVO
- Velocity Toolbox
antlove
模板toolboxvelocity
velocity.VelocityUtil
package velocity;
import org.apache.velocity.Template;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.c
- JAVA正则表达式匹配基础
百合不是茶
java正则表达式的匹配
正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作
正则表达式的用途;
字符串的匹配
字符串的分割
字符串的查找
字符串的替换
正则表达式的验证语法
[a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一
- 是否使用EL表达式的配置
bijian1013
jspweb.xmlELEasyTemplate
今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。
网
- 精通Oracle10编程SQL(1-3)PLSQL基础
bijian1013
oracle数据库plsql
--只包含执行部分的PL/SQL块
--set serveroutput off
begin
dbms_output.put_line('Hello,everyone!');
end;
select * from emp;
--包含定义部分和执行部分的PL/SQL块
declare
v_ename varchar2(5);
begin
select
- 【Nginx三】Nginx作为反向代理服务器
bit1129
nginx
Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:
接受客户端请求
将请求转发给被代理的服务器
从被代理的服务器获得响应结果
把响应结果返回给客户端
实例
本文把Nginx配置成一个简单的代理服务器
对于静态的html和图片,直接从Nginx获取
对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res
- Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin
blackproof
maven报错
转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin
maven报错:
Plugin execution not covered by lifecycle configuration:
- 发布docker程序到marathon
ronin47
docker 发布应用
1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry
docker pull docker-registry
docker run -t -p 5000:5000 docker-registry
下载docker镜像并发布到私有registry
docker pull consol/tomcat-8.0
- java-57-用两个栈实现队列&&用两个队列实现一个栈
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/*
* Q 57 用两个栈实现队列
*/
public class QueueImplementByTwoStacks {
private Stack<Integer> stack1;
pr
- Nginx配置性能优化
cfyme
nginx
转载地址:http://blog.csdn.net/xifeijian/article/details/20956605
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必
- [JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术
comsci
java
对图形图像进行精确处理,需要大量的数学工具,即使是从底层硬件模拟层开始设计,也离不开大量的数学工具包,因为我认为,JAVA语言体系在图形图像处理模块上面的研发工作,需要从开发一些基础的,类似实时数学函数构造器和解析器的软件包入手,而不是急于利用第三方代码工具来实现一个不严格的图形图像处理软件......
&nb
- MonkeyRunner的使用
dai_lm
androidMonkeyRunner
要使用MonkeyRunner,就要学习使用Python,哎
先抄一段官方doc里的代码
作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRun
- Hadoop-- 海量文件的分布式计算处理方案
datamachine
mapreducehadoop分布式计算
csdn的一个关于hadoop的分布式处理方案,存档。
原帖:http://blog.csdn.net/calvinxiu/article/details/1506112。
Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同ja
- 以資料庫驗證登入
dcj3sjt126com
yii
以資料庫驗證登入
由於 Yii 內定的原始框架程式, 採用綁定在UserIdentity.php 的 demo 與 admin 帳號密碼: public function authenticate() { $users=array( &nbs
- github做webhooks:[2]php版本自动触发更新
dcj3sjt126com
githubgitwebhooks
上次已经说过了如何在github控制面板做查看url的返回信息了。这次就到了直接贴钩子代码的时候了。
工具/原料
git
github
方法/步骤
在github的setting里面的webhooks里把我们的url地址填进去。
钩子更新的代码如下: error_reportin
- Eos开发常用表达式
蕃薯耀
Eos开发Eos入门Eos开发常用表达式
Eos开发常用表达式
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2014年8月18日 15:03:35 星期一
&
- SpringSecurity3.X--SpEL 表达式
hanqunfeng
SpringSecurity
使用 Spring 表达式语言配置访问控制,要实现这一功能的直接方式是在<http>配置元素上添加 use-expressions 属性:
<http auto-config="true" use-expressions="true">
这样就会在投票器中自动增加一个投票器:org.springframework
- Redis vs Memcache
IXHONG
redis
1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。
2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
3. Redis支持数据的备份,即master-slave模式的数据备份。
4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Red
- Python - 装饰器使用过程中的误区解读
kvhur
JavaScriptjqueryhtml5css
大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, Cache等。
原文链接:http://www.gbtags.com/gb/share/5563.htm
Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:
@function_wrapper
de
- 架构师之mybatis-----update 带case when 针对多种情况更新
nannan408
case when
1.前言.
如题.
2. 代码.
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="list" index=&
- Algorithm算法视频教程
栏目记者
Algorithm算法
课程:Algorithm算法视频教程
百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji
程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。
一、课程内容:
课时1、算法的基本概念 + Sequential search
课时2、Binary search
课时3、Hash table
课时4、Algor
- C语言算法之冒泡排序
qiufeihu
c算法
任意输入10个数字由小到大进行排序。
代码:
#include <stdio.h>
int main()
{
int i,j,t,a[11]; /*定义变量及数组为基本类型*/
for(i = 1;i < 11;i++){
scanf("%d",&a[i]); /*从键盘中输入10个数*/
}
for
- JSP异常处理
wyzuomumu
Webjsp
1.在可能发生异常的网页中通过指令将HTTP请求转发给另一个专门处理异常的网页中:
<%@ page errorPage="errors.jsp"%>
2.在处理异常的网页中做如下声明:
errors.jsp:
<%@ page isErrorPage="true"%>,这样设置完后就可以在网页中直接访问exc