重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“在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中三种连接字符串的配置方式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!