- SpringBoot集成Swagger3.0
邪神大叔
JavaMacSpringBootswagger3.0javaspringboot
pom.xmlio.springfoxspringfox-boot-starter3.0.0SwaggerConfig/***@author:zek*@desc:swagger*/@EnableOpenApi@ConfigurationpublicclassSwaggerConfigimplementsWebMvcConfigurer{@BeanpublicDocketcreateRestApi(
- 为什么阿里Java规范不建议使用@Autowired
AWen_X
言简意赅系列之Springjava开发语言springspringboot后端
Spring中@Autowired和@Resource的区别1.基本区别特性@Autowired@Resource来源Spring框架提供JSR-250规范提供,Java标准装配顺序优先按类型装配优先按名称装配默认匹配规则默认按类型匹配,可以使用@Qualifier指定名称默认按名称匹配,如果无法匹配则按类型匹配属性required属性可以设置是否必须注入成功name属性可以显式指定bean名称适
- Spring Boot 项目启动时初始化
springboot
简介有时我们需要在启动项目时做一些操作,比如将Mysq数据库的数据导入到Redis中。这里介绍两种简单的方法。方法1;给方法添加注解@PostContruct@ComponentpublicclassInitServlet{@PostContructpublicvoidinit(){//初始化操作处理}}方法2:实现InitializingBean接口@ComponentpublicclassIn
- SpringBoot、Spring、SpringMVC原理梳理
猛猛开发
笔记javaspring
SpringBoot、Spring、SpringMVC原理梳理文章目录SpringBoot、Spring、SpringMVC原理梳理Spring、SpringMVC、SpringBoot三者的关系:Spring和SpringMVC:SpringBoot、Spring:SpringMVC的DispatchServlet解析DispatchServlet初始化:initServletBeaninitW
- SpringAOP 切面类添加@RefreshScope导致逻辑执行两遍原因
-哈喽沃德-
知识点java开发语言后端
@RefreshScope注解的核心功能是实现配置的自动刷新生效。当配置中心(例如Consul)内的配置信息出现变动时,凡是被标记了@RefreshScope注解的Bean都会经历重新初始化的过程,从而能够顺利获取到最新的配置内容。不过在最近的开发中,发现问题:若在切面(Aspect)类上使用@RefreshScope注解,会观察到接口请求被切面进行了两次处理,不符合正常预期。正常情况下,切面逻辑
- Spring Boot 中的 @ConditionalOnBean 注解详解
QQ148698
springbootjava后端
SpringBoot中的@ConditionalOnBean注解详解1.前言2.`@ConditionalOnBean`作用与基本用法2.1`@ConditionalOnBean`的作用2.2基本用法示例:当`DataSource`Bean存在时,才创建`MyService`Bean3.`@ConditionalOnBean`详解3.1`value`和`type`属性(指定Bean类型)3.2`n
- Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
上官美丽
javaspringbootjavamybatis
在使用SpringBoot进行开发时,大家应该都听说过条件注解(ConditionalAnnotations)。其中的@ConditionalOnBean注解就很有趣,它帮助开发者在特定条件下创建和注入Bean,让你的应用更加灵活。今天就来聊聊这个注解的使用场景、工作原理以及最佳实践!什么是@ConditionalOnBean注解?@ConditionalOnBean是SpringBoot中提供的
- Spring中的循环依赖问题是什么?
上官美丽
javaidejavaspringboot
在使用Spring框架进行开发时,可能会遇到一个比较棘手的问题,那就是循环依赖。说到循环依赖,很多人可能会感到有些困惑,难道这个问题真的有那么复杂吗?其实,理解循环依赖并不是很难。我们可以从Spring的依赖注入机制入手,看看循环依赖是如何产生的,以及如何解决这个问题,让项目运行得更加顺利。**什么是循环依赖呢?**简单来说,循环依赖就是在两个或多个Bean之间相互引用的情况。举个例子,假设有两个
- SpringBoot测试:@SpringBootTest与MockMvc的实战应用
程序媛学姐
Spring全家桶Javaspringboot后端java
文章目录引言一、SpringBoot测试基础1.1测试环境配置1.2测试目录结构二、@SpringBootTest注解详解2.1基本用法与配置选项2.2不同WebEnvironment模式的应用场景三、MockMvc实战应用3.1MockMvc基本使用方法3.2高级请求构建和响应验证四、模拟服务层与依赖4.1使用@MockBean模拟服务4.2测试异常处理和边界情况五、测试最佳实践5.1测试数据准
- ApplicationContext介绍
lgily-1225
日常积累java后端spring
一、概述ApplicationContext是Spring框架中的一个核心接口,它扩展了BeanFactory接口,并提供了更全面的功能。ApplicationContext不仅包含了BeanFactory的所有功能,还添加了国际化支持、资源访问、事件传播、以及更高级的容器特性,如自动装配和生命周期管理等。它是Spring应用中的核心容器,负责管理和配置应用中的对象(称为beans)。二、主要功能
- 详解Springboot的启动流程
凭君语未可
面试springboot后端java
在Redis中实现分布式锁1.主入口与SpringApplication.run()2.准备阶段3.创建应用上下文(ApplicationContext)4.Bean定义加载与上下文刷新5.EmbeddedWebServer的启动(针对Web应用)6.ApplicationRunner和CommandLineRunner执行7.应用启动完成总结1.主入口与SpringApplication.run
- mybatis plus sql性能分析插件
asvxc324deas
程序员mybatissqlandroid
在MybatisPlusConfig加入sql性能分析插件一、mybatis-plus自带的性能分析/**SQL执行效率插件性能分析插件*/@Bean@Profile({“dev”,“test”})//设置devtest环境开启publicPerformanceInterceptorperformanceInterceptor(){PerformanceInterceptorperformance
- 10 分钟学会SpringValidation数据校验和全局异常处理
ohn.yu
springspringbootjava
以下是一个使用Spring开发的简单RESTAPI小程序,通过对一张user表进行操作,代码演示如何RestAPI开发中实现数据校验、全局异常处理和返回Json格式数据。使用的核心框架包括SpringBootSpringWebSpringDataJPABeanValidation(JSR-303)Lombok1.项目依赖(pom.xml)创建一个Maven项目,添加以下依赖:"xmlns:xsi=
- 深入理解 Java 反射与 PropertyDescriptor 的应用
HoroMin
web基础easybbs项目疑难记录java开发语言反射
在Java编程中,反射是一项强大的功能,它允许我们在运行时动态地访问和操作类的信息,包括字段、方法和构造函数等。在处理JavaBean时,反射的灵活性尤为重要。而PropertyDescriptor类正是用于简化JavaBean属性的动态访问和操作。本文将探讨反射的基本概念,并通过具体示例展现如何使用PropertyDescriptor。什么是反射?反射是Java的一个特性,允许程序在运行时检查类
- Spring 导入 XML 配置文件:@ImportResource
JiaHao汤
Springspringxmljavaspringbootspringboot后端
@ImportResource是位于org.springframework.context.annotation包中的一个注解。@ImportResource用于导入XML配置文件,作用是让Spring容器加载指定的XML配置文件,并将其中定义的Bean注册到Spring容器中,以便在应用程序中使用。使用@ImportResource注解可以将一个或多个XML配置文件导入到Spring应用程序上下
- Spring常见面试题
风清扬,夏邑
Springspringjava后端
1.Spring框架中的单例bean是线程安全的吗?不是线程安全的,当多用户同时请求一个服务时,容器会给每一个请求分配一个线程,这时多个线程会并发执行该请求对应的业务逻辑(成员方法),如果该处理逻辑中有对该单列状态的修改(体现为该单例的成员属性),则必须考虑线程同步问题。Spring框架并没有对单例bean进行任何多线程的封装处理。关于单例bean的线程安全和并发问题需要开发者自行去搞定。比如:我
- Spring相关面试题
kevindanglu
面试springjavaspringboot
目录Spring中常用的注解有哪些SpringBoot中@RestController和@Controller注解有什么区别?Spring的注解@requestBody和@responseBody的区别说说@Bean和@componentscan的区别简单介绍一下springbootSpringBoot有哪些常用的Starter依赖?说说springboot的启动过程Sprintboot自动装配原
- ActiveMQ学习总结(10)——ActiveMQ采用Spring注解方式发送和监听
一杯甜酒
ActiveMQ
对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了。那么,Spring提供了一个很方便的去收发消息的框架,springjms。整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好。1.maven依赖org.apache.xbeanxbean-spring3.16org.springframeworkspring-jms
- ActiveMQ监听器在MQ重启后不再监听问题
四脚小蜗
ActiveMqactivemq
应用的监听器注解@JmsListener(destination="TopicName",containerFactory="FactoryName")工厂代码@BeanJmsListenerContainerFactoryFactoryName(ConnectionFactoryconnectionFactory){SimpleJmsListenerContainerFactoryfactory
- 基于 SSM 架构的 JAVA 网络直播带货查询系统设计与 JSP 实践成果
2401_85702623
架构java开发语言
第二章关键技术的研究2.1JSP技术介绍JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了用户的需求。JavaBeans可以对JSP技术的程序进行扩展,从而形成新的应用程序,而且JavaBeans的代码可以重复使用,所以就便于对程序进行维护。JavaBean组件有内部的接口,可以帮
- spring bean的生命周期和循环依赖
huingymm
面试学习使用springjava后端
springbean的生命周期在Spring框架中,Bean的生命周期是指从Bean的创建到销毁的整个过程。Spring容器负责管理Bean的生命周期,开发者可以通过配置或编程方式干预Bean的创建、初始化和销毁过程。以下是SpringBean生命周期的详细步骤:1.实例化(Instantiation)Spring容器根据配置(如XML、注解或Java配置)创建Bean的实例。这一步是通过反射调用
- Tomcat新手入门指南:从零开始安装与基本配置
金枪鱼net
tomcat
Tomcat新手入门指南:从零开始安装与基本配置Tomcat是一个广泛使用的Javaservlet容器,用于运行Web应用服务器。它将JavaBean转换为Servlet,并作为JVM的一个虚拟进程运行。以下是一步一步的教程,帮助您快速安装和配置Tomcat。第一步:准备环境安装JavaDevelopmentKit(JDK)打开命令提示符或Terminal。输入以下命令并按回车键:brewinst
- Spring Boot中Bean的 构造器注入、字段注入和方法注入
Nijika...
springspringjava后端
在Spring中,依赖注入(DI)是实现控制反转(IoC)的一种方式,Spring提供了多种注入方式来将依赖关系注入到Bean中,常见的方式有构造器注入、字段注入和方法注入。下面将详细介绍这三种注入方式。1.构造器注入(ConstructorInjection)构造器注入是通过构造函数将依赖项注入到SpringBean中。Spring容器会在创建Bean时,通过调用构造方法来注入依赖。特点:适用于
- spring创建bean的过程
咸鱼cc
springjavaservlet前端springboot
Spring创建bean的过程包括以下步骤:定义bean:通过在Spring配置文件中定义bean,包括bean的类型、属性、构造函数等。装配bean:通过将bean的属性注入到bean中,以完成bean的装配。初始化bean:在bean被创建后,调用相应的初始化方法,对bean进行初始化。预处理bean:在bean被创建之前,对bean进行预处理,以满足bean的需求。将bean放入IoC容器:
- 【Jmeter】前置处理器实战:「BeanShell 预处理程序」参数化手机号码、身份证号
顾三殇
JMeter从入门到软件测试实战jmeter
一、实战场景业务场景:常见业务管理系统测试中,个人信息档案的自动化批量生成,需要贴近实际进行入参,在姓名、手机号码、身份证号、生日、性别中,这五者有着各自的行业规范格式,而生日、性别有时是由身份证号默认带出数据的信息,数据输入规范:·姓名:“姓”在百家姓中任意取一,“名”任意,均为对字符串的随机取值,字数为2~18字·手机号码:11位整数,“手机号码”规范格式,比如188、135等开头的号码为有效
- Unreal Engine开发:Unreal Engine基础入门_蓝图基础
chenlz2007
游戏开发2虚幻游戏引擎java前端网络
蓝图基础蓝图概述什么是蓝图?蓝图(Blueprint)是UnrealEngine中的一个可视化脚本系统,允许开发者通过拖拽和连接节点来创建游戏逻辑、关卡脚本和自定义行为。蓝图使得非程序员也能轻松地进行游戏开发,同时也为程序员提供了一个快速迭代和调试的工具。蓝图系统基于C++的底层架构,因此可以实现与使用C++相同的功能,但更加直观和易于理解。蓝图的类型UnrealEngine中的蓝图主要有以下几种
- Spring之Bean生命周期源码解析-一文掌握(一)
小徐Chao努力
源码分析springjava后端
Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的Bean的生成过程1.生成BeanDefinitionSpring启动的时候会进行扫描,会先调用org.springfr
- Spring之底层架构核心概念解析
小徐Chao努力
源码分析springjava后端设计模式
BeanDefinitionBeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如:class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMethodName:表示Bean初始化时要执行的方法destroyMethodName:表示Bean销毁时要执行的方法还有很多
- Spring Boot自动装配原理
咸阳彭于晏
SpringBootspringbootjavaspring后端
SpringBoot自动装配原理一、什么是自动装配?自动装配通过分析类路径下的依赖、Bean的定义以及其他配置信息,自动配置Spring应用程序的配置类和Bean,以减少开发人员的配置工作,提高开发效率。 SpringBoot的自动装配实际上是从META-INF/spring.factories文件中获取到对应的需要进行自动装配的类,并生成相应的Bean对象,然后将它们交给Spring容器进
- SpringBoot监听应用启动和优雅停机
黑风风
Spring参考手册springbootjavaspring
SpringBoot监听应用启动和优雅停机在SpringBoot中,监听应用的启动和优雅停机(gracefulshutdown)可以使用ApplicationListener监听ApplicationReadyEvent和ApplicationFailedEvent事件,同时通过@PreDestroy或DisposableBean处理关闭逻辑。下面是具体实现步骤:1.监听SpringBoot启动可
- 基本数据类型和引用类型的初始值
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