web.xml内容:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
context.xml内容:
<Resource name="jdbc/TestDB" type="javax.sql.DataSource"
url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=mvc" password="sa" username="sa"
maxActive="4"
maxWait="5000" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
maxIdle="2" />
jsp页面引用:
固定sql语句str:
<% Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String str="SELECT name AS n,userid as i,pass AS p FROM person";
ResultSet rs = stmt.executeQuery(str);
%>
<%//遍历结果集
while(rs.next()){
%><tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
</tr>
<%} %>
java类中:prepareStatement:可变sql语句
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement("select * from users");
ResultSet result = pstmt.executeQuery();
ResultSetMetaData meta = result.getMetaData();
int length = meta.getColumnCount();//得到集合里记录数
out.println("<html>");
out.println("<body>");
out.println("<table width='100%' border='1'>");
while (result.next()) {
out.println("<tr>");
for (int i = 1; i <= length; i++) {
out.print("<td>");
String value=result.getString(i);
out.print(value);
out.println("</td>");
}
out.println("</tr>");
}
out.println("</table>");
out.println("</body>");
out.println("<html>");