最近刚接触servlet,遇到了些芝麻蒜皮事,虽说是些小事搞得我想吐血,在这里跟大家分享一下
刚开始页面跳转时出现下面这个问题:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.IllegalStateException: Cannot forward after response has been committed cn.netjava.SampleServer.service(SampleServer.java:38) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
到网上查了一下说是要加个return null什么的,于是我加了上去,语法错误,去掉NULL,运行,依然是这个500错误。
没办法又查了一下,结果看到个一段代码如下:
RequestDispatcher rd = request.getRequestDispatcher("/Login.html");
try {
rd.forward(request, response);
return;
}catch(Exception e){}
硬着头皮加了上去,结果终于没了500错误,
但又冒出来个405错误如下:
HTTP Status 405 - HTTP method POST is not supported by this URL
type Status report
message HTTP method POST is not supported by this URL
description The specified HTTP method is not allowed for the requested resource (HTTP method POST is not supported by this URL).
于是我检查了一下自己的代码看接收方法是不是写错了,但奇了怪了,service方法没有写错,我开始绝望了。。。
。。。无意中我看到一段文字,于是我如同落水的猴子抓住了救命稻草,我的人生又开始有了希望,我怀着激动的心情按着这段文字把自己的代码又改了一下,文字如下:
今天碰到这个问题,开始不知道如何解决。百度了一下,也没查出个所以然。后来分析了一下,查看了我的servlet.
我的servlet是自己创建的,而不是通过向导创建的。
我写的 自动生成的 service方法里面有一个:
super.service(request,response);
改过来之后,正当我怀着一颗无比兴奋的心准备迎接成功的喜悦时。。心碎了。。。。
错误依旧。。。。
于是我跳楼了,我无法忍受希望一次一次的破灭。。。。
脑袋往往是在高速中才能转的最快,我突然灵光一闪。。对了,没重启服务器!!!。。。
于是跳到一半我又爬了上来,重启服务器后,果然。。好了!
虽然还不知道super.service(request,response);有什么作用,不过的确害人不浅!!!
谨以此文献给那些正被这个问题困绕准备跳楼的和哪些将会被这个问题困绕正在萌生跳楼的想法的人...