关于wml中的response status code [Permalink]
Thu Nov 25 00:07:59 CST 2004
没错,就是那个200/404/500。对于一般的浏览器,如果返回的status code不是200(HttpServletResponse.SC_OK),完全没有影响,会显示服务器定制的错误页面。比如:
http://2yup.com/blah
这就是我们通常所见的定制http error page了。
可是对于大多wml浏览器来说,可能是为了节省流量,只要分析到status code,就不会在去找页面,而是使用浏览器的默认错误页。这样适用于大多情况,可是,在我的应用中,我是利用500错误(Internal Server Error)来做统一的错误显示页面的。通过这种方法,只需要简单的抛出Exception,就能够方便的显示错误信息。这样就比较麻烦了--我的所有错误信息页面通通完蛋。
还好我们有filter可以用。对于wml应用,我都需要返回我的定制错误,所以,之前加入的WmlMimeFilter刚好满足条件。只需要在WmlMimeServletResponseWrapper里面,重载setStatus方法,就万无一失了:
public void setStatus(int code) {
super.setStatus(HttpServletResponse.SC_OK);
}
结果正如所愿,丢失的错误信息全部回来了 处理前 ============== HTTP/1.x 500 Internal Server Error Content-Type: text/vnd.wap.wml Content-Length: 695 Date: Wed, 24 Nov 2004 16:14:13 GMT Server: Apache-Coyote/1.1 Connection: close 处理后 ============== HTTP/1.x 200 OK Content-Type: text/vnd.wap.wml Content-Length: 695 Date: Wed, 24 Nov 2004 16:19:02 GMT Server: Apache-Coyote/1.1
Posted by: miles
Comments on this entry
現金化
クレジットカード現金化
クレジットカード 現金化
クレジットカード現金化
現金化
ショッピング枠 現金化
ショッピング枠現金化
ショッピング枠 現金化
現金化
クレジットカード 現金化
クレジットカード現金化
クレジットカード現金化
現金化
ショッピング枠 現金化
ショッピング枠現金化
ショッピング枠現金化
現金化
ショッピング枠 現金化
ショッピング枠現金化
ショッピング枠現金化
現金化
即日ちゃん
オンラインカジノ
オンラインカジノ
クレジットカード 現金化
ショッピング枠 現金化
ショッピング枠現金化