【发布时间】:2015-04-08 14:10:13
【问题描述】:
我开始使用MS SQL server 2008学习c#,我只是想知道我是否可以在jsp中实现3层?
我将拥有我的数据访问层,其中我的连接和方法(如(添加、删除、查看、更新)等)与业务逻辑和 UI 一起使用。
我尝试这样做,但它无法显示输出。我尝试了一个简单的添加然后查看添加的。 (还没有业务逻辑)
这是我的代码:
公共类 DAL {
public static String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
static String connectionURL = "jdbc:sqlserver://localhost; database = Sample; Integratedsecurity = true";
public void addProduct(String productName){
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(connectionURL);
String sql = "Insert into Products values (?)";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, productName);
pst.closeOnCompletion();
pst.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ResultSet viewProduct(){
ResultSet rs = null;
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(connectionURL);
String sql = "Select * from Products";
PreparedStatement pst = con.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
rs.getInt(2);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
这是我添加用户产品的页面(我只是剪掉了 html 的其他部分)
<%!
DAL d = new DAL();
%>
<body>
<%
String productName = request.getParameter("productName") != null ?
request.getParameter("productName") : "No product has been delivered";
d.addProduct(productName);
%>
<h1> Product: <%= d.viewProduct() %> </h1>
</body>
错误显示java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver,但我在我的classPath 库中有一个库,我尝试不使用3 层来进行测试,但它仍然无法正常工作。返回为 Null 和 classnotfoundexception。任何形式的帮助将不胜感激。
【问题讨论】:
标签: java eclipse sql-server-2008