应用服务器有哪些?

应用服务器有哪些?,第1张

应用服务器有:Weblogic、Tomcat、Jboss。

应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。

扩展资料:

应用程序驻留在应用服务器(ApplicationServer)上。

应用服务器为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。它也提供低级的服务,如>

除了Servlet容器外,应用服务器还可能提供其他的JavaEE(EnterpriseEdition)组件,如EJB容器,JNDI服务器以及JMS服务器等。

方法有两种
与服务器类型是无关的,主要是jar包的放入有关
第一种(C3P0的配置方法为例)
第一步:加载数据驱动包。(C3P0还要导入C3P0连接池使用的Jar:c3p0-090jar)
Tomcate 55 将数据库驱动包拷贝到tomcathome/common/lib目录下。
Tomcate 60 将数据库驱动包拷贝到tomcathome/lib目录下。
地二步:配置tomcat中servicexml:
<!--在tomcat中配置连接池属性说明
docBase web工程的文件路径
path web工程url的根目录
reloadable 当tomcat重启时候,是否重新加载配置文件
name 数据源的JNDI名
type 资源的类型,此处是数据源
driverClass数据库驱动类,根据不同的数据库 驱动类不同(我用的是MS SQL SERVICE2005)
jdbcUrl 连接字符串
factory 连接工厂类-->
<Context docBase="DataSrc61" path="/DataSrc61" reloadable="true">
<Resource name="jdbc/ds" auth="Container" type="commchangev2c3p0ComboPooledDataSource"
maxPoolSize="200" minPoolSize="1" initialPoolSize="100" acquireIncrement="2"
idleConnectionTestPeriod="60" maxIdleTime="60"
driverClass="commicrosoftsqlserverjdbcSQLServerDriver"
user="sa" password=""
jdbcUrl="jdbc:sqlserver://localhost:1433;DatabaseName=pubs"
factory="orgapachenamingfactoryBeanFactory"/>
</Context>
第三步:配置工程中的webxml文件
<!– 声名工程所需资源-->
<resource-ref>
<!– JDNI资源名 -->
<res-ref-name>jdbc/ds</res-ref-name>
<!– 资源类型 -->
<res-type>commchangev2c3p0ComboPooledDataSource</res-type>
<!– 资源范围 -->
<res-auth>Container</res-auth>
</resource-ref>
第四步:写连接类
import javaxnamingContext;
import javaxnamingInitialContext;
import javaxsqlDataSource;
import javasqlConnection;
public class JndiDao {
public static Connection getConnectionPool3()throws Exception
{
Connection con=null;
Context conx=new InitialContext();
DataSource ds=(DataSource)conxlookup("java:comp/env/jdbc/ds");
con=dsgetConnection();
return con;
}
}
第二种:(DBCP为例)
第一步:
导入DBCP连接池用到的Jar:naming-factory-dbcpjar(JVM使用)
(commons-dbcp-122jar为tomcat中默认有的DBCP连接池的包,而C3P0的话就要在tomcat中导入C3P0连接池使用的Jar:c3p0-090jar)
和数据库驱动包
第二步:
import orgapachetomcatdbcpdbcpBasicDataSource;//数据源
import orgapachetomcatdbcpdbcpConnectionFactory;
import orgapachetomcatdbcpdbcpDataSourceConnectionFactory;
import javasqlConnection;
public class DbcpDao {
static BasicDataSource bds=null;
static ConnectionFactory cf=null;
static
{
bds=new BasicDataSource();
bdssetDriverClassName("commicrosoftsqlserverjdbcSQLServerDriver");
bdssetUrl("jdbc:sqlserver://127001:1433;DatabaseName=pubs");
bdssetUsername("sa");
bdssetPassword("123");

//对连接池进行设置
bdssetMaxActive(300);
bdssetInitialSize(100);
bdssetMaxWait(10000);
bdssetMaxIdle(50);
}

public static Connection getConnectionPool()throws Exception
{
Connection con=null;
//创建出一个位于jvm中的DBCP连接池
cf=new DataSourceConnectionFactory(bds);
//从创建好的连接池中取得连接
con=cfcreateConnection();
return con;
}

public static void main(String[] args) {
try {
long time1=SystemcurrentTimeMillis();
//测试获得200个连接所用的时间
Connection[] cons=new Connection[200];
for(int i=0;i<conslength;i++)
{
cons[i]=DbcpDaogetConnectionPool();
}
long time2=SystemcurrentTimeMillis();
Systemoutprintln(time2-time1);
} catch (Exception e) {
// TODO: handle exception
eprintStackTrace();
}
}
}

1、上下文其实是一个抽象的概念。常见的上下文有Servlet中的pageContext,访问JNDI时候用的Context。其实真正的作用就是承上启下。
2、比如说pageContext他的上层是WEB容器,下层是写的那个Servlet类,pageContext作为中间的通道让Servlet 和Web容器进行交互。
3、再比如访问JNDI的Context,他的上层是JNDI服务器(可能是远程的),下层是应用程序,他的作用也是建立一个通道让能访问JNDI服务器,同时也让JNDI服务器接受请求,同样起到交互作用。

jdbc就是直接连接数据库,而jndi一般是在服务器上配置了数据库连接池后采用的一种方便用户查找的方法。如果自己学习就用jdbc,但是如果做项目的话一定记得配置数据库连接池并使用jndi,这样快一些,也更专业一些。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/12632519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存