一般 WebApp 的參數, 放在 web.xml 裡面,也可以放在web容器的部署文档里面,比如数据源配置,比如放在\Tomcat 5.0\conf\Catalina\localhost\**.xml里面.
一、先总结一下放在web.xml文件后进行读取的各种情况.
- 以下是要用 JSP 讀取 web.xml 的方法:
web.xml:
1
2
3
4
|
<context-param>
<param-name>test</param-name>
<param-value>test_value</param-value>
</context-param>
|
JSP:
1
|
String test = new String(application.getInitParameter("test"));
|
2. 以下是要用 Servlet 讀取 web.xml 的方法:
web.xml:
1
2
3
4
5
6
7
8
|
<servlet>
<servlet-name>ServletName</servlet-name>
<servlet-class>com.xxx.ServletName</servlet-class>
<init-param>
<param-name>test</param-name>
<param-value>test_value</param-value>
</init-param>
</servlet>
|
Servlet:
1
2
3
4
5
|
public void init(javax.servlet.ServletConfig config)
throws ServletException {
super.init( config );
test = config.getInitParameter("test");
}
|
3. 以下是要用 Struts 讀取 web.xml 的方法:
web.xml:
1
2
3
4
5
6
7
8
9
10
11
12
|
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>FINAL</param-name>
<param-value>XXX</param-value>
</init-param>
</servlet>
|
Action:
1
2
3
4
5
|
import javax.servlet.ServletConfig;
...
javax.servlet.ServletConfig config = this.getServlet().getServletConfig();
String test = config.getInitParameter("FINAL");
|
二、web容器的部署文档里面,比如数据源配置,比如放在\Tomcat 5.0\conf\Catalina\localhost\**.xml里面.
通过JNDI方式获得配置信息的方法
配置文件**.xml(名字任意)
<?xml version='1.0' encoding='utf-8'?>
<Context path="/webName" displayName="Agent3.0" docBase="F:\workspace\webName" reloadable="true">
<Resource name="default" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource"/>
<ResourceParams name="default">
<parameter>
<name>factory</name>
<value>org.apache.naming.factory.BeanFactory</value>
</parameter>
<parameter>
<name>driverClass</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>jdbcUrl</name>
<value>jdbc:oracle:thin:@127.0.0.1:1521:dbName</value>
</parameter>
<parameter>
<name>userName</name>
<value>userName</value>
</parameter>
<parameter>
<name>password</name>
<value>123456</value>
</parameter>
</ResourceParams>
</Context>
备注:如果docBase是想对路径,比如\webName,tomcat启动时就会在webapp目录下寻找webName工程,如果是绝对路径,就会加载绝对路径下的工程,这种方式适合在开发测试过程中使用,当类文件和jsp文件修改编译后,tomcat会使用热部署方式自动部署,不需要手动重启。
同时到web应用程序目录下的web-inf中,打开web.xml,加入如下的配置:
</resource-ref>
<resource-ref>
<description>webName</description>
<res-ref-name>jdbc/default</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
</resource-ref>
在jsp/servlet/Action中使用刚才部署的数据源代码如下:
//通过JNDI获得数据库连接
Context context = new InitialContext();
dSource = (oracle.jdbc.pool.OracleDataSource) context.lookup("java:comp/env/default"); //Oracle数据源
dSource = (java.sql.DataSource) context.lookup("java:comp/env/default"); //java自带数据源
注意:红色的名字是和配置文档中的名字一致。
三、tomcat的所有项目使用相同的数据源时,可以在server.xml配置
<Resource
name="test"
type="javax.sql.DataSource"
driverClassName="org.gjt.mm.mysql.Driver"
password="526633"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/my"
maxActive="4"/>
分享到:
相关推荐
在描述中提到的示例工程,可能是为了演示如何通过改变全局变量的初始化顺序或者使用特定的初始化方法来避免这种问题。下载并使用VS2013编译测试这个工程,可以帮助开发者直观地理解这个问题,并学习如何解决。 标签...
在深入探讨Linux环境下Atheros AR8328网络芯片的初始化与配置流程前,我们先对Atheros AR8328有一个基本的认识。AR8328是一款高性能、高集成度的千兆以太网交换机芯片,广泛应用于各种网络设备中,包括路由器、NAS...
对于骨干路由器来说,首先要进行的是初始化配置,包括但不限于设置设备名称、系统密码、接口配置等基本操作。 **实验二:默认路由配置** 默认路由是在没有找到更精确匹配路由表项时所采用的一种特殊路由。学习如何...
### TIA博途中如何设置不需要初始化DB块也可以下载? #### 关键知识点概述 - **无需初始化下载的概念**:介绍在TIA博途(TIA Portal)软件中如何设置以实现无需初始化即可下载修改后的块(DB块),确保正在运行的控制...
- 创建工程:选择合适的处理器模型(S3C2416),添加相关驱动代码和初始化函数。 - 设置调试目标:配置硬件设置,包括JTAG连接、目标板设置等。 - 编译与链接:编译源代码生成可执行文件,链接到DDR2初始化代码。...
而SDRAM控制器的初始化则确保了内存访问的稳定性和效率。 - **重定位**:将uBoot从非易失性存储器(如Flash)搬移到RAM中,这是为了提高执行速度,因为在RAM中的执行速度远高于非易失性存储器。 - **分配堆栈空间...
实验一:基础初始化配置 实验二:默认路由配置 实验三:RIPv2 配置 实验四:OSPF 配置 第三部分:网络出口配置 实验一:NAT 配置 实验二:策略路由1出口主备切换 实验三:策略路由2教学楼走电信出口,宿舍楼走联通...
SMC2是MPC860中的具体实现,它包含了初始化配置、中断处理以及系统监控等功能。通过阅读和分析`smc2.c`,我们可以了解到如何设置SMC寄存器以满足特定应用的需求。 2. **头文件**:`masks860.h`、`mpc860.h`和`smc2....
### ADV202芯片入门与配置详解 #### 概述 本文档主要针对ADV202工程样本(至少为0.1...综上所述,本文档为ADV202芯片的配置和使用提供了全面而详细的指导,适用于工程师和技术人员快速掌握该芯片的初始化和编程方法。
9. **代码实现**:在"main.c"和"gd32f3x0_it.c"中,可以看到具体的时钟配置函数,如RCC_OscInit()、RCC_ClkInit()等,它们用于初始化时钟源和配置系统时钟。 10. **CMSIS库**:"CMSIS"目录包含通用微控制器软件接口...
本文将详细讲解如何新建SQL数据库以及如何对其进行初始化。 首先,新建一个SQL数据库通常涉及到以下步骤: 1. **选择数据库管理系统**:SQL数据库有许多不同的实现,如MySQL、PostgreSQL、SQL Server、Oracle等。...
通常,此类工具会要求用户提供一些设备配置信息,比如选择外设、设定参数等,然后自动生成相应的初始化代码段,可能以汇编语言或C语言的形式输出,供开发者集成到他们的项目中。 需要注意的是,这款软件仅供学习...
5. **Flash和EEPROM管理**:如果程序需要在运行时读写非易失性存储器,初始化时需要设置Flash和EEPROM的访问参数,如页擦除、字写入等操作。 6. **模拟电路设置**:C8051F310集成了模拟电路,如比较器、电压参考源...
标题与描述概述的知识点主要集中在VB.NET环境下的CSGL配置与初始化示例上。CSGL是OpenGL的一个.NET封装版本,允许开发人员在.NET框架中利用OpenGL进行图形编程。以下是对这些知识点的详细展开: ### 一、CSGL简介 ...
在网络游戏领域,初始化简单网络管理协议(SNMP)代理的系统和方法对于网络管理和优化具有重要意义。SNMP是一种广泛应用于网络设备监控的标准协议,它允许网络管理员远程收集和配置网络设备的状态信息。以下是对该...
本资料包提供了关于ADV7511的详细配置信息,主要涵盖了寄存器定义和配置方法。 首先,我们来深入理解寄存器定义。在微控制器或数字信号处理器(DSP)与ADV7511交互时,通过设置和读取特定的寄存器来控制其功能和参数...
5. **根文件系统挂载**:在内核初始化阶段,需要找到并挂载根文件系统,这样系统才能读取配置文件和服务脚本。 6. **系统服务设置**:如网络、时间同步等服务的初始化。 7. **启动用户空间**:最后,`main.c`会...
首先需要在服务器端点里选择“添加”或“编辑”,以添加或修改本地OPC UA服务器的配置信息。 7. 设置完毕后,回到系统托盘图标处,右击选择初始化服务器,以使配置生效。 为了进行更细致的访问控制,可以设置用户名...
通过这份文档,开发者不仅可以了解44B0初始化的具体步骤,还能学习到微控制器初始化的一般方法和最佳实践,这对于从事嵌入式系统开发的工程师来说是非常宝贵的参考资料。同时,通过阅读论坛上的讨论和分享,还可以...
3. **System**:这个目录可能包含了STM32的系统初始化文件,如`system_stm32f10x.c`,它负责设置系统时钟、中断向量表等基本系统功能。 4. **FWlib**:固件库,通常包含了STM32官方提供的HAL(硬件抽象层)和LL(低...