2023年11月29日发(作者:)
Java常见异常种类
------------------------------第⼀种理解----------------------
1、什么是异常
结构不佳的代码不能运⾏,这是Java的基本理念。
发现错误的理想时机是在编译期。然⽽,编译器并不能发现所有的错误,余下的问题就需要在程序运⾏时解决。这就需要错误能通过某种⽅
式,把适当的信息 传递给特定的接收者处理。Java中的异常处理的⽬的在于通过使⽤少量的代码来简化⼤型、可靠的程序的⽣成,通过此⽅式
让你的应⽤中没有未处理的错误,⽽ 且它还带来了⼀个明显的好处:降低错误处理代码的复杂度。
异常,根据字⾯理解,有意外之意。把它置于代码层⾯来理解,即阻⽌了当前⽅法或作⽤域继续执⾏。
在Java中,异常被当做对象来处理,其基类是Throwable。
2、Java中的异常类型
Java从Throwable直接派⽣出Exception和Error。其中Exception是可以抛出的基本类型,在Java类库、⽅法以及运⾏时故障中都可能抛出
Exception型异常。Exception表⽰可以恢复的异常,是编译器可以捕捉到的;Error表⽰编译时和系统错误,表⽰系统在运⾏期间出现了严重的
错误,属于不可恢复的错误,由于这属于JVM层次的严重错误,因此这种错误会导致程序终⽌执⾏。Exception⼜分为检查异常和运⾏时异
常。异常类的结构层次图如下:
典型的RuntimeException(运⾏时异常)包括NullPointerException, ClassCastException(类型转换异常),IndexOutOfBoundsException(越界
异常), IllegalArgumentException(⾮法参数异常),ArrayStoreException(数组存储异常),AruthmeticException(算术异
常),BufferOverflowException(缓冲区溢出异常)等;
⾮RuntimeException(检查异常)包括IOException, SQLException,InterruptedException(中断异常-调⽤线程睡眠时
候),NumberFormatException(数字格式化异常)等。
⽽按照编译器检查⽅式划分,异常⼜可以分为检查型异常(CheckedException)和⾮检查型异常 (UncheckedException)。Error和
RuntimeException合起来称为UncheckedException,之所以这么 称呼,是因为编译器不检查⽅法是否处理或者抛出这两种类型的异常,因此
编译期间出现这种类型的异常也不会报错,默认由虚拟机提供处理⽅式。除了Error 和RuntimeException这两种类型的异常外,其它的异常都
称为Checked异常。
補充:今天在遇到NumberFormatException异常的时候更加理解了检查型异常和⾮检查型异常的区别
⾮检查型异常也就是运⾏时异常,对于运⾏时异常即使我们在⼀个⽅法上throws声明可能抛出异常,编译器也会检测到是运⾏时异常⽽不
要求我们在主⽅法中必须处理;对于检查型异常我们throws声明之后也必须处理才可以编译通过。
例如:对于运⾏时异常NumberFormatException下⾯代码正确编译
package ;
/**
*
* @author Administrator
*
*/
public class MyTest {
public static void test1() throws NumberFormatException {
String str = "11,22,33,fg,44,55,66";
String[] split = (",");
for (String s : split) {
n(ong(s));
}
}
public static void main(String[] args) {
1();
}
}
查看NumberFormatException的继承结构:(继承⾃RuntimeException---⾮检查异常、运⾏时异常,不是必须处理)
对于SQLException之类的检查异常必须处理,否则会报错:
查看SQLException的结构:---直接继承Exception的是检查型异常,必须处理
3、Java如何处理异常
3.1 try-catch, try-finally, try-catch-finally
对于checked类型异常,我们要么对它进⾏处理,要么在⽅法头使⽤throws抛出。
public static void createFile() throws IOException{
File file = new File("C:/");
if(!()){
NewFile();
} catch (IOException ex) {
// handle exception here
}
}
关于catch需要注意的⼏点:
1)、参数的异常类型必须是Throwable类或者其⼦类。
2)、从上往下的catch语句,其参数类型必须按照从⼦类到⽗类顺序,因为⼀旦匹配到⼀个类型,就会忽略往后的catch。⽐如IOException必须
放到Exception前⾯,否则编译器会报错。
3)、可以有⼀个或者多个catch语句,甚⾄如果有finally语句的情况下,可以没有catch语句,如try-finally。
想要捕获多个异常,可以使⽤多个catch语句,JDK7以后提供了另外⼀种⽅式:多重捕获(multi-catch)。
try{
// other code
} catch (IOException | SQLException ex) {
throw ex;
}
4)、不要忽略异常。空的catch块会使异常达不到应有的⽬的,除⾮诸如关闭FileInputStream的时候,因为你还没有改变⽂件的状态,因此不必
执⾏任何恢复动作,并且已经从⽂件中读取到所需要的信息,因此不⽤终⽌正在进⾏的操作。
关于finally需要注意的⼏点:
1)、finally中的代码总是会被执⾏,除⾮在执⾏try或者catch语句时虚拟机退出((1))。
2)、finally块可以做⼀些资源清理⼯作,如关闭⽂件、关闭游标等操作。
3)、finally块不是必须的。
另外,如果在try和finally块中都执⾏了return语句,最终返回的将是finally中的return值。
3.2 异常链
常常想要在捕获⼀个异常后抛出另外⼀个异常,并且希望把原始异常信息保存下来,这就是异常链。在JDK1.4以后,Throwable⼦类在构造器
中可以接受⼀个cause对象作为参数,表⽰原始异常,通过这样把原始异常传递给新的异常,使得即使在当前位置创建并抛出了新的异常,也
能通过这个异常链 追踪到异常最初发⽣的位置。
但在Throwable⼦类中,只有Error, Exception, RuntimeException三类异常类提供了带cause参数的构造器,其它类型的异常则需要通过
initCause()⽅法。例如定义了CustomException类,可以这样使⽤:
CustomException cmex = new CustomException();
use(new NullPointerException);
throw cmex;
这样⼀来,CustomException继承⾃Exception或RuntimeException,就属于⾃定义异常了。
⼀般来说,⾃定义异常的作⽤有以下情形:
1)、将检查型异常转换为⾮检查型异常。
2)、在产⽣异常时封装上下⽂信息、定义异常码、收集环境对象,有利于信息的传递。
4、异常使⽤指南
1)、在知道该如何处理的情况下才捕获异常。
2)、⾃定义异常类型,⽤以封装所有的检查型异常。
3)、在程序的边界进⾏异常捕获。如服务端相应客户端的请求,在出⼝处catch内部有可能产⽣的异常,并统⼀throw⼀个封装过的异常给客户
端,免得暴露服务端敏感信息。
4)、只针对异常的情况才使⽤异常。不要在所有的代码中习惯性地使⽤try-catch,因为这会影响性能。
5)、抛出与抽象相对的异常。如果⽅法抛出的异常与它执⾏的任务没有明显的联系,这种情形会使⼈不知所措。为了避免这个问题,更⾼层的
实现应该捕获 低层的异常,同时抛出可以按照⾼层抽象进⾏解释的异常,这种做法被称为异常转译(exception translation),如下:
try{
// use lower-level abstraction to do our bidding
} catch(LowerLevelException ex){
throw new HigherLevelException(...);
}
另外⼀种特殊的异常转译称为异常链,上⾯已作描述。如果低层的异常对于调试导致⾼层异常的问题⾮常有帮助,使⽤异常链就很合适。⾼层
的异常提供访问⽅法(se)来获得低层的异常。
6)、每个⽅法抛出的异常要有⽂档描述。利⽤Javadoc的@throws标记,记录抛出每个异常的条件。如果⼀个⽅法可能抛出多个异常,不要使
⽤这些异常类的某个超类。如不要声明⼀个⽅法“throws Exception”或“throws Throwable”,这将没有任何指导信息。
-----------------第⼆种理解----------
Java Exception:
1、Error
2、Runtime Exception 运⾏时异常
3、Exception
4、throw ⽤户⾃定义异常
异常类分两⼤类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库⽅法所激发的异常。Exception类 还包含运
⾏异常类Runtime_Exception和⾮运⾏异常类Non_RuntimeException这两个直接的⼦类。
运⾏异常类对应于编译错误,它是指Java程序在运⾏时产⽣的由解释器引发的各种异常。运⾏异常可能出现在任何地⽅,且出现频率很⾼,因
此为了避免巨⼤的 系统资源开销,编译器不对异常进⾏检查。所以Java语⾔中的运⾏异常不⼀定被捕获。出现运⾏错误往往表⽰代码有错误,
如:算数异常(如被0除)、下标异 常(如数组越界)等。
⾮运⾏异常时Non_RuntimeException类及其⼦类的实例,⼜称为可检测异常。Java编译器利⽤分析⽅法或构造⽅法中可能产⽣的结果来检 测
Java程序中是否含有检测异常的处理程序,对于每个可能的可检测异常,⽅法或构造⽅法的throws⼦句必须列出该异常对应的类。在Java的标
准包 和 中定义的异常都是⾮运⾏异常。
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
⽂件已结束异常:EOFException
⽂件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输⼊输出异常:IOException
⽅法未找到异常:NoSuchMethodException
ctMethodError
抽象⽅法错误。当应⽤试图调⽤抽象⽅法时抛出。
ionError
断⾔错。⽤来指⽰⼀个断⾔失败的情况。
ircularityError
类循环依赖错误。在初始化⼀个类时,若检测到类之间循环依赖则抛出该异常。
ormatError
类格式错误。当Java虚拟机试图从⼀个⽂件中读取Java类,⽽检测到该⽂件的内容不符合类的有效格式时抛出。
错误。是所有错误的基类,⽤于标识严重的程序运⾏问题。这些问题通常描述⼀些不应被应⽤程序捕获的反常情况。
ionInInitializerError
初始化程序错误。当执⾏⼀个类的静态初始化程序的过程中,发⽣了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
lAccessError
违法访问错误。当⼀个应⽤试图访问、修改某个类的域(Field)或者调⽤其⽅法,但是⼜违反域或⽅法的可见性声明,则抛出该异常。
atibleClassChangeError
不兼容的类变化错误。当正在执⾏的⽅法所依赖的类定义发⽣了不兼容的改变时,抛出该异常。⼀般在修改了应⽤中的某些类的声明定义⽽没
有对整个应⽤重新编译⽽直接运⾏的情况下,容易引发该错误。
tiationError
实例化错误。当⼀个应⽤试图通过Java的new操作符构造⼀个抽象类或者接⼝时抛出该异常.
alError
内部错误。⽤于指⽰Java虚拟机发⽣了内部错误。
eError
链接错误。该错误及其所有⼦类指⽰某个类依赖于另外⼀些类,在该类编译之后,被依赖的类改变了其类定义⽽没有重新编译所有的类,进⽽
引发错误的情况。
sDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,⽽找不到该类的定义时抛出该错误。
FieldError
域不存在错误。当应⽤试图访问或者修改某类的某个域,⽽该类的定义中没有该域的定义时抛出该错误。
MethodError
⽅法不存在错误。当应⽤试图调⽤某类的某个⽅法,⽽该类的定义中没有该⽅法的定义时抛出该错误。
emoryError
内存不⾜错误。当可⽤内存不⾜以让Java虚拟机分配给⼀个对象时抛出该错误。
verflowError
ndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或⼤于等于数组⼤⼩时抛出。
toreException
数组存储异常。当向数组中存放⾮数组声明类型对象时抛出。
astException
类造型异常。假设有类A和B(A不是B的⽗类或⼦类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制
类型转换异常。
otFoundException
找不到类异常。当应⽤试图根据字符串形式的类名构造类,⽽在遍历CLASSPAH之后找不到对应名称的class⽂件时,抛出该异常。
otSupportedException
不⽀持克隆异常。当没有实现Cloneable接⼝或者不⽀持克隆⽅法时,调⽤其clone()⽅法则抛出该异常。
nstantNotPresentException
枚举常量不存在异常。当应⽤试图通过名称和枚举类型访问⼀个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
ion
根异常。⽤以描述应⽤程序希望捕获的情况。
lAccessException
违法的访问异常。当应⽤试图通过反射⽅式创建某个类的实例、访问该类属性、调⽤该类⽅法,⽽当时⼜⽆法访问类的、属性的、⽅法的或构
造⽅法的定义时抛出该异常。
lMonitorStateException
违法的监控状态异常。当某个线程试图等待⼀个⾃⼰并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该
异常。
lStateException
违法的状态异常。当在Java环境和应⽤尚未处于某个⽅法的合法调⽤状态,⽽调⽤了该⽅法时,抛出该异常。
lThreadStateException
违法的线程状态异常。当县城尚未处于某个⽅法的合法调⽤状态,⽽调⽤了该⽅法时,抛出异常。
utOfBoundsException
索引越界异常。当访问某个序列的索引值⼩于0或⼤于等于序列⼤⼩时,抛出该异常。
tiationException
实例化异常。当试图通过newInstance()⽅法创建某个类的实例,⽽该类是⼀个抽象类或接⼝时,抛出该异常。
uptedException
被中⽌异常。当某个线程处于长时间的等待、休眠或其他暂停状态,⽽此时其他的线程通过Thread的interrupt⽅法终⽌该线程时抛出该异常。
veArraySizeException
数组⼤⼩为负值异常。当使⽤负数⼤⼩值创建数组时抛出该异常。
FieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
MethodException
⽅法不存在异常。当访问某个类的不存在的⽅法时抛出该异常。
interException
空指针异常。当应⽤试图在要求使⽤对象的地⽅使⽤了null时,抛出该异常。譬如:调⽤null对象的实例⽅法、访问null对象的属性、计算null对
象的长度、使⽤throw语句抛出null等等。
FormatException
数字格式异常。当试图将⼀个String转换为指定的数字类型,⽽该字符串确不满⾜数字类型要求的格式时,抛出该异常。
eException
运⾏时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的⽗类。
tyException
安全异常。由安全管理器抛出,⽤于指⽰违反安全情况的异常。
IndexOutOfBoundsException
字符串索引越界异常。当使⽤索引值访问某个字符串中的字符,⽽该索引值⼩于0或⼤于等于序列⼤⼩时,抛出该异常。
tPresentException
类型不存在异常。当应⽤试图以某个类型名称的字符串表达⽅式访问该类型,但是根据给定的名称⼜找不到该类型是抛出该异常。该异常与
ClassNotFoundException的区别在于该异常是unchecked(不被检查)异常,⽽ClassNotFoundException 是checked(被检查)异常。
ortedOperationException
不⽀持的⽅法异常。指明请求的⽅法不被⽀持情况的异常。
异常
eption: Cannot retrieve mapping for action /Login (/Login是你的action名字)
可能原因
action没有再 中定义,或没有找到匹配的action,例如在JSP⽂件中使⽤ 处理,如果出现上述异常,请查看中的定义部分,有 时可能是打错了字符或者是某些不符合规则,可以使⽤strutsconsole⼯ 具来检查。 ----------------------------------------------------------------------------------------------------------------- 异常 Exception: Cannot retrieve definition for form bean null 可能原因 这个异常是因为Struts根据中的mapping没有找 到action期望的form bean。⼤部分的情况可能是因为在form-bean中设置的 name属性和action中设置的name属性不匹配所致。换句话说,action和 form都应该各⾃有⼀个name属性,并且要精确匹配,包括⼤⼩写。这 个错误当没有name属性和action关联时也会发⽣,如果没有在action 中指定name属性,那么就没有name属性和action相关联。当然当action制 作某些控制时,譬如根据参数值跳转到相应的jsp页⾯,⽽不是处 理表单数据,这是就不⽤name属性,这也是action的使⽤⽅法之⼀。 ----------------------------------------------------------------------------------------------------------------- 异常 No action instance for path /xxxx could be created 可能原因 特别提⽰:因为有很多中情况会导致这个错误的发⽣,所以推荐⼤家调⾼你的web服务器的⽇志/调试级别,这样可以从更多的信息中看 到潜在 的、在试图创建action类时发⽣的错误,这个action类你已经在中设置了关联(即添加 了 在中通过action标签的class属性指定的action类不能被找到有很多种原因,例如:定位编译后 的.class⽂件失败。Failure to place compiled .class file for the action in the classpath (在web开发中,class的的位置在r WEB-INF/classes,所以你的action class必须要在 这个⽬录下。例如你的action类位于WEB-INF/classes/action/,那么在 中设置action的属性type时就是). 拼写错误,这个也时有发⽣,并且不易找到,特别注意第⼀个字母的⼤⼩写和包的名称。 ----------------------------------------------------------------------------------------------------------------- 异常 eption: No getter method for property username of bean 可能原因 没有位form bean中的某个变量定义getter ⽅法 这个错误主要发⽣在表单提交的FormBean中,⽤struts标记 法。注意字母“U”。 ----------------------------------------------------------------------------------------------------------------- 异常 sDefFoundError: org/apache/struts/action/ActionForm 可能原因 这个错误主要发⽣在在classpath中找不到相应的Java .class⽂件。如果这个错误发⽣在web应⽤程序的运⾏时,主要是因为指定的class⽂件不 在web server的classpath中(/WEB-INF/classes 和 /WEB-INF/lib)。在上⾯的错误中,原因是找不到ActionForm类。 ----------------------------------------------------------------------------------------------------------------- 异常 eption: Exception creating bean of class Form: {1} 可能原因 Instantiating Struts-provided ActionForm class directly instead of instantiating a class derived off ActionForm. This mightoccur implicitly if you specify that a form-bean is this Struts ActionForm class rather than specifying a child of this classfor the form-bean. Not associating an ActionForm-descended class with an action can also lead to this error. ----------------------------------------------------------------------------------------------------------------- 异常 eption: Cannot find ActionMappings or ActionFormBeans collection 可能原因 不是标识Struts actionServlet的 在中的打字或者拼写错误也可导致这个异常的发⽣。例如缺少⼀个标记的关闭符号/>。最好使⽤struts console⼯具检查⼀ 下。 另外,load-on-startup必须在中声明,这要么是⼀个空标记,要么指定⼀个数值,这个数值⽤来表servlet运⾏的优先级,数值越⼤优先 级越低。 还有⼀个和使⽤load-on-startup有关的是使⽤Struts预编译JSP⽂件时也可能导致这个异常。 ----------------------------------------------------------------------------------------------------------------- 异常 interException at dURL(:1223) 可能原因 在中的forward元素缺少path属性。例如应该是如下形式: ----------------------------------------------------------------------------------------------------------------- 异常 eption: Cannot find bean in any scope Probable Causes 试图在Struts的form标记外使⽤form的⼦元素。这常常发⽣在你 在
主体的标记,如
的,如⼜使⽤了
-----------------------------------------------------------------------------------------------------------------
异常
eption: Missing message for key
Probable Causes
这个key的值对没有在资源⽂件ties中定义。如果你使⽤eclipse时经常碰到这样的情况,当项⽬重新编译
时,eclipse会⾃动将classes⽬录下的资源⽂件删除。
资源⽂件ties 不在classpath中应将资源⽂件放到 WEB-INF/classes ⽬录下,当然要在中定义)
-----------------------------------------------------------------------------------------------------------------
异常
Cannot find message resources under key E
可能原因
很显然,这个错误是发⽣在使⽤资源⽂件时,⽽Struts没有找到资源⽂件。
Implicitly trying to use message resources that are not available (such as using empty html:options tag instead of specifyingthe options in its
body -- this assumes options are specified in ties file)
XML parser issues -- too many, too few, incorrect/incompatible versions
-----------------------------------------------------------------------------------------------------------------
异常
Strange and seemingly random characters in HTML and on screen, but not in original JSP or servlet.
可能原因
混和使⽤Struts的html:form标记和标准的HTML标记不正确。
使⽤的编码样式在本页中不⽀持。
-----------------------------------------------------------------------------------------------------------------
异常
"Document contained no data" in Netscape
No data rendered (completely empty) page in Microsoft Internet Explorer
可能原因
使⽤⼀个Action的派⽣类⽽没有实现perform()⽅法或execute()⽅法。在Struts1.0中实现的是 perform()⽅法,在Struts1.1中实现的是execute()
⽅法,但Struts1.1向后兼容perform()⽅法。但你使⽤ Struts1.1创建⼀个Action的派⽣类,并且实现了execute()⽅法,⽽你在Struts1.0中运⾏的
话,就会得到"Document contained nodata" error message in Netscape or a completely empty (no HTML whatsoever) page rendered in
Microsoft Internet Explorer.”的错误信息。
---------------------------------------------------------------------------------------------------------------------------
异常
ServletException: te
解决⽅案
在⽤Struts上传⽂件时,遇到了tException: te异常。
我 的ActionServlet并没有⽤到BeanUtils这些⼯具类。后来仔细检查代码发现是在jsp⽂件⾥的form忘了加 enctype="multipart/form-data" 了。所
以写程序遇到错误或异常应该从多⽅⾯考虑问题存在的可能性,想到系统提⽰信息以外的东西。
----------------------------------------------------------------------------------------------------------------------------
1. 定义Action后, 如果指定了name, 那么必须要定义⼀个与它同名的FormBean才能进⾏form映射.2. 如果定义Action后, 提交页⾯时出现 "No
input attribute for " 错误, 则需要在其input属性中定义转向的页⾯.3. 如果插⼊新的数据时出现 "Batch update row count
wrong:..." 错误, 则说明中指定的key的类型为原始类型(int, long),因为这种类型会⾃动分配值, ⽽这个值往往会让系统认为已经存
在该记录, 正确的⽅法是使⽤r或对象.4. 如果插⼊数据时出现 "argument type mismatch" 错误, 可能是你使⽤了
Date等特殊对象, 因为struts不能⾃动从String型转换成Date型,所以, 你需要在Action中⼿动把String型转换成Date型.5. Hibernate中, Query的
iterator()⽐list()⽅法快很多.6. 如果出现 "equal symbol expected" 错误, 说明你的strtus标签中包含另⼀个标签或者变量, 例如:
或者
这样的情况...
---------------------------------------------------------------------------------------------------------------------------
错 误:Exception in thread "main" mmarException: Could not execute JDBC batch update原因与解决: 因为
Hibernate Tools(或者Eclipse本⾝的Database Explorer)⽣成*.⼯具中包含有catalog="***"(*表⽰数据库名称)这样的属性,将该属性
删除就可以了
---------------------------------------------------------------------------------------------------------------------------
错误:DeletedException: deleted object would be re-saved by cascade (remove deleted object from associations)
原因与解决:
⽅法1 删除Set⽅的cascade
⽅法2 解决关联关系后,再删除
⽅法3 在many-to-one⽅增加cascade 但值不能是none
最后⼀招:
检查⼀下hashCode equals是否使⽤了id作为唯⼀标⽰的选项了;我⽤时是没有问题的;但是⽤了native,就不⾏了,怎么办?删除
啊!
----------------------------------------------------------------------------------------------------------------------------
问 题:今天⽤Tomcat 5.5.12,发现原来很好⽤的系统不能⽤了,反复测试发现页⾯中不能包含 taglib,否则会出现以下提⽰:HTTP Status
500 -type Exception reportMessage description The server encountered an internal error () that prevented it from fulfilling this
Exception: /(1,1) Unable to read TLD "META-INF/tlds/" from JAR
file"file:*****/WEB-INF/lib/":原因:更新了⼯程⽤的lib⽂件夹下的jar,发布时也发布了 和。解决:把删
除就解决这个问题了。 -----------------------------------------------------------------------------------------------------------------------------
错误: interException
原 因: 发现 dao 实例、 manage 实例等需要注⼊的东西没有被注⼊(俗称空指针异常)解决:这个时候,你应该查看⽇志⽂件;默认是应⽤
服务器的 log ⽂件,⽐如 Tomcat 就是 [Tomcat 安装⽬录 ]/logs ;你会发现提⽰你:可能是:
eationException: Error creating bean with name 'sf' defined in ServletContextresource [/WEB-
INF/]: Initialization of bean failed; nested exception ateException: could not configure from URL:
file:src/ateException: could not configure from URL:
file:src/……………………….Caused by: tFoundException: 可能 是:
eationException: Error creating bean with name 'sessionFactory' defined inServletContext resource
[/WEB-INF/]: Initialization of bean failed; nested exception gException: Resource:
com/mcc/coupon/model/ not gException: Resource: com/mcc/coupon/model/
not found然后你就知道原因是因为配置⽂件的解析出了错误,这个通过 Web 页⾯是看不出来的。更多的是持久化影射⽂件出的错误;导致了
没有被解析;当然你需要的功能就⽆法使⽤了。
----------------------------------------------------------------------------------------------------------------------------
错误:StandardWrapperValve[action]: e() for servlet action threw exception
eption: Cannot retrieve mapping for action /settlementTypeManage
或 者: type Status report message Servlet action is not available description The requested resource (Servlet action is not available) is not
available.
原因: 同 上
----------------------------------------------------------------------------------------------------------------------------
错 误StandardWrapperValve[jsp]: e() for servlet jsp threw otFoundException:
Tei界⾯错误具体描述:
Exception: Failed to load or instantiate TagExtraInfo class: Tei
原因与解决: <⽅案⼀>你的“html:”开头的标签没有放在⼀个


发布评论