java.lang.IllegalStateException怎么解决
答案:2 悬赏:80 手机版
解决时间 2021-12-26 03:47
- 提问者网友:树红树绿
- 2021-12-25 06:40
java.lang.IllegalStateException怎么解决
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-12-25 07:10
这个词汇翻译过来就是“无效状态异常”,也就是说你调用这个方法的次序有问题,比如尚未初始化,或者调用某个方法多次(不是每个方法都允许多次调用)。
举例,当 servlet 在工作时先准备好我们的 http header 值,如果想设定字符集时也是在这个阶段,当这个阶段之后我们开始向 response 的 output stream 或 writer 写数据时就不允许再来改 http header 值了,如果我们再来改的话就会出现 illegal state exception,因为我们办事的次序错了,向网络中写出数据已经发生,我们无法再修正已经发出去的数据,因此这个错误不可纠正,只有让程序停下来。
具体你是在使用什么功能导致这个异常发生,你需要查找相关的 API 文档,这个错误都会有文档说明的。
举例,当 servlet 在工作时先准备好我们的 http header 值,如果想设定字符集时也是在这个阶段,当这个阶段之后我们开始向 response 的 output stream 或 writer 写数据时就不允许再来改 http header 值了,如果我们再来改的话就会出现 illegal state exception,因为我们办事的次序错了,向网络中写出数据已经发生,我们无法再修正已经发出去的数据,因此这个错误不可纠正,只有让程序停下来。
具体你是在使用什么功能导致这个异常发生,你需要查找相关的 API 文档,这个错误都会有文档说明的。
全部回答
- 1楼网友:旧脸谱
- 2021-12-25 07:44
在response.sendredirect()时也可能会出现下列错误:
java.lang.illegalstateexception:
org.apache.catalina.connector.responsefacade.sendredirect(responsefacade.java:423)
解决办法如下:
在response.sendredirect("");语句后面加上return语句就ok了。
例如:response.sendredirect("");
return ;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯