我想通过使用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