- 浏览: 198136 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wentry:
java中字符带有斜杠时,比如\\x00\\x00\\x00\ ...
java中调用js脚本 -
chenzheng8975:
...
ajax -
蓝色飞扬:
有用,也碰到这个问题了,多谢!
java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion -
刘宇斌:
一篇不错的讲解Java异常的文章(转载)----感觉很不错,读了以后很有启发 -
moxiaomomo:
同样的疑问啊...对tomcat缓存仍然一知半解...
tomcat 缓存
在web应用中,一些数据库连接参数或者系统本身的参数通常不是写在程序中的,需要保存成属性文件的形式或者XML文件的形式。二者各有优缺点,属性文件的形式操作和管理比较简单,XML文件形式则能提供很强大,并且层次性很好的属性文件的配置。
下面讲解在web应用中通过属性文件的方式来记录一些重要的参数。
下面的例子以一个数据库连接参数为例子,开发环境是Eclipse,部署环境是Tomcat。
属性文件内容如下所示:
init.properties
-------------------------------------------------------------
drivers=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:test
username=testuser
password=test
-------------------------------------------------------------
访问该属性文件的代码:
InitPropertiesLoader.java
-------------------------------------------------------------------
package com.knight.commons
public class InitPropertiesLoader
{
/**
* 直接读取classpath中的属性文件
* @param filename 文件名称和路径
* @return
*/
public Properties getProperties(String filename)
{
Properties prop = new Properties();
InputStream in = null;
try
{
in = getClass().getResourceAsStream(filename);
prop.load(in);
}
catch (Exception e)
{
log.info("无法正确读取数据库连接配置属性文件!");
}
finally
{
try
{
if (in != null)
{
in.close();
}
}
catch (Exception e)
{
}
}
return prop;
}
}
-------------------------------------------------------------------
ConnectionManager.java
-------------------------------------------------------------------
package com.knight.commons.database
public class ConnectionManager
{
private static String driverName = null;
private static String url = null;
private static String username = null;
private static String password = null;
private static Properties prop = null;
public void init()
{
try
{
prop = new InitPropertiesLoader().getProperties("/init.properties");
driverName = prop.getProperty("drivers");
url = prop.getProperty("url");
username = prop.getProperty("username");
password = prop.getProperty("password");
}
catch (Exception e)
{
log.info("读取属性配置文件时出错!");
}
finally
{
try
{
if (prop != null)
prop.clear();
}
catch (Exception e)
{
log.info(e.getMessage());
}
}
}
public static Connection getConnection()
{
Connection conn = null;
//初始化数据库连接参数
init();
try
{
Class.forName(driverName);
conn = DriverManager.getConnection(url, username, password);
}
catch (Exception e)
{
log.info("There is some error when you get a connection.");
log.info(e.getMessage());
}
return conn;
}
}
-------------------------------------------------------------------
上面就是涉及到的几个主要文件,为了既能在IDE环境中使用该属性配置文件,又能在实际的web应用中保证该属性文件的正常调用。该属性文件存放的位置很重要。
"/init.properties"表示该属性文件存放在CLASSPATH的跟目录中,在Eclipse环境下存放在工程/bin下。
在web应用中init.properties存放在当前应用的WEB-INF/classes目录下。更简单的处理方式是将init.properties打到工程的包中。这样,当多个应用部署在同一个Context下时,相互之间能够保持独立性。但是这时候千万要注意同一个Context下多个应用的属性文件是否文件命名冲突。
附打包后目录的层次:
/
init.properties
/com/knight/commons
InitPropertiesLoader.class
/com/knight/commons/database
ConnectionManager.class
发表评论
-
java 修饰符
2009-10-31 16:37 1425Java语言定义了public、protected、priva ... -
Java虚拟机 堆
2009-10-25 22:27 1114Java程序在运行时创建的所有类实例或者数组都放在堆 ... -
Java虚拟机 方法区
2009-10-25 21:09 1860对于被装载的每个类,虚拟机都会把这个类的类型信息存储在方法区, ... -
Java虚拟机 体系结构
2009-10-25 21:03 1249当一个Java虚拟机运行一 ... -
java中调用js脚本
2009-10-16 18:27 14951JDK1.6加入了对Script(JSR ... -
Java 位运算
2009-09-28 16:43 5073Java 位运算[转] 一,Java 位运算 ... -
拾遗补缺-jdk6新特性
2009-08-09 17:13 12881,输出到文件 java Hello.java > he ... -
拾遗补缺-ResourceBundle
2009-08-08 23:54 2517http://gceclub.sun.com.cn/Java_ ... -
拾遗补缺-logger
2009-08-08 23:33 1192java.util.logging.Logger的使用 20 ... -
拾遗补缺-date
2009-08-08 23:22 1017DateFormat 来格式化日期 2009年01月21日 ... -
classloader
2009-08-08 22:53 1139什么是ClassLoader ClassLoader是一个抽 ... -
Callable与Future
2009-08-08 22:40 1534java.util.concurrent.Callable与j ... -
concurren套件(转载)
2009-08-08 22:31 1307从J2SE 5.0开始有了java.util.concurre ... -
java多线程转载
2009-08-07 18:06 1165Java Thread API 允许程序员编写具有多处理机制优 ... -
java字符集
2009-08-04 17:05 1967ASCII 字符集 1.名称的由来 ASCII( ... -
ajax
2007-09-22 18:12 1580今天第一 ... -
Ajax链接servlet的一个注意事项
2007-09-23 18:02 905这是我用到的一段代码: createXMLHttpReq ... -
tomcat 缓存
2007-09-24 19:28 1538今天写项目的时候遇到一个问题: 就是当打印自定义异常的时候一 ... -
如何用javascript控制checkbox,并进行批量删除
2007-09-24 19:51 1743在做系统数据删除的时候,往往需要批量删除一些数据,如何做到呢? ... -
用servlet filter 解决编码问题的一个小例子
2007-09-24 20:02 1232当在做程序的是你也许会遇到一些很让你恼火的乱码问 ...
相关推荐
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
13.2 在jsp中使用javabean 412 13.2.1 [jsp:usebean] 412 13.2.2 [jsp:setproperty] 413 13.2.3 [jsp:getproperty] 414 13.2.4 示例 414 13.3 网上书店程序 418 13.4 小结 440 第14章 jsp开发的两种模型 441 ...
11. Context参数:Context参数是Web应用的全局参数,可以在web.xml文件中配置。可以使用application对象来获取这些参数。 12. 表单提交:HTML中的表单可以使用post或get方法提交数据,提交地址可以是Servlet、jsp或...
首先,通过菜单栏选择"File" -> "New" -> "Web",然后双击"JSP"图标,会弹出创建JSP向导。向导中,你可以指定JSP要加入的Web模块,若工程中只有一个webModule,则默认选择。在"Name"字段中,你可以输入JSP文件的名称...
总的来说,Struts-menu是一个强大的工具,它通过XML配置文件简化了Java Web应用中菜单的创建和管理。通过理解其基本结构、集成步骤以及如何在JSP中使用标签库,我们可以轻松地在Struts应用中实现动态菜单功能。对于...
-- 返回list 的select 语句,注意 resultMap 的值是指向前面定义好的 --> <select id="selectUsers" parameterType="string" resultMap="resultListUser"> select * from user where userName like #{userName} ...
3. 配置Web应用的web.xml文件,设置过滤器和Servlet,以便WebWork可以拦截和处理请求。 4. 创建一个简单的HelloWorld Action,继承自WebWork的基础Action类,并实现一个执行方法。 在HelloWorld示例中,你将创建一...
你可以包含Web应用的所有资源,如Servlet类、JSP文件、WEB-INF目录等。 `delete`任务用于删除文件或目录,这对于清理构建过程中的临时文件非常有用。你可以通过`fileset`或`dirset`元素来指定要删除的文件或目录。 ...
Servlet和Struts2是两种在Java Web开发中广泛使用的框架,它们在构建动态Web应用程序时起着关键作用。Servlet是Java EE规范的一部分,提供了一种服务器端编程模型,用于处理HTTP请求并生成响应。而Struts2是一个基于...
- 将`<Server>`元素的`port`属性改为`11005`。 - 开启JK2 AJP connector,并关闭其他connector(通过注释掉或删除它们)。 - 修改JK2 AJP connector的端口号为`11009`。 - 添加支持会话复制的`ReplicationValve`...
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在J2EE平台上被广泛用于构建企业级Web应用。本教程旨在帮助开发者理解和掌握WebWork的核心概念和使用方法。 **WebWork 介绍** WebWork 是由Apache软件...
它能够提供基于Java的Web应用环境,支持Servlet和JSP(Java Server Pages)运行。本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们...
整体结构和一些主要职责(如数据库操作 事务跟踪 安全等),剩余的就是变化的东西,针对这个领域中具体应用产生的具体不同 的变化需求,而这些变化东西就是 J2EE 程序员所要做的。 由此可见,设计模式和 J2EE 在思想...