J
etty提供HTTP服务器、客户端,它是javax.sevlet的容器。而这些组件都是开源且可商用的。它被广泛的应用在工程与产品中。它可以嵌入的设备,工具,框架,应用服务器以及集成。Jetty项目的核心由Eclipse组织提供服务器。Codehaus提供附件,集成及扩展,并为其提供旧版本的存放主机。
其官方页面为:
http://www.mortbay.org/jetty/
现在就来看怎样在Jetty中配置JNDI数据源,以及如何在Spring工程中使用。
让Jetty在Web工程中支持java:comp/env查找,作为可选特性,需要做一些配置。让我们来看看要怎样配置。首先,使JNDI在Web应用中可用,需要在Jetty.xml文件中,加入如下配置:
<!-- ======================================================= -->
<!-- Configure jndi -->
<!-- ======================================================= -->
<Array id="plusConfig" type="java.lang.String">
<Item>org.mortbay.jetty.webapp.WebInfConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.EnvConfiguration</Item>
<Item>org.mortbay.jetty.plus.webapp.Configuration</Item>
<Item>org.mortbay.jetty.webapp.JettyWebXmlConfiguration</Item>
<Item>org.mortbay.jetty.webapp.TagLibConfiguration</Item>
</Array>
<New id="orclc3p0" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>jdbc/orclc3p0</Arg>
<Arg>
<New class="org.apache.commons.dbcp.BasicDataSource">
<Set name="driverClassName">org.postgresql.Driver</Set>
<Set name="url">jdbc:oracle:thin:@192.168.0.173:1521:orcl</Set>
<Set name="username">test</Set>
<Set name="password">test</Set>
<Set name="maxActive">10</Set>
</New>
</Arg>
</New>
然后在WebAppContext中添加plusConfig:
<New id="application" class="org.mortbay.jetty.webapp.WebAppContext">
...
<Set name="ConfigurationClasses"><Ref id="plusConfig" /></Set>
...
</New>
然后需在Web.xml或容器的WebDefault.xml文件中添加:
<resource-ref>
<res-ref-name>jdbc/orclc3p0</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Spring中使用的方法为:
<bean id="dataSourceForTest" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/orclc3p0" />
</bean>
如果工程使用了maven,需在工程的pom.xml文件中添加包含了org.mortbay.jetty.plus.naming.Resource的jar依赖:
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-plus</artifactId>
<version>${jetty-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-naming</artifactId>
<version>${jetty-version}</version>
<scope>provided</scope>
</dependency>
其中${jetty-version}为6.1.9版本
分享到:
相关推荐
7. **类加载器**、**Jetty Connector的SSL配置**、**虚拟主机**、**管理服务器**、**JNDI配置**、**会话与集群**、**性能优化**、**异步Servlet、Ajax和Comet**以及**嵌入Jetty**等内容,都是指南中详细阐述的主题,...
Jetty 6 指南书是一本详细讲解 Jetty 6.x 版本的专著,由陈汝烨撰写,旨在填补网络上关于 Jetty 新颖、系统性资料的空白,推动 Jetty 在国内的普及。这本书不仅介绍了 Jetty 作为 Web 容器的基本功能,还深入探讨了...
### Jetty权威指南知识点梳理 #### 一、Jetty简介 **1.1 Jetty功能介绍** Jetty是一个完全由Java编写的高性能HTTP服务器及servlet容器,它不仅能够作为一个独立的服务运行,还具备强大的可嵌入性。Jetty的设计...
Jetty 指南书是一本专注于Jetty web容器的详细教程,主要涵盖了Jetty的基础知识、安装配置、架构解析、服务配置、Web应用程序部署、Handler详解、类加载器、Connector配置、虚拟主机、服务器管理和性能优化等多个...
- **如何使用**: 如何在Jetty中配置和使用JNDI。 #### 十二、会话与集群 - **会话管理**: 如何配置会话管理,实现跨服务器的会话共享。 - **集群部署**: 如何设置Jetty集群以提高可用性和负载均衡。 #### 十三、...
- 可以作为嵌入式服务器,方便集成到其他Java应用中。 - 支持多线程模型,确保高并发性能。 - 具有轻量级架构,快速启动和低内存占用。 2. **Jetty 的特点** - 小巧:Jetty 体积小,启动速度快,适合快速部署和...
- **Web服务器**:Tomcat/Jetty/Resin/JBossWeb。 - **JavaWeb核心技术**: - **网页开发** + **数据库设计** → **JavaWeb项目开发**。 - **6项基本技术**:JSP + JavaBean + Servlet + EL + JSTL + Taglib。 ...