学习进入第三一天,算一个月吧,起码满月。
SerlverContext :setAttribute(String name, Object obj);
ServletContext sc = HttpServlet.getServerContext();
HttpServert init()和destory()方法。
配置数据源和连接池
1.在Tomcat conf/content.xml中<Context>节点内添加如下内容
<Resource name="jdbc/news" auth="Container"type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="120010" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=news"/>
name:之后我们要调用resource时候用到
type:是链接数据库时候用到的java扩展包下的类
maxActive:最大连接数
maxIdle:是空闲时候最大连接数
maxwait:空闲判断标准
注意:
1).该配置文件里不允许有中文;各个属性间的用一个空格隔开
2).要将对应链接数据库的jar包放到tomcat /lib文件夹中工程中就不需要存放了
下面还中是链接oracle的
<Resource type="javax.sql.DataSource" name="jdbc/news" url="jdbc:oracle:thin:@192.168.2.102:1521:orcl" driverClassName="oracle.jdbc.driver.OracleDriver" password="bg" username="test" maxWait="10000" maxIdle="30" maxActive="100" auth="Container"/>
2.在工程的web.xml中添加如下代码
<resource-ref>
<res-ref-name>jdbc/news</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
这里<res-ref-name>标签里面的名字就是在content.xml文件中的name的名字
3.得到数据库连接池中的Connection对象
Context context=new InitialContext();
DataSourceds=(DataSource)context.lookup("java:comp/env/jdbc/news");
Connectionconn = ds.getConnection();
注意:context是javax.namingx下的类,dataSource是javax.sql下的类 ,"java:comp/env/jdbc/news"中:java:comp/env是固定写法 jdbc/news是jndi名称(Tomcat中配置的那个name)
当然,可以纯serlvet编程也可以实现一个站点。就是看着有点乱而已。
自此,servlet学习暂时到此。