网站建设资讯

NEWS

网站建设资讯

在JSP中三种连接字符串的配置方式

本篇内容介绍了“在JSP中三种连接字符串的配置方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业大邑服务器托管报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。

很多初学者会不知道怎么配置连接字符串而烦恼,今天笔者就写一些很实用的三种配置连接字符串的方式,当然简单的那种我没有写,那种在公司的开发中也不实用,总结不好请指教。

一、连接池方式:

1、连接迟3个包+sqlserver驱动包复制到tomcat\common\lib

2、配置tomcat\conf\context.xml,注意2000和2005 驱动名字和路径

    2000:     driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"            url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books"/>   2005:      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"            url="jdbc:sqlserver://localhost:1433;DatabaseName=books"/>

3、在工程web.xml添加节点

     jdbc/pubs     javax.sql.DataSource     Container 

4、得到连接的方法内导如以下几个包:

import javax.naming.Context;    import javax.naming.InitialContext;    import javax.naming.NamingException;    import javax.sql.DataSource;    //得到Connection对象的方法   public static Connection getConnection(){      try {        Context ic = new InitialContext();     DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/bbs");     con = source.getConnection();    }catch(NamingException ex){     ex.printStackTrace();    }catch(SQLException ex){     ex.printStackTrace();    }    return con;   }

二、读取属性文件方式

*.properties文件  driverName=com.microsoft.sqlserver.jdbc.SQLServerDriver  url=jdbc:sqlserver://localhost:1433;DatabaseName=books user=sa password=123   //读取*.properties文件的类  import java.io.InputStream;  import java.util.Properties;   public final class Env extends Properties {   private static Env instance;      public static Env getInstance(){    if(instance != null){     return instance;    }else{     makeInstance();     return instance;    }   }      //synchronized 同步方法,保证同一时间只能被一个用户调用   private static synchronized void makeInstance(){    if(instance == null){     instance = new Env();    }   }      private Env(){    InputStream is =getClass().getResourceAsStream("db.properties");//配置文件位置    try{     load(is);    }catch(Exception ex){     System.err.println("请确认读取的文件是否存在!");    }   }      public static void main(String[] args) {    System.out.println(getInstance().getProperty("driverName"));   }  }

注意类的调用:譬如String url = Env.getInstance().getProperties("url");就能得到相应的字符串

驱动driverName,用户user, 密码password获取方式同上

三、读取xml文件中的节点方式

首先报连接池包3个和1个数据库驱动包复制到工程下WEB-INF\lib中

1、工程下的web.xml要添加以下节点:

   driverName   com.microsoft.sqlserver.jdbc.SQLServerDriver          url   jdbc:sqlserver://localhost:1433;DatabaseName=bbs          userName   sa          passWord   123  

2、新建一个普通类继承HttpServlet类,并实现ServletContextListener监听接口,如下:

import java.sql.Connection;   import java.sql.ResultSet;    import javax.servlet.ServletContext;   import javax.servlet.ServletContextEvent;   import javax.servlet.ServletContextListener;   import javax.servlet.http.HttpServlet;    public class ContextListener extends HttpServlet implements ServletContextListener {    /**     * 销毁servlet      */    public void contextDestroyed(ServletContextEvent sc) {     }        /**     * 初始化      */    public void contextInitialized(ServletContextEvent sc) {     System.out.println("开启:");     ServletContext servletContext = sc.getServletContext();          String driverName = servletContext.getInitParameter("driverName");     String url = servletContext.getInitParameter("url");     String userName = servletContext.getInitParameter("userName");     String passWord = servletContext.getInitParameter("passWord");          BaseDAO.setDriverName(driverName);     BaseDAO.setUrl(url);     BaseDAO.setUser(userName);     BaseDAO.setPassword(passWord);    }   }

3、在公共类BaseDao中

import java.sql.Connection;   import java.sql.DriverManager;   import java.sql.ResultSet;   import java.sql.SQLException;   import java.sql.Statement;    import javax.naming.Context;   import javax.naming.InitialContext;   import javax.naming.NamingException;   import javax.sql.DataSource;           import org.apache.commons.dbcp.BasicDataSource; //连接池要到包   /*    * 获取数据库连接    */   public class BaseDAO {    private static Connection con;    private static String driverName;    private static String url;    private static String userName;    private static String passWord;     //获取连接对象Connection    public static Connection getConnection(){       BasicDataSource dataSource = new BasicDataSource();     dataSource.setDriverClassName(driverName);     dataSource.setUrl(url);     dataSource.setUsername(userName);     dataSource.setPassword(passWord);     try{      con = dataSource.getConnection();     } catch(SQLException ex) {      ex.printStackTrace();     }     return con;    }        /*     * 配置:从web.xml     */    //驱动名称    public static String getDriverName() {     return getDriverName();    }    public static void setDriverName(String driverName) {     BaseDAO.driverName = driverName;    }        //URL    public static String getUrl(){     return getUrl();    }    public static void setUrl(String url) {     BaseDAO.url = url;      }        //用户名    public static String getUser(){     return getUser();    }    public static void setUser(String userName) {     BaseDAO.userName = userName;    }    //密码    public static String getPassWord(){     return getPassWord();    }    public static void setPassword(String passWord) {     BaseDAO.passWord = passWord;    }   }

“在JSP中三种连接字符串的配置方式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


当前名称:在JSP中三种连接字符串的配置方式
网址分享:http://njwzjz.com/article/ghcpjh.html