- 《Python Web部署应知应会》No2:如何基于FastAPI 和 OLLAMA 架构实现高并发 AI 推理服务
带娃的IT创业者
PythonWeb部署应知应会pythonfastapi架构flask
《PythonWeb部署应知应会》No2:如何基于FastAPI和OLLAMA架构实现高并发AI推理服务(上)摘要:在FastAPI和OLLAMA架构中实现高并发AI推理服务,并优化性能指标采集和缓存策略,可以充分利用asyncio的异步I/O操作来提升吞吐量和响应速度。以下是一个详细的解决方案,分为基础实现架构概述、实现步骤、性能指标采集、结合FastAPI和OLLAMA、优化方案详细实现(批量
- 【c++笔试强训】(第四十七篇)
single594
c++开发语言算法java牛客
目录活动安排(贪⼼-区间)题目解析讲解算法原理编写代码合唱团(动态规划-线性dp)题目解析讲解算法原理编写代码活动安排(贪⼼-区间)题目解析1.题目链接:活动安排_牛客题霸_牛客网2.题目描述描述给定nn个活动,每个活动安排的时间为[a_i,b_i)[ai,bi)。求最多可以选择多少个活动,满足选择的活动时间两两之间没有重合。输入描述:第一行输入一个整数nn(1\len\le2\cdot10^51
- 【贪心算法】(第十二篇)
single594
1024程序员节贪心算法算法数据结构javac++vscode
目录⽆重叠区间(medium)题目解析讲解算法原理编写代码⽤最少数量的箭引爆⽓球(medium)题目解析讲解算法原理编写代码⽆重叠区间(medium)题目解析1.题目链接:.-力扣(LeetCode)2.题目描述给定⼀个区间的集合intervals,其中intervals[i]=[start(i),end(i)]。返回需要移除区间的最⼩数量,使剩余区间互不重叠。⽰例1:输⼊:intervals=[
- 【优选算法】(第二十五篇)
single594
算法数据结构javac++leetcode排序算法vscode
目录计算右侧⼩于当前元素的个数(hard)题目解析讲解算法原理编写代码翻转对(hard)题目解析讲解算法原理编写代码计算右侧⼩于当前元素的个数(hard)题目解析1.题目链接:.-力扣(LeetCode)2.题目描述给你⼀个整数数组nums,按要求返回⼀个新数组counts。数组counts有该性质:counts[i]的值是nums[i]右侧⼩于nums[i]的元素的数量。⽰例1:输⼊:nums=
- VSCode内Copilot快捷键
小纛
vscodecopilotide
https://zhuanlan.zhihu.com/p/16497512683快捷键:编辑器内打开(ctrl+I)打开侧边栏EditwithCopilot(ctrl+shift+I)AskCopilot(ctrl+alt+I)
- Eigen库小记
MobiCetus
机器学习人工智能
有时候脑子会突然卡住,忘记eigen库里的有些细节。所以还是决定来写个笔记把常用的用法总结一下,方便查阅。1、Installationg++-I/path/to/eigen/program.cpp-oprogram在CmakeLists中添加find_package(Eigen3REQUIRED)include_directories(&{EIGEN#_INCLUDE_DIR})2、Eigen库的
- docker端口映射成功,docker端口不生效的问题解决,外界无法访问docker映射端口
皮小白
dockerdocker容器运维linux
docker端口映射不生效的问题解决问题使用dockerrun-p88848:8848后,显示容器启动正常,并且使用dockerlogs–fxxx能够看到容器可以正常启用,dockerps可以看到容器启动成功,并且端口已经映射,但是在浏览器访问相关地址,就是无法打开问题检查:杀了容器,重启容器-》观察是否是容器启动异常lsof-i:xxx或者netstat–nltp|grepxxx来查看是否有端口
- 嵌入式系统笔试题(Zynq/FreeRTOS/LwIP/Cache/硬件设计)
指令集诗人
zynqfpga开发
嵌入式系统笔试题(Zynq/FreeRTOS/LwIP/Cache/硬件设计)时间:90分钟 总分:100分一、基础知识(共30分)选择题(每题2分,共10分)(1)Zynq-7000的PS和PL之间通过哪种总线协议进行高速数据传输?A.AXI4 B.I2C C.SPI D.UART(2)FreeRTOS中,任务优先级数值越大表示优先级:A.越高 B.越低 C.与数值无关 D.由调度器动态调整(
- Chapter 23&Chapter 24:Presenters and Humble Objects&Partial Boundaries_《clean architecture》notes
lianghu666
架构师架构开发语言笔记
Chapter23:PresentersandHumbleObjectsKeyConceptsHumbleObjectPattern:Separateslogicthatishardtotest(e.g.,UI,I/O)frombusinesslogic.Coreidea:Movetestablelogicinto“humble”componentswithminimalbehavior.Pres
- 算法打卡-day9
EagleOwl606
算法java数据结构
递归二分查找publicclassE03BinarySearch{publicstaticintsearch(int[]a,inttarget){returnf(a,target,0,a.length-1);}publicstaticvoidmain(String[]args){}//i为起始索引privatestaticintf(int[]a,inttarget,inti,intj){//出口i
- HarmonyOS NEXT AI基础视觉服务-背景替换
harmonyos-next
案例描述这是一个基于AI基础视觉服务实现的背景替换案例,通过调用设备相册选择图片后对主体进行智能分割,并支持动态更换背景颜色。实现步骤:1.模块导入与组件定义import{photoAccessHelper}from'@kit.MediaLibraryKit'import{fileIo}from'@kit.CoreFileKit'importimagefrom'@ohos.multimedia.i
- CentOS 7安装串口调试工具 cutecom
Machinist..
linuxcentos
cutecom是Linux操作系统下的可视化图形界面串口调试工具,其下载安装步骤如下:1、下载rpm安装包wgethttp://springdale.math.ias.edu/data/puias/unsupported/6/i386/cutecom-0.22.0-1.puias6.i686.rpm2、安装依赖库(以下步骤均需在root账户下执行)yuminstalllibQt3Support.s
- 深入理解 Python 中的异步操作:async 和 await
aiweker
跟我学pythonpython服务器
深入理解Python中的异步操作:async和await引言在现代编程中,异步操作是一个非常重要的概念,尤其是在处理I/O密集型任务时。使用异步操作可以显著提高程序的性能和响应速度。Python提供了async和await关键字,使得编写异步代码变得更加直观和简洁。在这篇文章中,我们将深入探讨Python的异步操作,并通过实际代码示例来说明其使用方法。目录什么是异步操作?Python中的异步编程基
- Openjudge 1759:最长上升子序列
PandaLYL
Openjudgec++算法
dp做法我们设fif_ifi表示以第iii格为结尾得最长上升子序列的长度。先来看样例。数组aaa:1735948数组fff:1223434我们枚举iii,然后看iii之前的第jjj位(j≤ij\leij≤i),判断aja_jaj是否小于aia_iai,然后就有转移方程fi=max(fi,fj+1)f_i=\max(f_i,f_j+1)fi=max(fi,fj+1)初始化:fi=1f_i=1fi=
- 数组推导 ccf-csp 2021-9-1
ahahahahaha2333
ccf-csp(算法)算法c++数据结构
代码#includeusingnamespacestd;intmain(){intn;cin>>n;intb[101]={0};intsum=0;//最大值intdum=0;//最小值for(inti=0;i>b[i];sum+=b[i];if(i==0||b[i]!=b[i-1]){dum+=b[i];}}cout<<sum<<endl;cout<<dum<<endl;return0;}
- 相似度计算 ccf-csp 2024-2-2
ahahahahaha2333
ccf-csp(算法)算法c++数据结构
#includeusingnamespacestd;intmain(){//定义两个变量n和m,分别用于存储两篇文章的单词个数intn,m;//从标准输入读取n和m的值cin>>n>>m;//定义三个map容器,A用于存储并集,T用于标记第一篇文章中的单词,B用于存储交集mapA,T,B;//循环读取第一篇文章的n个单词for(inti=0;i>t;//遍历单词t的每个字符for(intj=0;j
- IDEA快捷键
老干妈拌士力架
尚硅谷Javasejava
文章目录ctr+shift+/多行注释windowsideacopilot提示:alt+/代码提示alt+[显示上一个建议alt+]显示下一个建议shift+enter向下插入一行并跳转到下一行alt+insert快速创建构造函数foriTab快速生成for循环i.foreach生成foreach循环ctrl+H打开类层次窗口ctrl+F12查看当前类的所有方法
- Idea快捷键
路飞sky
ideaidea快捷键
Idea快捷键Ctrl+n找classCtrl+shift+n找文件Ctrl+Shift+F,全局查找Alt+f7查看引用Ctrl+Alt+f7弹小窗口查看引用Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按F3可以选择F11自己配置,深入查看F12自己配置,直接查看实现类Ctrl+f12查看类中方法Ctrl+U,转到父类Ctrl+G,定位行Ctrl+o重写Ctrl+I实现接口Alt+i
- 7-7 阶乘表 (10 分)(PTA)
one .
阶乘C语言输出格式正整数程序实现
输入一个正整数n(n#include#includeintmain(){intn;scanf("%d",&n);doublez=1;//这里不能用int,因为int的范围不够//for(inti=1;i<=n;i++){z=z*i;printf("%-4d%-20.0f\n",i,z);//注意%f默认是保留6位小数,且是左对齐,所以要写成此形式//}return0;}
- 糖果--状压dp--用二进制求满足种类的最小包数
泛舟起晶浪
算法数据结构
用二进制求满足种类的最小包数集合式(表示每一个元素是否在集合中)1.用usingnamespacestd;#defineN100011typedeflonglongll;typedefpairPII;intt[110];intn,m,k;intdp[10000009];///2的20次方大小,因为m>n>>m>>k;for(inti=1;i>x;t[i]|=(1n)cout<<-1;///满了但不
- 工信部同意中国互联网信息中心设立域名根服务器及运行机构
运维派V
据工信部网站6月26日消息,工业和信息化部发布关于同意中国互联网络信息中心设立域名根服务器(F、I、K、L根镜像服务器)及域名根服务器运行机构的批复。批复如下工信部信管函〔2019〕172号中国互联网络信息中心:你中心关于设立域名根服务器(F、I、K、L根镜像服务器)及域名根服务器运行机构的申请收悉。根据《互联网域名管理办法》(工业和信息化部令第43号)有关规定,经审查,现批复如下:一、同意你中心
- python获取字符串行数_关于文本文件:如何在python中获取行数?
weixin_39923262
python获取字符串行数
我需要在python中获取一个大文件(数十万行)的行数。记忆和时间方面最有效的方法是什么?现在我这样做了:deffile_len(fname):withopen(fname)asf:fori,linenumerate(f):passreturni+1有没有可能做得更好?您需要精确的行数还是近似值就足够了?我需要一个准确的。使用核心卢克。我会在for循环之前添加i=-1,因为此代码不适用于空文件。@
- 集合使用stream求两个集合的交集和差集
莳光.
java
代码如下:publicstaticvoidmain(String[]args){Listlist1=newArrayListlist2=newArrayListcollect1=list1.stream().filter(i->list2.contains(i)).collect(Collectors.toList());//2.从一个集合中过滤掉另一个集合的元素Listcollect2=list
- 软件工程面试题(十二)
a18007931080
软件工程java面试
1、文件和目录(i/o)操作,怎么列出某目录下所有文件?某目录下所有子目录,怎么判断文件或目录是否存在?如何读写文件?列出某目录下所有文件:调用listFile(),然后判断每个File对象是否是文件可以调用isFile(),判断是否是文件夹可以调用isDirectory(),判断文件或目录是否存在:调用exists()方法,读写文件使用FileReader和FileWriter两个类即可2、怎么
- Python头歌实验题目(2024版)
小白654321
python开发语言
武汉理工大学python头歌平台实验题目答案第1关欢迎入学a=input()print('|++++++++++++++++++++++|')print('||')print('|WelcometoWHUT|')print('||')print('|++++++++++++++++++++++|')print(f'欢迎您,{a}同学!')第2关整数四则运算a=int(input())b=int(i
- 7.6 分治-归并:LeetCode 315.计算右侧小于当前元素的个数
熊峰峰
#1.1leeCode算法习题leetcode算法数据结构
归并排序索引追踪法:LeetCode315.计算右侧小于当前元素的个数1.题目链接LeetCode315.计算右侧小于当前元素的个数题目要求:给定一个整数数组nums,返回一个数组ret,其中ret[i]表示原数组中位于nums[i]右侧且比nums[i]小的元素个数。例如,输入[5,2,6,1],输出[2,1,1,0]。2.题目描述输入:整数数组nums,例如[5,2,6,1]。输出:数组ret
- I/O 系统的功能、模型与接口
JAZJD
计算机组成原理网络硬件架构
目录I/O系统的基本功能1.设备独立性2.缓冲3.设备共享4.高速缓存5.设备管理I/O系统的层次结构与模型1.单块传输模型2.缓冲管理模型3.通道模型4.虚拟设备模型5.直接内存访问(DMA)模型6.层次结构示意图I/O接口1.程序控制接口2.设备独立性接口3.缓冲接口4.同步与异步接口5.面向块与面向字节的接口结语I/O系统是计算机系统的重要组成部分,负责管理输入输出设备,以实现高效的数据传输
- 【学Rust写CAD】13 图像结构体(Image.rs)
Source.Liu
学Rust写CADrustCAD
Image.rs文件定义了一个名为Image的结构体,用于表示图像数据。源码如下:#[derive(Clone,Copy)]pubstructImage{pubwidth:i32,pubheight:i32,pubdata:&'a[u32],}让我们逐步分析它的各个部分:属性宏#[derive(Clone,Copy)]这个属性自动为Image结构体实现了Clone和CopytraitClone允许
- ⭐算法OJ⭐俄罗斯套娃信封问题【排序 + LIS】(Russian Doll Envelopes)
Vitalia
算法OJ算法
问题描述LeetCode354.俄罗斯套娃信封问题(RussianDollEnvelopes)给定一个二维整数数组envelopes,其中envelopes[i]=[w_i,h_i]表示第i个信封的宽度和高度。当一个信封的宽度和高度都比另一个信封大时,它可以套进去(类似俄罗斯套娃)。求最多能有多少个信封组成“套娃”序列?示例:输入:envelopes=[[5,4],[6,4],[6,7],[2,3
- HarmonyOS NEXT AI基础视觉服务-背景替换
harmonyos-next
案例描述这是一个基于AI基础视觉服务实现的背景替换案例,通过调用设备相册选择图片后对主体进行智能分割,并支持动态更换背景颜色。实现步骤:1.模块导入与组件定义import{photoAccessHelper}from'@kit.MediaLibraryKit'import{fileIo}from'@kit.CoreFileKit'importimagefrom'@ohos.multimedia.i
- 基本数据类型和引用类型的初始值
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