我想使用jsp servlet和bean am使用Netbeans IDE创建一个Web应用程序。
我想知道在哪里放置数据库连接代码,以便我可以将数据库代码与每个servlet一起使用,这意味着我不想在需要使用数据库的每个页面中编写连接代码。
请帮我找,我该怎么搬?
答案 0 :(得分:2)
只需将所有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.
}
}
}
答案 1 :(得分:1)
以下是一个如何做到这一点的想法:
DBConnection
getNewDBConnection
的类
ServletContextListener
设置DBConnection
类,以便提及的方法始终返回新连接DBConnection.getNewDBConnection()
中使用。我将把样板和异常处理留给您。有更优雅的方法,例如使用JPA,但这超出了这个答案的范围。
谨防上述想法。我只写过它;但是没有尝试过并且证明它是正确的。
答案 2 :(得分:0)
您是否尝试过使用包含机制:
<%@ include file =“filename”%>
详情http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro8.html
答案 3 :(得分:0)
如果从servlet建立连接,则可以创建扩展HttpServlet的BaseServlet类,而不是实际的服务器必须扩展BaseServlet而不是HttpServlet。 现在,您可以在BaseServlet中编写连接代码,并在伪servlet中使用它(扩展BaseServlet)。