Eclipse里配置Ant 组织的Project(3)
接着Eclipse里配置Ant 组织的Project(2)(http://rmn190.iteye.com/admin/blogs/174851)一篇博文,在这篇里我将整理利用Eclipse在Tomcat里JNDI/DataSource.
在整理之前先说下我以前对JNDI的认识,说实话,前些天我对Tomcat里内置的JNDI功能一点也不清楚,只是听说过Tomcat里有这个功能,可怎么用,如何配置一点也没接触过.
这些天经过无数的折磨看了Tomcat的docs后,也就是解压Tomcat后这个路径apache-tomcat-5.5.25/webapps/tomcat-docs里的说明,现在可以说一点问题也没有了.
在这篇的整理中我将用一个新的例子来说明.
Step1,在Eclispe里新建一个Dynamic Web Project,可以命名为JndiT,
Step2,新一个jsp文件,以测试JNID的配置是否成功,内容如下:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import = "javax.sql.DataSource, javax.naming.Context,javax.naming.InitialContext,java.sql.Connection" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Context initCxt = new InitialContext();
Connection con;
try{
initCxt = (Context)initCxt.lookup("java:comp/env");
DataSource ds = (DataSource)
initCxt.lookup("jdbc/TestDB");
con = ds.getConnection();
System.out.println("Connection: "+con);
}catch(Exception e){
e.printStackTrace();
}
%>
</body>
</html>
Step3,在Eclipse里把JndiT项目里的自动生成的那个web.xml内容改为如下:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
这里将引用待会后面配置的jdbc/TestDB.
Step4,下面看Servers下已配置成的Tomcat v5.5 Server at localhost-config里的server.xml文件.下面通过"Add and Remove Projects"对话框往Tomcat里把刚才新建的项目JndiT添加进来.添加后上面提到的server.xml里会自动生成如下一条:
<Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT"/>.
我们在这里配置DataSource,把上面那条改为如下:
<Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="jnditest" password="123456" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://192.168.5.10:1433;database=jnditest"/>
</Context>
至些配置完成.
右击Tomcat,选择clean,这样JndiT就会自动publish到Eclispe里的内置的Tomcat插件里.这时注意E:\MyTestSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf下的server.xml文件.
我们看到下面自动添加了一条如下配置:
<Context docBase="E:\MyTestSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="jnditest" password="123456" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://192.168.5.10:1433;database=jnditest"/>
</Context>
(这里补充一下,我觉得上面修改<Context docBase="JndiT" path="/JndiT" reloadable="true" source="org.eclipse.jst.j2ee.server:JndiT"/>时加的那条在Eclipse里启动Tomcat里好像不起作用,而起作用的是Eclipse里自动生成的那条.)
在浏览器里输入http://127.0.0.1:8080/JndiT/test.jsp,虽然页面上一篇空白,但不必着急,看Eclipse里的Console,下面已有期待已久的输出了:
Connection: jdbc:sqljdbc://, UserName=jnditest, Microsoft SQL Server 2005 JDBC Driver
这个基本的配置OK了.下一篇中,再往里加上Spring对JNDI的支持.
分享到:
相关推荐
在Tomcat中,JNDI常用于配置数据库连接池,使得多个Web应用可以共享同一个数据库连接。 配置JNDI的步骤如下: 1. **安装与配置MySQL**: 首先确保你已经安装了MySQL数据库,并创建了所需的数据库和用户。你需要...
本文档旨在指导读者如何在 Eclipse 中配置 GlassFish 3.1.1,实现连接池配置和 JNDI 配置。同时,也会解决在部署过程中可能出现的异常。 一、GlassFish 3.1.1 简介 GlassFish 是一个开源的 Java EE 应用服务器,由 ...
Tomcat中的JNDI主要分为两部分:全局JNDI和Web应用局部JNDI。全局JNDI通常用于配置跨多个Web应用的共享资源,如全局数据源。这些资源在`$CATALINA_HOME/conf/server.xml`文件中的`<GlobalNamingResources>`元素下...
### Tomcat中JNDI原理详解 #### 一、引言 Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API。它为开发者提供了访问各种命名和目录服务(如DNS、LDAP等)的统一接口。在Tomcat...
$ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] where: -C - command executed in the remote classfile. (optional , default command is "open /Applications/...
java asm jndi_JNDI-Injection-Exploit,用于log4j2漏洞验证 可执行程序为jar包,在命令行中运行以下命令: $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] 其中: -C ...
Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...
该压缩包"JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar"可能包含了一个JNDI注入攻击的示例或者测试工具,"SNAPSHOT"通常表示这是一个开发中的版本,可能尚未经过完整测试,因此可能存在漏洞或不稳定性。使用这样的...
标题中的"jndi-1_2_1.zip_jndi_jndi-1.2.1.jar"表明这是一个关于JNDI的版本1.2.1的开源软件包,其中包含了一个名为"jndi-1.2.1.jar"的JAR文件。这个JAR文件包含了JNDI库的所有实现,使得开发者可以在他们的Java项目...
Tomcat配置JNDI数据源的N种方法
在本压缩包"apache-tomcat-6.0.29.zip"中,包含的是Apache Tomcat 6.0.29版本的源码、配置文件、库文件以及相关的文档资料。 Tomcat 6.0.29是Apache Tomcat的一个稳定版本,发布于2010年,支持Java EE 5规范。以下...
- 配置主要通过修改conf目录下的server.xml文件,可以设置端口号、连接器、全局JNDI资源等。 - 可以通过环境变量CATALINA_HOME指向Tomcat的根目录来设置路径。 6. **部署应用程序**: - 将WAR文件直接放入...
在压缩包中有一个文件名为 "JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar",这很可能是一个Java可执行的jar文件,其中封装了用于演示JNDI注入攻击或者进行安全测试的代码。用户可以通过运行这个jar文件来触发或者...
在Java Web应用中,Tomcat是一个广泛使用的开源应用服务器,它提供了Servlet容器和JSP引擎等核心功能。在处理数据库连接方面,Tomcat提供了一种高效且可管理的数据源实现,名为“tomcat-jdbc数据源”。这个数据源是...
【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...
在Tomcat6.0中配置JNDI,主要是为了实现应用中的数据源管理,使得多个应用可以共享一个数据库连接池,提高资源利用率和系统性能。 **一、JNDI的基本概念** JNDI提供了一个统一的接口,让开发者可以查找和绑定各种...