1.将Mysql和Oracle的jdbc驱动包复制到%TOMCAT_HOME%/lib/目录下。
2.将%TOMCAT_HOME%/conf/context.xml文件的代码改写成如下:
<?xml version='1.0' encoding='utf-8'?>
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/oracleds"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<Resource name="jdbc/mysqlds"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maWait="10000"
username="root"
password="tiger"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/blog" />
</Context>
3.在Servlet中的数据库连接池调用方法,详见下列代码:
import java.io.IOException;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
public class BlogServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//解决网页的乱码问题
request.setCharacterEncoding("UTF-8");
//定义三个变量接收addBlog.jsp传过来的三个参数
String title = request.getParameter("title");
String categoryId = request.getParameter("category");
String content = request.getParameter("content");
//创建数据源连接池
DataSource ds = null;
try {
Context context = new InitialContext();
ds = (DataSource)context.lookup("java:/comp/env/jdbc/mysqlds");
} catch (NamingException e) {
e.printStackTrace();
}
try {
String sql = "insert into blog(category_id, title, content, create_time) value(?,?,?,now())";
QueryRunner qr = new QueryRunner(ds);
String[] params = {categoryId, title, content};
int result = qr.update(sql, params);
String msg = "";
if(result == 1) {
msg = "博文添加成功";
} else {
msg = "博文添加失败";
}
request.setAttribute("msg", msg);
request.getRequestDispatcher("/addBlogResult.jsp").forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}
}
}