在doGet或doPost方法结束时显式返回之间是否有任何区别,只是让方法“单独”返回?
public void doGet(HttpSerlvetRequest req, HttpServletResponse resp) {
<my code here>
return;
}
public void doGet(HttpSerlvetRequest req, HttpServletResponse resp) {
<my code here>
}
答案 0 :(得分:11)
但是,有些情况下,您会在servlet方法中看到return
语句,这对于初学者来说可能会让人头疼。这是一个例子:
protected void doPost(request, response) {
if (someCondition) {
response.sendRedirect("page");
return;
}
doSomethingElse();
request.getRequestDispatcher("page").forward(request, response);
}
此处return
语句必要,因为调用重定向(或转发)不会导致代码神奇地跳出方法块,正如一些初学者似乎认为的那样。它仍然会一直运行到结束,这会在调用前锋时导致IllegalStateException: response already committed
。
答案 1 :(得分:3)
没有。作为常规void
方法,它不需要return
答案 2 :(得分:2)
完全没必要;也不添加任何样式点。
答案 3 :(得分:0)
根本没有区别,在方法结束时隐含了一个返回。
答案 4 :(得分:0)
完全没有区别,返回声明是不必要的。