在META-INF的目录下,新建context.xml
在程序中获取数据源,通过jndi,这个jndi必须在Servlet中才能获取,并且需要配置web.xml使servlet一启动就拿到数据源
context.xml
<?xml version="1.0" encoding="utf-8"?> <Context> <Resource name="mySource" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:///java" maxActive="8" maxIdle="4" /> </Context>
package com.tsh.web; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import javax.naming.Context; import javax.naming.InitialContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; /** */ public class DataSourceTest extends HttpServlet { /** */ public DataSourceTest() { super(); // TODO Auto-generated constructor stub } /** */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } /** */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } /** * 创建后就会启动 */ @Override public void init() throws ServletException { try { //注意导包javax.naming.Context; Context context= new InitialContext(); Context jndi=(Context) context.lookup("java:comp/env"); DataSource source =(DataSource) jndi.lookup("mySource"); //注意导包 java.sql.Connection; Connection conn=source.getConnection(); //获取传输器对象 Statement statement=conn.createStatement(); //获取结果集对象 ResultSet resultSet=statement.executeQuery("select * from user"); //遍历 while(resultSet.next()){ String username=resultSet.getString("username"); System.out.println(username); } //关闭资源 resultSet.close(); statement.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }
web.xml
<servlet> <servlet-name>DataSourceTest</servlet-name> <servlet-class>com.tsh.web.DataSourceTest</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DataSourceTest</servlet-name> <url-pattern>/Servlet/DataSourceTest</url-pattern> </servlet-mapping>
时间: 2024-10-09 02:30:29