- 美团一面
Redstone Monstrosity
前端面试
1.为什么代码输出顺序是这样的?请尽可能详细地解释原理和过程。asyncfunctionasync1(){console.log('async1start');awaitasync2();console.log('async1end')}asyncfunctionasync2(){console.log('async2')}console.log('scriptstart');async1();c
- 【C#Mutex】 initiallyOwned错误引起的缺陷
闻缺陷则喜何志丹
c#互斥量进程同步WaitOneinitiallyOwned临界区
临界区只能对同一个进程的不同线程同步,互斥量可以跨进程同步。典型应用场景:两个exe会操作同一个注册表项。错误代码封装类publicclassCMutexHelp:IDisposable{publicCMutexHelp(){s_mutex.WaitOne();}privatestaticMutexs_mutex=newMutex(true,"Time202409091406ab");public
- opencv 学习 1
木木ainiks
opencv计算机视觉python
opencv学习的第一天#coding:utf-8importcv2ascv#首先读图片src=cv.imread(“img/1.jpg”)#设置图片的名字cv.namedWindow(“1”,cv.WINDOW_AUTOSIZE)#显示图片第一个参数设置图片名,第二个参数图片的地址cv.imshow(“1”,src)cv.waitKey(0)#将图片写入固定位置cv.imwrite(“img/2
- Java多线程相关面试题整理
长河落日袁同学
不积跬步无以至千里java笔记多线程锁面试
目录1.什么是线程和进程?线程与进程有什么区别?那什么是上下文切换?进程间怎么通信?什么是用户线程和守护线程?2.并行和并发的区别?3.创建线程的几种方式?Runnable接口和Callable接口的区别?run()方法和start()有什么区别?4.Java线程状态和方法?描述线程的生命周期?一个线程两次调用start()方法会出现什么情况?sleep()和wait()方法的区别是什么?5.并发
- 遇到僵尸进程,怎么处理---学习笔记
summer@彤妈
性能优化linux
僵尸进程解释当iowait升高时,进程很可能因为得不到硬件的响应,而长时间处于不可中断状态。从ps或者top命令的输出中,你可以发现它们都处于D状态,也就是不可中断状态(UninterruptibleSleep)。既然说到了进程的状态,进程有哪些状态你还记得吗?我们先来回顾一下。top和ps是最常用的查看进程状态的工具,我们就从top的输出开始。下面是一个top命令输出的示例,S列(也就是Stat
- java基础-线程间通信方式
问道飞鱼
Java开发技术java开发语言
文章目录1.wait()和notify()2.volatile关键字3.Java.util.concurrent包提供的工具类Semaphore(信号量)BlockingQueue(阻塞队列)4.Atomic类在Java中,线程间的通信是非常重要的,尤其是在多线程编程中,它有助于协调线程的行为,确保资源的正确访问和更新。Java提供了多种方式来实现线程间的通信,主要包括以下几种方法:1.wait(
- 网络编程9.4
江亭棠
网络linux
1、多进程多线程并发服务器,再实现一遍(重点模型)。多进程并发服务器:#include#defineSERPORT9999#defineSERIP"192.168.0.162"#defineBACKLOG10voidhande(intsss){if(sss==SIGCHLD){while(waitpid(-1,NULL,WNOHANG)!=-1);}}intmain(intargc,constch
- 【线程同步3】使用条件变量和互斥锁实现【生产-消费场景】
大家好,我是好同学
linux系统编程c++服务器linux
条件变量条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用,这因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量通常一起使用。一般条件变量有两个状态:一个/多个线程为等待“条件变量的条件成立“而挂起(wait)另一个线程在“条件变量条件成立时”通知其他线程(signal)相关函数操
- Tomato and egg noodles
EHHHA
First,washandcutupthetomato.Next,pourtheeggintothebowlThen,potthenoodlesintothepot.Next,putthenoodlesandeggsintothepot.waitfiveminutes.Finaly,putthenoodlesinit.Don'tforgetaddsomesalt.andwecaneatit.图片发
- 说说你对koa中洋葱模型的理解?
J轩
前端
什么是koa?Koa是一个精简的node框架,被认为是第二代Node框架,其最大的特点就是独特的中间件流程控制,是一个典型的洋葱模型,它的核心工作包括下面两个方面:1.将node原生的req和res封装成为一个context对象。2.基于async/await的中间件洋葱模型机制。Koa1和Koa2在源码上的区别有何不同?Koa1是使用generator、yield的模式。Koa2使用的是asyn
- koa2 洋葱模型
gaearon
koa2jsnodejsnode.jskoa2
示意图koa2是基于async和await实现的,使用next进行流程控制。这样就可以使用awaitnext()进行一种特殊的执行顺序,等下一个路由执行完毕之后,再执行当前路由,通常称为“洋葱模型”。何谓“洋葱模型”就像那首歌一样,“一层一层剥开我的心”,koa2中的“洋葱模型”也是这样,匹配到的路由,可以一层一层进去,进入最内层之后,再一层一层出来。例如这个demo:api.get("/",as
- scanBasePackages原理和使用范例
执于代码
springboot开发语言
scanBasePackages原理和使用范例目录概述需求:设计思路实现思路分析1.正文参考资料和推荐阅读Survivebydayanddevelopbynight.talkforimportbiz,showyourperfectcode,fullbusy,skiphardness,makeabetterresult,waitforchange,challengeSurvive.happyforh
- 3.1、前端异步编程(超详细手写实现Promise;实现all、race、allSettled、any;async/await的使用)
lin-lins
JavaScript高级前端javascripthtml
前端异步编程规范Promise介绍手写Promise(resolve,reject)手写Promise(then)Promise相关API实现allraceallSettledanyasync/await和Promise的关系async/await的使用Promise介绍Promise是一个类,可以翻译为承诺、期约Promise就像一个容器,里面存放着未来才会结束,返回结果的容器,返回的结果只需要
- 第三部分:5---进程等待、进程终止
S+叮当猫
LinuxCentOS算法服务器linux
目录进程的两种终止方式:正常终止——进程退出码:查看最近一次进程退出的退出码:自定义退出码对应的文本信息:退出码和C语言的错误码的关系:异常终止——操作系统发送信号:————————————————exit和_exit终止进程的区别:————————————————什么是进程等待?为什么要等待进程?wait实现进程等待:waitpid实现进程等待:对status的解析:为什么不写一个status全
- react 全局状态管理 redux的使用
小刘的代码仓库
react.js前端javascript
redux为全局状态管理类似vuex目录redux官网一、安装npminstallredux二、创建三、修改四、接受五、拆分、合并六、异步处理redux-thunk的使用七、redux-promise的使用八、async和await九、react-redux的使用十、修改soter的属性值十一、异步的完整代码redux官网入门Redux|Redux中文官网一、安装npminstallredux二、
- VUE3学习路线
蜡笔小新星
Vue学习vue经验分享
以下是一份详细的Vue3学习路线,涵盖从基础到进阶的各个方面,以帮助你系统掌握Vue3开发。第一阶段:基础知识理解前端基础HTML:了解文档结构,常用标签,语义化HTML。CSS:学习选择器、布局、Flexbox和Grid,基本的样式应用。JavaScript:理解基本语法、DOM操作、事件处理、异步编程(Promises,async/await),以及ES6+特性(如箭头函数、解构赋值、模块化)
- 题解 | #字符统计#hashmap + treeset
2301_79125642
java
双非简历求拷打,秋招够用吗#我的简历长这样##最后再改一次简历#async/await的用途和工作原理async/await是ES8(ES2017)引入的一种用于处理异步操作的语法,它建立在ProVue中组件传值的方式Vue中组件传值的方式主要有以下几种:https://www.nowcoder.com/issue异步编程?异步编程是一种编程模式,用于处理可能会花费较长时间的操作,而不会阻塞其他代
- 【Python机器学习】循环神经网络(RNN)——对RNN进行预测
zhangbin_237
Python机器学习机器学习pythonrnn深度学习人工智能自然语言处理
目录有状态性双向RNN编码向量如果有一个经过训练的模型,接下来就可以对其进行预测:sample_1="""Ihatethatthedismalweatherhadmedownforsolong,whenwillitbreak!Ugh,whendoeshappinessreturn?Thesunisblindingandthepuffycloudsaretoothin.Ican'twaitforth
- Right Here Waiting
子非鱼_363e
阳光从窗户偷偷跑进浴室里,光明正大的拥抱赤裸的我,浅度的水从蓬头喷出,肆意妄为的在身上游走,又在空中欢腾,它游遍我的全身,最后坠落于光滑的地板上时都是活跃的,不带一丝一毫的悲伤与痛苦。阳光和那浅浅淡淡的水花在空中交汇,眼里出现了七色,世人称作彩虹。但那时的我仿佛那是我的灵魂正在接受洗刷,洗净那些污垢不堪、难言之隐和毫无作为的懦弱。然后灵魂重新回到我的身体,带着崭新的姿态迎接我的动乱。斯人若彩虹,遇
- ubuntu 24.04 安装telnet服务
tjjingpan
ubuntulinux
1.安装telnet客户端$sudoapt-getinstalltelnet2.安装telnet服务器$sudoapt-getinstlaltelnetd3.安装网络守护进程服务程序来管理telnet服务$sudoapt-getinstallxinetd4.修改配置文件inetd.conf$sudovi/etc/inetd.conftelnetstreamtcpnowaittelnetd/usr/
- Vue3异步请求的最佳实践:async/await 与 Promise.then(),Vue3请求接口数据,以及TypeScript中的泛型和任意类型(Vue3请求API,TS中的T 和 any)
北城笑笑
VueJS前端vue.js
前言在Vue3开发中,异步请求是非常常见的操作,特别是在与后端API交互时。虽然Vue.js自带了一些对异步数据的处理方式,但合理使用异步操作是确保应用顺畅运行的关键。这里我分享一下Vue3异步请求的最佳实践,并探讨async/await和Promise.then()两种处理异步操作的方式,简单记录一下1.请求接口的实现这里,我们使用一个请求接口callAskRecordList,它会从/gpt/
- 【Linux】Epoll触发模式
哥不想学算法
linuxc++
讲讲epoll的边沿触发和水平触发水平触发:如果epoll_wait缓冲区有数据则直接返回。边沿触发:如果一次没有读完epoll_wait缓冲区中的数据,则只有当另外有数据再写入时,才返回。使用边沿触发和非阻塞IO来达到水平触发的效果,减少了epoll_wait的调用次数,提高了效率。边沿触发可以只读取缓存区中前面的部分信息,进而分析后面的信息是否有用,如果无用则直接丢弃。
- Linux :epoll ET 模式下文件描述符出现饥饿的情况
技术探索者
linux知识epoll
背景(饥饿问题)使用epollET模式时,epoll_wait返回就绪文件描述符集合,然后我们循环处理,但这时如果有一个文件描述符上有大量输入(不间断的输入流),因为我们ET模式需要一直读到返回EAGIN/EWOULDBLOCK,那我们就会一直在处理这个文件描述符,而导致其他文件描述符得不到处理,这就是采用边缘触发时有可能出现的文件描述符饥饿情况处理方法参考Linux/Unix系统编程手册63.4
- 3.4 Principles of Reliable Data Transfer (Part 2)
找不到工作
上接Part1。3.4.2PipelinedReliableDataTransferProtocols如我们在Part1中指出的,rdt3.0虽然是一个正确的可靠数据传输协议,然而它的性能无法满足需求。因为它实质上是一个stop-and-wait的协议,即在收到上一个数据的ACK之前无法发送下一个数据。解决方法是,sender不需要等待ACK,可以连续发送多个数据包。每个inflight的包都应该
- (周运)12星座一周运势(12.9~12.15)
小一封子
图片发自App公众号:djydxnwgy微信号:waitinggy9白羊座白羊座本财运一般。事业运不错,之前的努力会在本周有所回报。工作上一些项目在本周基本上会结束。不管是在工作上还是和朋友间的沟通交流,都要注意下自己的说话方式,不要心直口快。有些白羊在本周中间的时期会收到物质报酬。感情上,单身的白羊本周会比较主动,很热情。有伴的白羊们之前有一些问题的可以在这周解决掉。金牛座金牛座本周财运不是很好
- Promise、async/await 的使用
渡鸦七
JavaScript前端javascript开发语言
Promise、async/await的使用目录Promiseasync/awaitPromise什么是Promise?Promise是异步编程的一种解决方案,它代表了一个异步操作的最终结果。它是一个对象,用来传递异步操作的消息,而不是直接传递结果。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理,并提供统一的接口。Promise也有三种状态:Pending(等待中):初始状
- vue-element根据后端返回的值,在表格内生成二维码并且下载
爬坑的小白
vue.jsjavascriptchrome
1:安装qrcodenpmiqrcode2:引入qrcodeimportQRCodefrom'qrcode'3:页面下载4:方法//封装方法生产二维码asyncgetCode(data){console.log(data,';;;')try{constdataSting=data.toString()constqrCodeData=awaitQRCode.toDataURL(dataSting)r
- async/await
隔壁老王z
在async/await之前的三种写回调的方式:1、嵌套回调2、以Promise为主的链式回调3、使用Generators但是,这三种写起来都不够优雅,ES7做了优化改进,async/await应运而生,async/await相比较Promise对象then函数的嵌套,与Generator执行的繁琐(需要借助go才能自动执行,否则得手动调用next()),Async/Await可以让你轻松写出同步
- Python异步编程_asyncio
代码输入中...
python开发语言深度学习numpy
1.协程协程不是计算机提供的,它是程序员创造的。协程-Co_routine,也可以称之为微线程,是一种用户态内的上下文切换技术,简而言之,其实就是通过一个线程实现代码块相互切换执行。实现协程的几种方法:greenlet,早期模块yield关键字asyncio装饰器(python3.4及其之后)async、await关键字(python3.5及其之后)【推荐】1.1greenlet实现协程pip3i
- Python 协程 & 异步编程 (asyncio) 入门介绍
linmeiyun
后端pythonpython爬虫学习开发语言机器学习
在近期的编码工作过程中遇到了async和await装饰的函数,查询资料后了解到这种函数是基于协程的异步函数。这类编程方式称为异步编程,常用在IO较频繁的系统中,如:Tornadoweb框架、文件下载、网络爬虫等应用。协程能够在IO等待时间就去切换执行其他任务,当IO操作结束后再自动回调,那么就会大大节省资源并提供性能。接下来便简单的讲解一下异步编程相关概念以及案例演示。1.协程简介1.1协程的含义
- 基本数据类型和引用类型的初始值
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