我有一個接收數據的servlet,如果數據正常,它仍然存在。我可以強制Java方法在某個點返回嗎?
到目前爲止,我試過如下:
public class ListenerServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
if(!check1())
handleErroneousRequest(response, "Error 1");
if(!check2())
handleErroneousRequest(response, "Error 2");
persist();
}
private void handleErroneousRequest(HttpServletResponse response, String errorMessage) {
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.flush();
out.close();
log.error("Error : " + errorMessage);
}
}
正如你可以想像,這並沒有如我所料工作。 是否有比其他系列更優雅的解決方案?我可以強制該方法返回,因爲我試圖做?
到目前爲止,我在淘選做這樣的事情:
boolean isOK = true;
if(!check1()) {
isOK = false;
error = "bla";
}
if(!check2()) {
isOK = false;
error = "bla";
}
if(isOK){
doStuff()
}
如果你打算低估我,至少要有禮貌來解釋爲什麼... – Tim
什麼能阻止你在需要時使用「return」? – Polygnome
這是一個非常好的主意。讓我嘗試。 – Tim