我想通過使用NetBeans IDE使用jsp servlet和bean來創建Web應用程序。jdbc mysql連接
我想知道應該在哪裏放置數據庫連接代碼,以便我可以在每個servlet中使用我的數據庫代碼,這意味着我不想在每個需要使用數據庫的頁面中編寫連接代碼。
請幫我找到,我應該如何移動?
我想通過使用NetBeans IDE使用jsp servlet和bean來創建Web應用程序。jdbc mysql連接
我想知道應該在哪裏放置數據庫連接代碼,以便我可以在每個servlet中使用我的數據庫代碼,這意味着我不想在每個需要使用數據庫的頁面中編寫連接代碼。
請幫我找到,我應該如何移動?
您是否嘗試過使用include機制:
<%@ include文件= 「文件名」 %>
這裏詳細http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro8.html
如果您從servlet的連接,您可以創建一個擴展HttpServlet的BaseServlet類,而不是實際的服務器必須擴展BaseServlet而不是HttpServlet。 現在,您只需在BaseServlet中編寫連接代碼,並將其用於僞servlet(擴展BaseServlet)即可。
這裏有一個想法如何做到這一點:
getNewDBConnection
DBConnection
類,驗證您的數據庫連接是有效的,並且使用ServletContextListener
,設立DBConnection
類,所以上述方法將始終返回一個新的連接DBConnection.getNewDBConnection()
。我會留下您的樣板和異常處理。有更優雅的方式來做到這一點,例如使用JPA,但這不在這個答案的範圍之內。
小心以上的想法。我只寫了它;但沒有嘗試過,並證明它是正確的。
只需把所有的JDBC東西放在它自己的類中,然後在servlet中導入/調用/使用它。
E.g.
public class UserDAO {
public User find(String username, String password) {
User user = new User();
// Put your JDBC code here to fill the user (if found).
return user;
}
}
隨着
import com.example.dao.UserDAO;
import com.example.model.User;
public class LoginServlet extends HttpServlet {
private UserDAO userDAO;
public void init() throws ServletException {
userDAO = new UserDAO(); // Or obtain by factory.
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String username = request.getParameter("username");
String password = request.getParameter("password");
User user = userDAO.find(username, password);
if (user != null) {
// Login.
} else {
// Error: unknown user.
}
}
}
接受一些答案。 16個問題,沒有被接受。 – Bozho 2010-11-10 12:58:32