本文将分享Tomcat5+Mssqlserver2000数据库连接池配置之旅的详细内容,并且还将对tomcat数据库连接池配置参数进行详尽解释,此外,我们还将为大家带来关于APACHE2.0.50+T
本文将分享Tomcat5+Mssql server 2000数据库连接池配置之旅的详细内容,并且还将对tomcat数据库连接池配置参数进行详尽解释,此外,我们还将为大家带来关于APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程、Apache2.2.4 + Tomcat5.0 整合手记、apache2.2.4+jk+tomcat5.5.27 配置中的几个问题、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)的相关知识,希望对你有所帮助。
本文目录一览:- Tomcat5+Mssql server 2000数据库连接池配置之旅(tomcat数据库连接池配置参数)
- APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程
- Apache2.2.4 + Tomcat5.0 整合手记
- apache2.2.4+jk+tomcat5.5.27 配置中的几个问题
- django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)
Tomcat5+Mssql server 2000数据库连接池配置之旅(tomcat数据库连接池配置参数)
Tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我将采用Tomcat5和Ms sqlserver 000一起来开始数据库连接池配置之旅。
需要的准备
1、jdk 我使用的版本1.4.01
2、Tomcat 5 我使用的是5.0.16版本 下载地址:http://jakarta.apache.org/site/binindex.cgi
3、Mssql server 2000 数据库
4、Mssql server 2000的官方jdbc driver ,可以到微软的官方网站免费下载
好了在安装完上面的软件之后,就进入配置实战了:)
一、找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat5的安装目录)
二、用文本编辑器,我这是使用editplus(她可是我的挚爱奥)打开$CATALINA_HOME/conf/server.xml文件,找到配置context的地方,把下面的代码
粘贴到文件里面
debug="5" reloadable="true" crossContext="true">
prefix="localhost_DBTest_log." suffix=".txt"
timestamp="true"/>
auth="Container"
type="javax.sql.DataSource"/>
factory
org.apache.commons.dbcp.BasicDataSourceFactory
maxActive
100
maxIdle
30
maxWait
10000
username
sa
password
driverClassName
com.microsoft.jdbc.sqlserver.sqlServerDriver
url
jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind
注意:我本地的数据库的sa的密码为空,数据库使用的是northwind,我的目录名DBTest,他的目录是D:rautinee workdb
打开DBTest下面的web.xml文件,用下面的代码替换原来的内容
br> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
MSsql server Test App
DB Connection
jdbc/TestDB
javax.sql.DataSource
Container
ok,配置完成,下面的工作是需要编写两个文件测试一下,连接是否成功。
这里我用了http://jakarta.apache.org上面的例子
首先是bean文件
package foo;
import javax.naming.*;
import javax.sql.*;
import java.sql.*;
public class DBTest {
String foo = "Not Connected";
int bar = -1;
public void init() {
try{
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("Boom - No Context");
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
if (ds != null) {
Connection conn = ds.getConnection();
if(conn != null) {
foo = "Got Connection "+conn.toString();
Statement stmt = conn.createStatement();
ResultSet rst =
stmt.executeQuery("select * from orders");
if(rst.next()) {
foo=rst.getString("CustomerID");
bar=rst.getInt("OrderID");
}
conn.close();
}
}
}catch(Exception e) {
e.printstacktrace();
}
}
public String getFoo() { return foo; }
public int getBar() { return bar;}
}
然后是index.jsp文件
DB Test
foo.DBTest tst = new foo.DBtest();
tst.init();
%>
Ms sql server 2000 java search Results
Foo
Bar
'www.kNowsky.com编译运行,如果不出意外,应该检索到一条记录,
我的ie中显示的是
Ms sql server 2000 java search Results
Foo VINET
Bar 10248
ok,配制成功!
参考文档:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html 上面有MysqL和oracle8i的连接教程,有兴趣的朋友可以上去看一下。
APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程
APACHE2+TOMCAT5+LINUX9 配置过程
1. 准备:(目录:/www/tmp)
httpd-2.0.50.tar.gz
jakarta-tomcat-5.0.18.tar.gz
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
j2sdk-1_4_2-linux-i586-rpm
2. 安装 JDK1.4
直接运行 JDK rpm, 默认情况下安装在 /usr/java 下
rpm –ivh j2sdk-1_4_2-linux-i586-rpm
编辑全局变量
vi /etc/profile
添加:JAVA_HOME=/usr/java/ j2sdk-1_4_2
export JAVA_HOME
验证设置
echo $JAVA_HOME
3. 安装 APACHE
解压原码包
tar –zxvf httpd-2.0.50.tar.gz
配置路径和选项
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
make
make install
测试
./usr/local/apache2/bin/apachectl start
http://localhost
4. 安装 TOMCAT
复制代码包到 /usr/local 下
cp jakarta-tomcat-5.0.18.tar.gz /usr/local
解压该包
tar –zxvf jakarta-tomcat-5.0.18.tar.gz
配置全局变量
vi /etc/profile
添加:
CATALINA_HOME=/usr/local/ jakarta-tomcat-5.0.18
export CATALINA_HOME
测试
./usr/local/apache2/apachectl start
http://localhost:8080
5. 编译连接器
解压源码包
tar –zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
修改配置
cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
./configure
--with-apxs2=/usr/local/apache2/bin/apxs --with-apr-lib=/usr/local/apache2/bin
--with-tomcat-41=/usr/local/jakarta-tomcat-5.0.18 --with-java-home=/usr/java/ j2sdk-1_4_2
--with-jni
修改 MAKEFILE 文件(为了包含所必须的类,否则会在 TOMCAT 启动时报错)
cd /www/tmp/ jakarta-tomcat-connectors-jk2-2.0.4-src /jk/native2/server/apache2
找到:
ifdef APR_LIBDIR_LA
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
else
JK_LDFLAGS=-lcrypt ${APR_LIBS}
endif
替换为:
ifdef APR_LIBDIR_LA
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
else
JK_LDFLAGS=-lcrypt ${APR_LIBS} JK_LDFLAGS=-lcrypt ${APR_LIBS} -L/usr/local/apache2/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat
endif
make
回到 native2 目录
进入 build 目录,运行 APXS
cd ../build/jk2/apache2
/usr/local/httpd/bin/apxs -n jk2 -i mod_jk2.so
将生成的文件拷贝到 APACHE 下
# cp libjkjni.so /usr/local/apache2/modules/jkjni.so
# cp mod_jk2.so /usr/local/apache2/modules/
6. 配置
配置 jk2.properties
cd /usr/local/jakarta-tomcat-5.0.18/conf
vi jk2.properties
去掉 shm.file 前的 # 拿掉,並且設定 jk2.shm 位置为 /usr/local/ apache2/logs/ jk2.shm
# shm.file=/usr/local/apache/logs/jk2.shm ---- shm.file=/usr/local/apache2/logs/jk2.shm
配置 httpd.conf
cd /usr/local/apache2/conf
vi httpd.conf
找到 LOAD 块,在其下添加:
LoadModule jk2_module modules/mod_jk2.so
配置 workers2.properties
cd /usr/local/apache2/conf
vi workers2.properties
添加如下代码:
# ------- start ---------
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
[channel.socket]
tomcatId=localhost:8009
[uri:/jsp-examples/*]
# --------end ------------
7. 测试
http://localhost/jsp-examples
8. 问题:
在 apache 启动后的日志(/usr/loal/apache2/logs/error_log)里如果发现这样的错误:
channelSocket.open() connect failed localhost:8009 146 Connection refused
请检查 workers2.properties 配置是否正确
在 TOMCAT 启动后的日志 (/usr/local/tomcat/logs/Catalina.out) 里如果发现这样的错误:
INFO:APRnotloaded,disablingjnicomponents:java.io.IOException:java.lang.UnsatisfiedLinkError: /usr/local/apache2/modules/jkjni.so:/usr/local/apache2 /modules/jkjni.so: undefined symbol: apr_md5_final
请检查是否正确修改了 MAKEFILE
李高峰
QQ: 180323536
msn: lushanlee@hotmail.com
email: ligf@sports.cn
Apache2.2.4 + Tomcat5.0 整合手记
基于反向代理的动态页面缓存技术(参见 车东文章),落实到穷人的解决方案之一就是 Apache+tomcat 的整合,整合应当达到以下几方面效果:
1.Apache 负责静态文件的处理
2. 涉及 jsp,servlet 的动态请求交给 tomcat 处理
3. 通过自定义错误响应 404,当 Apache 找不到静态页面时,应当重定向给 tomcat 处理
4. 在负责处理第 3 种情况 tomcat 的 servlet 或者 jsp 中,能够获得重定向之前的 URL 等信息。
看了网上的文章,需要在 apache2.2 自带 ajp 或者 mod_jk 之间做出选择。
先试试 ajp 吧,大家都说配置简单。
搜了一下,以 这篇文章讲得最为清楚。
按照作者指引,很快来到了第 4 步。在 httpd-vhosts.conf 中加入一行
ErrorDocument 404 /rp/test.jsp
其中 test.jsp 是统一的 404 错误入口,将来调用模板和数据生成请求的静态页面。
测试代码如下:
<%@ page contentType="text/html;charset=gb2312" import="java.util.*"%>
<%out.println("
Hello World!jsp
");%><%
Object redir_url = request.getAttribute("REDIRECT_URL");
out.println(redir_url);
%>
结果 404 错误重定向到该页面后,确无法获得原始的 URL。
在网上搜索,也有难友遇到同样的问题,即 ajp 没有提供类似 mod_jk 的 JkEnvVar 机制,
以将错误重定向的环境变量传递给 servlet 的 request.getAttribute
关于 apache 的自定义错误处理参见 www.kingmx.com/Manual/ApacheMenu/custom-error.html
没奈何只好悻悻作罢。
后来想了想,有一个曲折的解决办法就是,将 ErrorDocument 重定向到 apache 下的一个 html,再由此 html 在 browser 端
利用 js 调用 tomcat 的 servlet 并将原始 URL 传递进去。
关键代码行如下:
document.location="http://localhost/batcal/test.jsp?ru="+document.URL;
这个办法的缺点是效率较低,与服务端重定向相比较,多了一次 http 交互.
改用 mod_jk 好了
根据以下链接 http://blog.sina.com.cn/u/4c592ecf010009dz
指引,同样顺利来到第 4 步。
在 httpd.conf 中加入一行
JkEnvVar REDIRECT_URL NULL
再次调用 test.jsp,结果通过 request.getAttribute ("REDIRECT_URL"); 获得了原始 URL,搞定。
与采用 ajp 相比,mod_jk 的配置确实麻烦。但总算实现了预期目标。
apache2.2.4+jk+tomcat5.5.27 配置中的几个问题
问题1:
我的workers.properties中的内容是这样的:
ps=\
wk.list=ajp13
wk.ajp13.port=8009
wk.ajp13.host=localhost
wk.ajp13.type=ajp13
wk.ajp13.lbfactor=50
在apache的conf/httpd.conf中写了如下内容:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties"
JkMount /*.do ajp13
JkMount /*.jsp ajp13
这样是可以连通的,但是如果我将workers.properties和httpd.conf中的ajp13换成别的名字,就无法正常运行,请问这是为什么?另外,我把workers.properties中的wk.ajp13.host这行用#号注释掉,只要wk.list的名字是ajp13,仍然可以运行,这是怎么回事啊。。。
问题2:
当我把apache安装在一台物理机,tomcat安在另一台物理机上,按照如上写法,只是将wk.ajp13.host=localhost中的值改成对应的tomcat的地址,但是连不上,请问这个应该如何配置?
问题3:
按照问题1中的配置,访问http://localhost/admin时,点击admin就显示没有安装此应用,但是直接敲http://localhost:8080/admin就可以访问,请问这个应该如何配置?
先写过了!!!
django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)
模块使用的是 pcodbc+django-pyodbc-azure
1 pip install django-pyodbc-azure
2 pip install pyodbc
版本分别为
pyodbc==4.0.26
django-pyodbc-azure==2.1.0.0
创建数据库连接
DATABASES = {
''default'': {
''ENGINE'': ''sql_server.pyodbc'',
''HOST'': ''127.0.0.1'',
''PORT'': '''',
''NAME'': ''test'',
''USER'': ''sa'',
''PASSWORD'': ''123'',
''OPTIONS'': {
''driver'': ''ODBC Driver 13 for SQL Server'',
''MARS_Connection'': True,
}
}
}
# set this to False if you want to turn off pyodbc''s connection pooling
# 不想用pyodbc连接就把这句加上?
DATABASE_CONNECTION_POOLING = False
在对应的 app/models.py 添加 model
from django.db import models
# Create your models here.
class userinfo(models.Model):
#如果没有models.AutoField,默认会创建一个id的自增列
name = models.CharField(max_length=30)
email = models.EmailField()
memo = models.TextField()
项目文件下目录下执行
python manage.py makemigrations
python manage.py migrate
报错
django.db.utils.InterfaceError: (''IM002'', ''[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 (0) (SQLDriverConnect)'')
原因是未安装 ODBC 驱动
前往微软官网下载驱动
https://www.microsoft.com/zh-CN/download/details.aspx?id=53339
Microsoft® ODBC Driver 13.1 for SQL Server
如果下载其他版本 ''driver'': 字段要自行修改
再次执行
1 python manage.py makemigrations
2 python manage.py migrate
查看数据库
如出现以上表说明连接成功
关于Tomcat5+Mssql server 2000数据库连接池配置之旅和tomcat数据库连接池配置参数的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于APACHE2.0.50+TOMCAT5.0.18+LINUX9 配置过程、Apache2.2.4 + Tomcat5.0 整合手记、apache2.2.4+jk+tomcat5.5.27 配置中的几个问题、django 连接 mssql 数据库 (django 1.11.11 sql server 2008 R2)等相关内容,可以在本站寻找。
本文标签: