使用Servlets& JSP在简单的应用程序中,通过DataSource / Connection池与数据库连接,典型的应用程序架构是什么?
创建Connection对象时,它是常见应用程序的servlet 超类并通过参数传递给doGet / doPost?
如何将Connection对象传递给DAO类以检索/更新域的状态 对象?
是在DAO级别,特定servlet级别或servlet的超类处理的SQL异常吗?
网站模板是如何设计的?通过JSP include
标记?
DAO对象是在第一次实例化时构造的特定servlet中还是在doGet / doPost方法中创建的另一层中构建的?
DAO中的每个小操作都应该从DataSource中进行连接还是更好地在DAO的构造函数中传递Connection?
是否所有数据都通过request.setAttribute传递给JSP,还是有更好的方法?
我应该只传递给JSP域对象/集合还是传递整个DAO /另一个调解器来进行数据撤销?
我们应该只为整个请求 - 响应链实现单个Connection对象吗?如果是,如何实现?
答案 0 :(得分:-1)
1)一旦启动服务器,就会有一个连接池,为此我们需要在“context.xml”中指定“Resource”标签。实际上有10个连接可用(默认)。
2)你可以传递连接对象,下面的例子会给你一些清晰度
class A {
public static DataSource getConnection() {
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource dataSource = (DataSource)envContext.lookup("jdbc/testdb");
return dataSource;
}
}
class B {
javax.sql.DataSource ds=(DataSource)A.getConnection();
javax.sql.Connection con=ds.getConnection();
}
3)您可以派生自己的异常或取决于用例的预定义异常。 通常,异常在任何级别处理,或者您可以以某种方式抑制。
4)在jsp中,jsp:include using是最好的方法。因为,include有其自身的缺点。5)我不清楚你的第五个问题
6)构造函数级别是最好的,我希望或者你创建一个单独的连接类做异常处理,连接关闭和通道。它会看起来很棒。
7)你有三个范围:应用程序,请求和session.Dont使用request.setAttribute for everything.it有一些限制。
8)以集合的形式传递数据很容易处理。
9)我没有意识到这一点。
注意:如果您发现任何错误,请不要介意