自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在JSP中三種連接字符串的配置

開發(fā) 后端
很多初學(xué)者會不知道怎么配置連接字符串而煩惱,今天筆者就寫一些很實用的三種配置連接字符串的方式。

很多初學(xué)者會不知道怎么配置連接字符串而煩惱,今天筆者就寫一些很實用的三種配置連接字符串的方式,當(dāng)然簡單的那種我沒有寫,那種在公司的開發(fā)中也不實用,總結(jié)不好請指教。

一、連接池方式:

1、連接遲3個包+sqlserver驅(qū)動包復(fù)制到tomcat\common\lib

2、配置tomcat\conf\context.xml,注意2000和2005 驅(qū)動名字和路徑
  

  1. <Resource name="jdbc/pubs"   
  2.          auth="Container" type="javax.sql.DataSource"  maxActive="100"    
  3.          maxIdle="30" maxWait="10000"   username="sa"   password="120010"   
  4.         driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"    
  5.        url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/> 
  6.  
  7.   2000:  
  8.    driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"    
  9.         url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/> 
  10.   2005:   
  11.    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"    
  12.         url="jdbc:sqlserver://localhost:1433;DatabaseName=books"/> 

 3、在工程web.xml添加節(jié)點

  1. <resource-ref> 
  2.     <res-ref-name>jdbc/pubs</res-ref-name> 
  3.     <res-type>javax.sql.DataSource</res-type> 
  4.     <res-auth>Container</res-auth> 
  5. </resource-ref> 

 4、得到連接的方法內(nèi)導(dǎo)如以下幾個包:
  

  1. import javax.naming.Context;  
  2.   import javax.naming.InitialContext;  
  3.   import javax.naming.NamingException;  
  4.   import javax.sql.DataSource;  
  5.  
  6.  //得到Connection對象的方法  
  7.  public static Connection getConnection(){    
  8.   try {     
  9.    Context ic = new InitialContext();  
  10.    DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/bbs");  
  11.    con = source.getConnection();  
  12.   }catch(NamingException ex){  
  13.    ex.printStackTrace();  
  14.   }catch(SQLException ex){  
  15.    ex.printStackTrace();  
  16.   }  
  17.   return con;  
  18.  } 

二、讀取屬性文件方式

  1. *.properties文件  
  2. driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver  
  3. url=jdbc:sqlserver://localhost:1433;DatabaseName=books 
  4. user=sa 
  5. password=123 
  6.  
  7.  
  8. //讀取*.properties文件的類  
  9. import java.io.InputStream;  
  10. import java.util.Properties;  
  11.  
  12. public final class Env extends Properties {  
  13.  private static Env instance;  
  14.    
  15.  public static Env getInstance(){  
  16.   if(instance != null){  
  17.    return instance;  
  18.   }else{  
  19.    makeInstance();  
  20.    return instance;  
  21.   }  
  22.  }  
  23.    
  24.  //synchronized 同步方法,保證同一時間只能被一個用戶調(diào)用  
  25.  private static synchronized void makeInstance(){  
  26.   if(instance == null){  
  27.    instance = new Env();  
  28.   }  
  29.  }  
  30.    
  31.  private Env(){  
  32.   InputStream is =getClass().getResourceAsStream("db.properties");//配置文件位置  
  33.   try{  
  34.    load(is);  
  35.   }catch(Exception ex){  
  36.    System.err.println("請確認(rèn)讀取的文件是否存在!");  
  37.   }  
  38.  }  
  39.    
  40.  public static void main(String[] args) {  
  41.   System.out.println(getInstance().getProperty("driverName"));  
  42.  }  

注意類的調(diào)用:譬如String url = Env.getInstance().getProperties("url");就能得到相應(yīng)的字符串

驅(qū)動driverName,用戶user, 密碼password獲取方式同上

三、讀取xml文件中的節(jié)點方式

首先報連接池包3個和1個數(shù)據(jù)庫驅(qū)動包復(fù)制到工程下WEB-INF\lib中

1、工程下的web.xml要添加以下節(jié)點:
 

  1. <context-param> 
  2.   <param-name>driverName</param-name> 
  3.   <param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value> 
  4.  </context-param> 
  5.    
  6.  <context-param> 
  7.   <param-name>url</param-name> 
  8.   <param-value>jdbc:sqlserver://localhost:1433;DatabaseName=bbs</param-value> 
  9.  </context-param> 
  10.    
  11.  <context-param> 
  12.   <param-name>userName</param-name> 
  13.   <param-value>sa</param-value> 
  14.  </context-param> 
  15.    
  16.  <context-param> 
  17.   <param-name>passWord</param-name> 
  18.   <param-value>123</param-value> 
  19.  </context-param> 

 2、新建一個普通類繼承HttpServlet類,并實現(xiàn)ServletContextListener監(jiān)聽接口,如下:
 

  1. import java.sql.Connection;  
  2.  import java.sql.ResultSet;  
  3.  
  4.  import javax.servlet.ServletContext;  
  5.  import javax.servlet.ServletContextEvent;  
  6.  import javax.servlet.ServletContextListener;  
  7.  import javax.servlet.http.HttpServlet;  
  8.  
  9.  public class ContextListener extends HttpServlet implements ServletContextListener {  
  10.   /**  
  11.    * 銷毀servlet   
  12.    */  
  13.   public void contextDestroyed(ServletContextEvent sc) {  
  14.  
  15.   }  
  16.     
  17.   /**  
  18.    * 初始化   
  19.    */  
  20.   public void contextInitialized(ServletContextEvent sc) {  
  21.    System.out.println("開啟:");  
  22.    ServletContext servletContext = sc.getServletContext();  
  23.      
  24.    String driverName = servletContext.getInitParameter("driverName");  
  25.    String url = servletContext.getInitParameter("url");  
  26.    String userName = servletContext.getInitParameter("userName");  
  27.    String passWord = servletContext.getInitParameter("passWord");  
  28.      
  29.    BaseDAO.setDriverName(driverName);  
  30.    BaseDAO.setUrl(url);  
  31.    BaseDAO.setUser(userName);  
  32.    BaseDAO.setPassword(passWord);  
  33.   }  
  34.  } 

 3、在公共類BaseDao中
 

  1. import java.sql.Connection;  
  2.  import java.sql.DriverManager;  
  3.  import java.sql.ResultSet;  
  4.  import java.sql.SQLException;  
  5.  import java.sql.Statement;  
  6.  
  7.  import javax.naming.Context;  
  8.  import javax.naming.InitialContext;  
  9.  import javax.naming.NamingException;  
  10.  import javax.sql.DataSource;  
  11.         
  12.  import org.apache.commons.dbcp.BasicDataSource; //連接池要到包  
  13.  /*  
  14.   * 獲取數(shù)據(jù)庫連接  
  15.   */  
  16.  public class BaseDAO {  
  17.   private static Connection con;  
  18.   private static String driverName;  
  19.   private static String url;  
  20.   private static String userName;  
  21.   private static String passWord;  
  22.  
  23.   //獲取連接對象Connection  
  24.   public static Connection getConnection(){    
  25.    BasicDataSource dataSource = new BasicDataSource();  
  26.    dataSource.setDriverClassName(driverName);  
  27.    dataSource.setUrl(url);  
  28.    dataSource.setUsername(userName);  
  29.    dataSource.setPassword(passWord);  
  30.    try{  
  31.     con = dataSource.getConnection();  
  32.    } catch(SQLException ex) {  
  33.     ex.printStackTrace();  
  34.    }  
  35.    return con;  
  36.   }  
  37.     
  38.   /*  
  39.    * 配置:從web.xml  
  40.    */  
  41.   //驅(qū)動名稱  
  42.   public static String getDriverName() {  
  43.    return getDriverName();  
  44.   }  
  45.   public static void setDriverName(String driverName) {  
  46.    BaseDAO.driverName = driverName;  
  47.   }  
  48.     
  49.   //URL  
  50.   public static String getUrl(){  
  51.    return getUrl();  
  52.   }  
  53.   public static void setUrl(String url) {  
  54.    BaseDAO.url = url;    
  55.   }  
  56.     
  57.   //用戶名  
  58.   public static String getUser(){  
  59.    return getUser();  
  60.   }  
  61.   public static void setUser(String userName) {  
  62.    BaseDAO.userName = userName;  
  63.   }  
  64.   //密碼  
  65.   public static String getPassWord(){  
  66.    return getPassWord();  
  67.   }  
  68.   public static void setPassword(String passWord) {  
  69.    BaseDAO.passWord = passWord;  
  70.   }  
  71.  } 

【編輯推薦】

  1. JSP留言板的JSP源碼操作實施
  2. 詳解JSP指令和腳本元素
  3. 如何加快JSP訪問速度
  4. ASP.NET、JSP和PHP究竟哪個好
  5. JSP相關(guān)軟件介紹
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-08-20 17:30:02

C#連接字符串

2018-01-17 15:02:28

VMware網(wǎng)絡(luò)連接

2009-11-13 16:29:11

ADO.NET連接字符

2010-09-02 10:02:17

PHP

2012-03-26 12:23:25

JavaSwing

2012-08-07 10:02:06

JSP

2009-07-03 18:32:18

JSP頁面跳轉(zhuǎn)

2009-06-09 16:53:22

Java Swing處理方法比較

2021-11-29 06:57:50

App使用屬性

2017-01-05 16:19:12

C++正則表達(dá)式

2024-02-26 13:47:00

C#Socket數(shù)據(jù)接收

2009-11-12 11:09:56

ADO.NET連接字符

2010-04-26 12:19:28

Oracle 數(shù)據(jù)庫

2018-09-26 10:22:03

2023-10-28 16:25:17

濾波C++

2013-12-18 15:45:33

多核

2010-10-12 11:13:51

2010-04-02 13:15:01

Oracle跟蹤

2020-08-01 16:19:13

JavaScript字符串開發(fā)

2009-12-09 09:48:38

solaris靜態(tài)路由
點贊
收藏

51CTO技術(shù)棧公眾號