﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-遗失的冬季-文章分类-J2EE</title><link>http://www.blogjava.net/bluewind/category/31070.html</link><description>永远支持BeanSoft~</description><language>zh-cn</language><lastBuildDate>Sun, 27 Apr 2008 14:10:00 GMT</lastBuildDate><pubDate>Sun, 27 Apr 2008 14:10:00 GMT</pubDate><ttl>60</ttl><item><title>配置Jetty的JNDI绑定</title><link>http://www.blogjava.net/bluewind/articles/196446.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Sun, 27 Apr 2008 05:13:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/196446.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/196446.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/196446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/196446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/196446.html</trackback:ping><description><![CDATA[<p>配置 JNDI绑定</p>
<p>一、&nbsp;此处绑定的数据源是以 DBCP 为实现。首先必须将数据库驱动（这里用了MYSQL数据库）和DBCP所需要的 Jar 包复制到 Jetty 根目录的 lib 目录下。DBCP主要需要以下3个文件：<br />
Commons-dbcp.jar<br />
Commons-pool.jar<br />
Commons-collections.jar<br />
二、&nbsp;在Jetty根目录的contexts下建立wind.xml（该文件名为了增加可读性最好与项目名相同）<br />
wind.xml的内容如下：<br />
--------------------------------------------------------------------------------------------------------------------------<br />
&lt;?xml version="1.0"&nbsp; encoding="GB2312"?&gt;<br />
&lt;!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"&gt;<br />
&lt;!-- 配置一个WEB应用 --&gt;<br />
&lt;Configure class="org.mortbay.jetty.webapp.WebAppContext"&gt;<br />
&nbsp; &lt;Set name="contextPath"&gt;/wind&lt;/Set&gt;<br />
&nbsp; &lt;Set name="resourceBase"&gt;E:/StartPortableApps/jspTest&lt;/Set&gt;</p>
<p>&lt;!-- 配置第一个环境变量 --&gt;<br />
&lt;New id="woggle" class="org.mortbay.jetty.plus.naming.EnvEntry"&gt;<br />
&nbsp; &lt;Arg&gt;woggle&lt;/Arg&gt;<br />
&nbsp; &lt;Arg type="java.lang.Integer"&gt;4000&lt;/Arg&gt;<br />
&lt;/New&gt;</p>
<p>&lt;!-- 配置第二个环境变量 --&gt;<br />
&lt;New id="wiggle" class="org.mortbay.jetty.plus.naming.EnvEntry"&gt;<br />
&nbsp; &lt;Arg&gt;wiggle&lt;/Arg&gt;<br />
&nbsp; &lt;Arg type="boolean"&gt;true&lt;/Arg&gt;<br />
&lt;/New&gt;</p>
<p>&lt;!-- 创建数据源 --&gt;<br />
&lt;New id="ds" class="org.apache.commons.dbcp.BasicDataSource"&gt;<br />
&nbsp; &lt;Set name="driverClassName"&gt;com.mysql.jdbc.Driver&lt;/Set&gt;<br />
&nbsp; &lt;Set name="url"&gt;jdbc:mysql://localhost:3306/test&lt;/Set&gt;<br />
&nbsp; &lt;Set name="username"&gt;root&lt;/Set&gt;<br />
&nbsp; &lt;Set name="password"&gt;wind&lt;/Set&gt;<br />
&nbsp; &lt;Set name="maxActive" type="int"&gt;100&lt;/Set&gt;<br />
&nbsp; &lt;Set name="maxIdle" type="int"&gt;30&lt;/Set&gt;<br />
&nbsp; &lt;Set name="maxWait" type="int"&gt;1000&lt;/Set&gt;<br />
&nbsp; &lt;Set name="defaultAutoCommit" type="boolean"&gt;true&lt;/Set&gt;<br />
&nbsp; &lt;Set name="removeAbandoned" type="boolean"&gt;true&lt;/Set&gt;<br />
&nbsp; &lt;Set name="removeAbandonedTimeout" type="int"&gt;60&lt;/Set&gt;<br />
&nbsp; &lt;Set name="logAbandoned" type="boolean"&gt;true&lt;/Set&gt;<br />
&lt;/New&gt;</p>
<p>&lt;!-- 将实际的数据源绑定到 jdbc/mydatasource 这个 JNDI 名 --&gt;<br />
&lt;New id="mydatasource" class="org.mortbay.jetty.plus.naming.Resource"&gt;<br />
&nbsp; &lt;Arg&gt;jdbc/mydatasource&lt;/Arg&gt;<br />
&nbsp; &lt;Arg&gt;&lt;Ref id="ds"/&gt;&lt;/Arg&gt;<br />
&lt;/New&gt;<br />
&lt;/Configure&gt;<br />
--------------------------------------------------------------------------------------------------------------------------<br />
三、&nbsp;下面是测试该JNDI的jsp和servlet。<br />
(1)在E:/StartPortableApps/jspTest（wind.xml设置的虚拟目录的绝对路径）下创建：index.jsp<br />
&lt;%@ page language="java" pageEncoding="GB2312"%&gt;<br />
&lt;%<br />
&nbsp;String path = request.getContextPath();<br />
&nbsp;String basePath = request.getScheme() + "://"<br />
&nbsp;&nbsp;&nbsp;+ request.getServerName() + ":" + request.getServerPort()<br />
&nbsp;&nbsp;&nbsp;+ path + "/";<br />
%&gt;</p>
<p>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&nbsp;&lt;head&gt;<br />
&nbsp;&nbsp;&lt;base href="&lt;%=basePath%&gt;"&gt;</p>
<p>&nbsp;&nbsp;&lt;title&gt;My JSP 'index.jsp' starting page&lt;/title&gt;</p>
<p>&nbsp;&nbsp;&lt;meta http-equiv="pragma" content="no-cache"&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="cache-control" content="no-cache"&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="expires" content="0"&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />
&nbsp;&nbsp;&lt;meta http-equiv="description" content="This is my page"&gt;<br />
&nbsp;&nbsp;&lt;!--<br />
&nbsp;&lt;link rel="stylesheet" type="text/css" href="styles.css"&gt;<br />
&nbsp;--&gt;</p>
<p>&nbsp;&lt;/head&gt;</p>
<p>&nbsp;&lt;body&gt; <br />
&nbsp;&nbsp;&lt;form method="post" action="aa" name="f1"&gt;&lt;p&gt;&amp;nbsp;&lt;input type="submit" value="test" name="button1"&gt;&lt;/p&gt;&lt;/form&gt; <br />
&nbsp;&lt;/body&gt;<br />
&lt;/html&gt;<br />
(2)TestServlet.java内容如下：<br />
package lee;</p>
<p>import java.io.IOException;<br />
import java.io.PrintStream;<br />
import java.sql.*;<br />
import javax.naming.InitialContext;<br />
import javax.servlet.ServletConfig;<br />
import javax.servlet.ServletException;<br />
import javax.servlet.http.*;<br />
import javax.sql.DataSource;</p>
<p>public class TestServlet extends HttpServlet<br />
{<br />
&nbsp;&nbsp;&nbsp; InitialContext ic;</p>
<p>&nbsp;&nbsp;&nbsp; public TestServlet()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void destroy()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.destroy();<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; protected void service(HttpServletRequest request, HttpServletResponse response)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException, IOException<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrintStream out = new PrintStream(response.getOutputStream());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println(ic.lookup("wiggle"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out.println(ic.lookup("woggle"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSource ds = (DataSource)ic.lookup("jdbc/mydatasource");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Connection conn = ds.getConnection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Statement stmt = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(ResultSet rs = stmt.executeQuery("select * from echo_message"); rs.next(); out.println(rs.getString(2)));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(Exception e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void init(ServletConfig config)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; super.init(config);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ic = new InitialContext();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(Exception e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new ServletException(e);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
(3)web.xml内容如下：<br />
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;web-app version="2.4" <br />
&nbsp;xmlns="http://java.sun.com/xml/ns/j2ee" <br />
&nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <br />
&nbsp;xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee <br />
&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"&gt;<br />
&nbsp; &lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;description&gt;This is the description of my J2EE component&lt;/description&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;display-name&gt;This is the display name of my J2EE component&lt;/display-name&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;TestServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;lee.TestServlet&lt;/servlet-class&gt;<br />
&nbsp; &lt;/servlet&gt;</p>
<p>&nbsp; &lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;TestServlet&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/aa&lt;/url-pattern&gt;<br />
&nbsp; &lt;/servlet-mapping&gt;<br />
&nbsp; &lt;welcome-file-list&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />
&nbsp; &lt;/welcome-file-list&gt;<br />
&lt;/web-app&gt;<br />
</p>
<img src ="http://www.blogjava.net/bluewind/aggbug/196446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-27 13:13 <a href="http://www.blogjava.net/bluewind/articles/196446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat的安装、配置端口、进入控制</title><link>http://www.blogjava.net/bluewind/articles/195159.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Wed, 23 Apr 2008 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/195159.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/195159.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/195159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/195159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/195159.html</trackback:ping><description><![CDATA[一、安装Tomcat<br />
建议使用免安装的Tomcat，而不是下载安装文件。因为安装文件的Tomcat看不到启动和运行时控制台的输出，因而不利于开发者的使用。<br />
注：使用免安装版的Tomcat时，需要设置一个环境变量JAVA_Home。<br />
<br />
二、配置Tomcat服务端口<br />
打开Tomcat/conf目录下的server.xml。找到如下代码：<br />
&nbsp;&nbsp; &nbsp;&lt;Connector port="8080" protocol="HTTP/1.1" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionTimeout="20000" <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; redirectPort="8443" /&gt;<br />
其中port="8080"就是Tomcat默认的端口，将8080修改成任意的端口。<br />
注：尽量不要使用1000以下的端口，避免与公用端口冲突。<br />
&nbsp;&nbsp; &nbsp;<br />
三、进入控制台<br />
打开Tomcat/conf目录下的tomcat-users.xml。修改成如下代码：<br />
&lt;?xml version='1.0' encoding='utf-8'?&gt;<br />
&lt;tomcat-users&gt;<br />
&nbsp; &lt;role rolename="manager"/&gt;<br />
&nbsp; &lt;user username="manager" password="manager" roles="manager"/&gt;<br />
&lt;/tomcat-users&gt;<br />
这样就添加了一个用户名为：manager、密码为：manager的控制台用户。<br />
控制台的用户名和密码时通过Tomcat的JAAS控制。<br />
然后，重启Tomcat，在地址栏输入&lt;http://localhost:8080/&gt;<br />
点击左上角的Tomcat Manager，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat1.jpg" height="96" width="216" /><br />
<br />
输入设置的用户名：manager、密码：manager，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat2.jpg" height="343" width="324" /><br />
<br />
登录后，控制台为，如下图：<br />
&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/bluewind/Tomcat3.jpg" /><br />
<br />
这样就可以方便地管理自己开发的WEB项目。<br />
<br />
 <img src ="http://www.blogjava.net/bluewind/aggbug/195159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-23 16:59 <a href="http://www.blogjava.net/bluewind/articles/195159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat6下配置数据源及使用</title><link>http://www.blogjava.net/bluewind/articles/194919.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Tue, 22 Apr 2008 23:50:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/194919.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/194919.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/194919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/194919.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/194919.html</trackback:ping><description><![CDATA[1.将数据库驱动程序拷贝到tomcat\lib目录下面，同时在MYSQL的数据库test下建立表echo_message。<br />
<br />
2..在tomcat根目录的conf\catalina\localhost(对于Tomcat6及其以上版本，需要自己创建catalina和localhost这两个目录)下增加wind.xml文件(该文件名为了更好的可读性最好和下面的path="/xxx"的xxx相同)<br />
<br />
3.该文件内容: <br />
------------------------------------------------<br />
&lt;Context path="/wind"<br />
&nbsp;&nbsp;&nbsp; docBase="E:/StartPortableApps/jspTest"<br />
&nbsp;&nbsp;&nbsp; debug="5"<br />
&nbsp;&nbsp;&nbsp; reloadable="true"<br />
&nbsp;&nbsp;&nbsp; crossContext="true"&gt;<br />
&lt;Resource name="jdbc/wind"<br />
&nbsp;&nbsp;&nbsp; auth="Container"<br />
&nbsp;&nbsp;&nbsp; type="javax.sql.DataSource"<br />
&nbsp;&nbsp;&nbsp; maxActive="5"<br />
&nbsp;&nbsp;&nbsp; maxIdle="2"<br />
&nbsp;&nbsp;&nbsp; maxWait="10000"<br />
&nbsp;&nbsp;&nbsp; username="root"<br />
&nbsp;&nbsp;&nbsp; password="wind"<br />
&nbsp;&nbsp;&nbsp; driverClassName="com.mysql.jdbc.Driver"<br />
&nbsp;&nbsp;&nbsp; url="jdbc:mysql://localhost:3306/test"/&gt;<br />
&lt;/Context&gt;<br />
------------------------------------------------<br />
<br />
说明：<br />
&nbsp;&nbsp;&nbsp;&nbsp; path="虚拟路径" docBase="绝对路径"。<br />
&nbsp;&nbsp;&nbsp;&nbsp; 其中name 指定数据源在容器中的JNDI名。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxActive 指定数据源最大活动连接数。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxIdle 指定数据池中最大空闲连接数。<br />
&nbsp;&nbsp;&nbsp;&nbsp; maxWait 指定数据池中最大等待获取连接的客户端。<br />
&nbsp;&nbsp;&nbsp;&nbsp; username 指定连接数据库的用户名。<br />
&nbsp;&nbsp;&nbsp;&nbsp; password 指定连接数据库的密码。<br />
&nbsp;&nbsp;&nbsp;&nbsp; driverClassName 指定连接数据库的驱动。<br />
&nbsp;&nbsp;&nbsp;&nbsp; url 指定数据库服务的URL<br />
<br />
问题：<br />
*****为什么要不修改server.xml呢？*****<br />
在Tomcat6的doc帮助文档中，官方是不提倡修改server.xml来添加虚拟目录的！因为修改该文件可能引入额外的风险，例如导致Tomcat彻底崩溃。这样做还有一个好处是非常方便于项目的移植。<br />
<br />
4.在上面的docBase路径(这里是E:/StartPortableApps/jspTest)下创建index.jsp来测试数据源<br />
------------------------------------------------<br />
&lt;%@ page language="java" pageEncoding="GB2312"%&gt;<br />
&lt;%@ page import="java.sql.Connection"%&gt;<br />
&lt;%@ page import="java.sql.ResultSet"%&gt;<br />
&lt;%@ page import="java.sql.Statement"%&gt;<br />
&lt;%@ page import="javax.naming.Context"%&gt;<br />
&lt;%@ page import="javax.naming.InitialContext"%&gt;<br />
&lt;%@ page import="javax.sql.DataSource"%&gt;<br />
<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;index.jsp&lt;/title&gt;<br />
&lt;/head&gt;<br />
<br />
&lt;body&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h2&gt;测试数据源&lt;/h2&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Context ctx = new InitialContext();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 通过JNDI查找数据源，该JNDI为java:comp/env/jdbc/wind，分为两部分；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // java:comp/env是Tomcat固定的，必需加的前缀；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // jdbc/wind是定义数据源时的数据源名；<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/wind");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Connection conn = ds.getConnection();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Statement stmt = conn.createStatement();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ResultSet rs = stmt.executeQuery("select * from echo_message");<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while(rs.next()) {<br />
&nbsp;&nbsp;&nbsp; %&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%=rs.getString(2)%&gt;&lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;%}<br />
&nbsp;&nbsp;&nbsp; %&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
------------------------------------------------<br />
<br />
注意：<br />
Tomcat数据源的配置分为两种：<br />
全局数据源：对所有的web应用都可以访问。局部数据源：只能在某个web应用下访问。<br />
这里是使用局部数据源。尽量不要使用全局数据源，因为使用全局数据源会破坏Tomcat原有的配置文件,可能会破坏Tomcat系统。<br />
<br />
4.启动Tomcat，地址栏输入http://localhost:8080/wind/index.jsp<br />
<br />
<br />
 <img src ="http://www.blogjava.net/bluewind/aggbug/194919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-23 07:50 <a href="http://www.blogjava.net/bluewind/articles/194919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>URL重写技术</title><link>http://www.blogjava.net/bluewind/articles/192015.html</link><dc:creator>bluerain_wind</dc:creator><author>bluerain_wind</author><pubDate>Thu, 10 Apr 2008 15:00:00 GMT</pubDate><guid>http://www.blogjava.net/bluewind/articles/192015.html</guid><wfw:comment>http://www.blogjava.net/bluewind/comments/192015.html</wfw:comment><comments>http://www.blogjava.net/bluewind/articles/192015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bluewind/comments/commentRss/192015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bluewind/services/trackbacks/192015.html</trackback:ping><description><![CDATA[URL重写技术的优点：<br />
1、满足搜索引擎的要求。某些搜索引擎不能支持动态页面的抓取，大量的信息就不能被用户搜索到。应此把网站地址改成静态的绝对地址是很有必要的。<br />
2、隐藏技术实现。<br />
有些网站挂着.asp、.jsp开发语言的标记，让人一眼就看出使用什么语言开发的。使用URL重写技术就可以实现地址的隐藏。<br />
<br />
下面是个URL重写技术的例子：<br />
<br />
index.jsp<br />
<p>&lt;%@ page language="java" pageEncoding="ISO-8859-1"%&gt;</p>
<p>&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %&gt;<br />
&lt;%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %&gt;</p>
<p><br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />
&lt;html:html lang="true"&gt;<br />
&nbsp; &lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;html:base /&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;index.jsp&lt;/title&gt;</p>
<p>&nbsp;&lt;meta http-equiv="pragma" content="no-cache"&gt;<br />
&nbsp;&lt;meta http-equiv="cache-control" content="no-cache"&gt;<br />
&nbsp;&lt;meta http-equiv="expires" content="0"&gt;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />
&nbsp;&lt;meta http-equiv="description" content="This is my page"&gt;<br />
&nbsp;&lt;!--<br />
&nbsp;&lt;link rel="stylesheet" type="text/css" href="styles.css"&gt;<br />
&nbsp;--&gt;</p>
<p>&nbsp; &lt;/head&gt;<br />
&nbsp; <br />
&nbsp; &lt;body&gt;<br />
&nbsp;&nbsp; &lt;html:link page="/personal/jilin/gaohongyan"&gt;test&lt;/html:link&gt; <br />
&nbsp; &lt;/body&gt;<br />
&lt;/html:html&gt;</p>
<br />
<br />
Action的java代码：<br />
UrlReWriteAction.jsp<br />
<p>* Generated by MyEclipse Struts<br />
&nbsp;* Template path: templates/java/JavaClass.vtl<br />
&nbsp;*/<br />
package com.yourcompany.struts.action;</p>
<p>import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;<br />
import org.apache.struts.action.Action;<br />
import org.apache.struts.action.ActionForm;<br />
import org.apache.struts.action.ActionForward;<br />
import org.apache.struts.action.ActionMapping;</p>
<p>/** <br />
&nbsp;* MyEclipse Struts<br />
&nbsp;* Creation date: 04-10-2008<br />
&nbsp;* <br />
&nbsp;* XDoclet definition:<br />
&nbsp;* @struts.action validate="true"<br />
&nbsp;*/<br />
public class UrlReWriteAction extends Action {<br />
&nbsp;/*<br />
&nbsp; * Generated Methods<br />
&nbsp; */</p>
<p>&nbsp;/** <br />
&nbsp; * Method execute<br />
&nbsp; * @param mapping<br />
&nbsp; * @param form<br />
&nbsp; * @param request<br />
&nbsp; * @param response<br />
&nbsp; * @return ActionForward<br />
&nbsp; */<br />
&nbsp;public ActionForward execute(ActionMapping mapping, ActionForm form,<br />
&nbsp;&nbsp;&nbsp;HttpServletRequest request, HttpServletResponse response) {<br />
&nbsp;&nbsp;// TODO Auto-generated method stub<br />
&nbsp;&nbsp;System.out.println("city = " + request.getParameter("city"));<br />
&nbsp;&nbsp;System.out.println("name = " + request.getParameter("name"));<br />
&nbsp;&nbsp;return null;<br />
&nbsp;}<br />
}<br />
<br />
<br />
导入JAR包：urlrewrite-2.6.0.jar 在 <a href="http://tuckey.org/urlrewrite/">http://tuckey.org/urlrewrite/</a>下载<br />
<br />
<br />
web.xml中添加以下代码：<br />
&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&lt;/filter&gt;<br />
&nbsp;<br />
&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
<br />
在WEB-INF添加：<br />
urlrewrite.xml</p>
<p>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://tuckey.org/res/dtds/urlrewrite2.6.dtd"&gt;</p>
<p>&lt;urlrewrite&gt;</p>
<p>&nbsp;&lt;rule&gt;<br />
&nbsp;&nbsp;&lt;from&gt;/personal/([a-z]+)/([a-z]+)&lt;/from&gt;<br />
&nbsp;&nbsp;&lt;to type="forward"&gt;/urlReWrite.do?city=$1&amp;amp;name=$2&lt;/to&gt;<br />
&nbsp;&lt;/rule&gt;</p>
<p>&lt;/urlrewrite&gt;<br />
<br />
更多内容请登录：<a href="http://tuckey.org/urlrewrite/">http://tuckey.org/urlrewrite/</a></p>
  <img src ="http://www.blogjava.net/bluewind/aggbug/192015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bluewind/" target="_blank">bluerain_wind</a> 2008-04-10 23:00 <a href="http://www.blogjava.net/bluewind/articles/192015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>