connectiontag.java
来自「weblogic应用全实例」· Java 代码 · 共 69 行
JAVA
69 行
//声明本类所在的包
package examples.jsp.tagext.sql;
//声明本类引入的其它包
import java.io.*;
import java.sql.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
/**
*Creates a JDBC connection.
*/
public class ConnectionTag extends BodyTagSupport {
private static final String DRIVER = "weblogic.jdbc.pool.Driver";
private static final String POOLPREFIX = "jdbc:weblogic:pool:";
Connection conn;
String poolName = null;
public void setPool_name(String name) { this.poolName = name; }
public String getPool_name() { return poolName; }
public Connection getConnection() { return conn; }
//实现doStartTag方法
public int doStartTag() throws javax.servlet.jsp.JspException {
// 创建基于连接池的JDBC连接
if (poolName == null) {
throw new JspException("poolName attribute not defined in connection tag");
}
try {
Class.forName(DRIVER).newInstance();
conn =
DriverManager.getConnection(POOLPREFIX+poolName, null);
return EVAL_BODY_TAG;
} catch(Exception e) {
throw new JspException("Failed to load JDBC driver: "+DRIVER);
}
}
//实现doAfterBody方法
public int doAfterBody() throws javax.servlet.jsp.JspException
{
try {
getBodyContent().writeOut(getPreviousOut());
} catch(java.io.IOException ioe) {
throw new JspException("Failed to write body content");
}
return SKIP_BODY;
}
//实现doEndTag方法
public int doEndTag() throws javax.servlet.jsp.JspException
{
if (conn != null) {
try {
conn.close();
} catch(Exception e) {
throw new JspException("Failed to close statement");
}
}
return EVAL_PAGE;
}
//释放资源
public void release() {
super.release();
conn = null;
poolName = null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?