public class MyServlet extends HttpServlet {
private static IUtils utils= null;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
utils.do();
}
}代碼結(jié)構(gòu)如上,do不是靜態(tài)方法,且方法內(nèi)使用的都是局部變量,做的事情就是連接數(shù)據(jù)庫(kù)做查詢,然后返回查詢結(jié)果。1.在doPost調(diào)用這個(gè)do方法是否安全?2.是否有必要聲明成靜態(tài)的,我希望這個(gè)utils不要被反復(fù)創(chuàng)建。
1 回答

米脂
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
每一個(gè) Servlet
對(duì)象在 Web 容器中只有一個(gè)實(shí)例(單例模式),所以如果多個(gè) HTTP 請(qǐng)求請(qǐng)求的是同一個(gè) Servlet
,那么多個(gè) HTTP 請(qǐng)求對(duì)應(yīng)的線程將并發(fā)調(diào)用 Servlet
的 doPost
方法 —— 簡(jiǎn)單起見,可以將你的 IUtils
使用 ThreadLocal
封裝。
添加回答
舉報(bào)
0/150
提交
取消