﻿<?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-java技术</title><link>http://www.blogjava.net/wolfSnail/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 05:59:10 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 05:59:10 GMT</pubDate><ttl>60</ttl><item><title>Email验证的正则表达式</title><link>http://www.blogjava.net/wolfSnail/archive/2008/12/19/247319.html</link><dc:creator>范永强</dc:creator><author>范永强</author><pubDate>Fri, 19 Dec 2008 05:21:00 GMT</pubDate><guid>http://www.blogjava.net/wolfSnail/archive/2008/12/19/247319.html</guid><wfw:comment>http://www.blogjava.net/wolfSnail/comments/247319.html</wfw:comment><comments>http://www.blogjava.net/wolfSnail/archive/2008/12/19/247319.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/wolfSnail/comments/commentRss/247319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wolfSnail/services/trackbacks/247319.html</trackback:ping><description><![CDATA[&nbsp; &nbsp;&nbsp;&nbsp; 这个Email验证的正则表达式基本符合RFC3521规范，缺少ipv6部分的验证。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mail=("([\\x20-\\x21\\x23-\\x5B\\x5D-\\x7E]|(\\\\[\\x20-\\x7E]))*"|^[-!#$%&amp;\'*+/0-9=?A-Z\\^_`a-z{|}~]+(.[-!#$%&amp;\'*+/0-9=?A-Z\\^_`a-z{|}~]+)*)@([a-zA-Z0-9]+([\\-\\da-zA-Z]*[a-zA-Z0-9]+)*(\\.[a-zA-Z\\d]+([\\-\\da-zA-Z]*[a-zA-Z0-9]+)*)*|[\\[]((1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9]))[\\]]|((1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])\\.(1[0-9][0-9]|25[0-5]|2[0-4][0-9]|0[0-9][0-9]|00[0-9]|[0-9][0-9]|[0-9])))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RFC3521中的相关定义：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Domain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = sub-domain *("." sub-domain)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sub-domain&nbsp;&nbsp;&nbsp;&nbsp; = Let-dig [Ldh-str]<br />
<br />
&nbsp;&nbsp; Let-dig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = ALPHA / DIGIT<br />
<br />
&nbsp;&nbsp; Ldh-str&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = *( ALPHA / DIGIT / "-" ) Let-dig<br />
<br />
&nbsp;&nbsp; address-literal&nbsp; = "[" ( IPv4-address-literal /<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IPv6-address-literal /<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; General-address-literal ) "]"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; See Section 4.1.3<br />
<br />
&nbsp;&nbsp; Mailbox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = Local-part "@" ( Domain / address-literal )<br />
<br />
&nbsp;&nbsp; Local-part&nbsp;&nbsp;&nbsp;&nbsp; = Dot-string / Quoted-string<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; MAY be case-sensitive<br />
<br />
<br />
&nbsp;&nbsp; Dot-string&nbsp;&nbsp;&nbsp;&nbsp; = Atom *("."&nbsp; Atom)<br />
<br />
&nbsp;&nbsp; Atom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1*atext<br />
<br />
&nbsp;&nbsp; Quoted-string&nbsp; = DQUOTE *QcontentSMTP DQUOTE<br />
<br />
&nbsp;&nbsp; QcontentSMTP&nbsp;&nbsp; = qtextSMTP / quoted-pairSMTP<br />
<br />
&nbsp;&nbsp; quoted-pairSMTP&nbsp; = %d92 %d32-126<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; i.e., backslash followed by any ASCII<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; graphic (including itself) or SPace<br />
<br />
&nbsp;&nbsp; qtextSMTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = %d32-33 / %d35-91 / %d93-126<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; i.e., within a quoted string, any<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; ASCII graphic or space is permitted<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; without blackslash-quoting except<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; double-quote and the backslash itself.<br />
<br />
<img src ="http://www.blogjava.net/wolfSnail/aggbug/247319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wolfSnail/" target="_blank">范永强</a> 2008-12-19 13:21 <a href="http://www.blogjava.net/wolfSnail/archive/2008/12/19/247319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Apache HTTP Server 与Tomcat的整合</title><link>http://www.blogjava.net/wolfSnail/archive/2008/08/15/222227.html</link><dc:creator>范永强</dc:creator><author>范永强</author><pubDate>Fri, 15 Aug 2008 06:03:00 GMT</pubDate><guid>http://www.blogjava.net/wolfSnail/archive/2008/08/15/222227.html</guid><wfw:comment>http://www.blogjava.net/wolfSnail/comments/222227.html</wfw:comment><comments>http://www.blogjava.net/wolfSnail/archive/2008/08/15/222227.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wolfSnail/comments/commentRss/222227.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wolfSnail/services/trackbacks/222227.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">既然</span><span style="font-size: 10pt; font-family: Verdana"> Tomcat </span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">本身已</span><span style="font-size: 10pt; font-family: SimSun">经</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">可以提供</span><span style="font-size: 10pt; font-family: SimSun">这样</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">的服</span><span style="font-size: 10pt; font-family: SimSun">务</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">，我</span><span style="font-size: 10pt; font-family: SimSun">们为</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">什</span><span style="font-size: 10pt; font-family: SimSun">么还</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">要引入</span><span style="font-size: 10pt; font-family: Verdana"> Apache </span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">或者其他的一些</span><span style="font-size: 10pt; font-family: SimSun">专门</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">的</span><span style="font-size: 10pt; font-family: Verdana"> HTTP </span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">服</span><span style="font-size: 10pt; font-family: SimSun">务</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">器呢？原因有下面几个：</span>
<p style="text-align: left" align="left"><strong><span style="font-family: Verdana">1. </span></strong><strong><span style="font-family: 'ＭＳ 明朝'">提升</span></strong><strong><span style="font-family: SimSun">对</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">静</span></strong><strong><span style="font-family: SimSun">态</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">文件的</span></strong><strong><span style="font-family: SimSun">处</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">理性能</span></strong><strong><span style="color: black; font-family: Verdana"><br />
</span></strong><strong><span style="font-family: Verdana">2. </span></strong><strong><span style="font-family: 'ＭＳ 明朝'">利用</span></strong><strong><span style="font-family: Verdana"> Web </span></strong><strong><span style="font-family: 'ＭＳ 明朝'">服</span></strong><strong><span style="font-family: SimSun">务</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">器来做</span></strong><strong><span style="font-family: SimSun">负载</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">均衡以及容</span></strong><strong><span style="font-family: SimSun">错</span></strong><strong><span style="color: black; font-family: Verdana"><br />
</span></strong><strong><span style="font-family: Verdana">3. </span></strong><strong><span style="font-family: 'ＭＳ 明朝'">无</span></strong><strong><span style="font-family: SimSun">缝</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">的升</span></strong><strong><span style="font-family: SimSun">级应</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">用程</span></strong><strong><span style="font-family: 'ＭＳ 明朝'">序</span></strong></p>
<p style="text-align: left" align="left"><span style="color: #003300; font-family: SimSun">原理</span><span style="color: #003300; font-family: SimSun">:</span></p>
<p style="text-align: left" align="left"><span style="color: #003300; font-family: SimSun">&nbsp;&nbsp; </span><span style="color: #003300; font-family: SimSun">tomcat </span><span style="color: #003300; font-family: SimSun">为一个</span>servelet<span style="font-family: 'ＭＳ 明朝'">容器</span><span style="color: #003300; font-family: SimSun">，apache为一个web server，两者之间通信通过mod_jk的模块（由web服务器像apache、iis等使用）和Web Server通信</span><span style="color: #003300; font-family: SimSun">，</span><span style="font-size: 10pt; font-family: Verdana">Tomcat </span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">默</span><span style="font-size: 10pt; font-family: SimSun">认</span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">的</span><span style="font-size: 10pt; font-family: Verdana"> AJP Connector </span><span style="font-size: 10pt; font-family: 'ＭＳ 明朝'">的端口是</span><span style="font-size: 10pt; font-family: Verdana"> 8009</span><span style="font-size: 10pt; font-family: Verdana">.</span><span style="color: #003300; font-family: SimSun">整个过程其实就是让apache的httpd.conf文件调用mod_jk.conf，mod_jk.conf调用workers.properties，最后配置虚拟主机。</span></p>
<p><span style="color: #003300; font-family: SimSun">文件说明 </span><span style="color: #003300; font-family: SimSun">：</span></p>
<p style="text-indent: 21pt"><span style="color: #003300; font-family: SimSun">mod_jk.conf </span></p>
<p style="margin-left: 21pt"><span style="color: #003300; font-family: SimSun">主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置，还有定义worker.properties文件的位置。 <br />
worker.properties <br />
定义worker的参数，主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上，或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。</span></p>
<p style="margin-left: 21pt"><span style="font-family: 'ＭＳ 明朝'">％</span>APACHE_HOME<span style="font-family: 'ＭＳ 明朝'">％</span><span style="font-family: SimSun">为你的安装目录</span><strong>&nbsp;</strong></p>
<p style="text-align: left" align="left"><strong><span style="font-size: 20pt; font-family: 'MS UI Gothic'">整合</span></strong></p>
<p><span style="font-family: 'ＭＳ 明朝'">１、</span><span style="color: #003300; font-family: SimSun">准备下载下列文件</span><span style="font-family: 'ＭＳ 明朝'">：</span></p>
<p style="margin-left: 42pt"><span style="color: #003300; font-family: SimSun">Jdk1.5 <br />
</span><span style="color: #003300; font-family: SimSun">下载地址: http://java.sun.com <br />
tomcat 5.5.9 <br />
下载地址：http://jakarta.apache.org <br />
apache_2.2.4-win32-x86-no_ssl.msi <br />
下载地址: http://httpd.apache.org/download.cgi <br />
</span>mod_jk<span style="font-family: 'ＭＳ 明朝'">－</span>apache-2.2.3.so</p>
<p style="margin-left: 42pt"><span style="color: #003300; font-family: SimSun">下载地址：</span><span style="color: #003300; font-family: SimSun">http://archive.apache.org/dist/jakarta/tomcat-connectors/ </span></p>
<p><span style="color: #003300; font-family: SimSun">2</span><span style="color: #003300; font-family: 'ＭＳ 明朝'">、</span><span style="color: #003300; font-family: SimSun">安装</span><span style="color: #003300; font-family: SimSun">好</span><span style="color: #003300; font-family: SimSun">Jdk</span><span style="color: #003300; font-family: SimSun">、</span><span style="color: #003300; font-family: SimSun">tomcat</span><span style="color: #003300; font-family: SimSun">、</span><span style="color: #003300; font-family: SimSun">apache</span><span style="color: #003300; font-family: SimSun">后</span><span style="color: #003300; font-family: SimSun">,</span><span style="color: #003300; font-family: SimSun">加入mod_jk连接模块</span><span style="color: #003300; font-family: SimSun">，就是把</span>mod_jk<span style="font-family: 'ＭＳ 明朝'">－</span>apache-2.2.3.so<span style="font-family: 'ＭＳ 明朝'">文件重名</span><span style="font-family: SimSun">为</span>mod_jk.so<span style="font-family: 'ＭＳ 明朝'">文件并拷</span><span style="font-family: SimSun">贝</span><span style="font-family: 'ＭＳ 明朝'">到％</span>APACHE_HOME<span style="font-family: 'ＭＳ 明朝'">％</span>"modules<span style="font-family: 'ＭＳ 明朝'">下</span></p>
<p>3<span style="font-family: 'ＭＳ 明朝'">、修改</span>apache<span style="font-family: 'ＭＳ 明朝'">的配置文件：</span></p>
<p style="text-indent: 21pt"><span style="color: #003300; font-family: SimSun">为了保持httpd.conf文件的简洁，把jk模块的配置放到单独的文件中来，就在httpd.conf中增加一行调用 <br />
代码 </span><span style="color: #003300; font-family: SimSun">&nbsp;</span><span style="color: #003300; font-family: SimSun">include </span><span style="font-family: 'ＭＳ 明朝'">％</span>APACHE_HOME<span style="font-family: 'ＭＳ 明朝'">％</span><span style="color: #003300; font-family: SimSun">Apache2"conf"mod_jk.conf</span></p>
<p><span style="color: #003300; font-family: SimSun">4</span><span style="color: #003300; font-family: SimSun">：配置</span><span style="color: #003300; font-family: SimSun">mod_jk.conf <br />
</span><span style="color: #003300; font-family: SimSun">请注意使用绝对路径</span><span style="color: #003300; font-family: SimSun"> <br />
</span><span style="color: #003300; font-family: SimSun">其实最关键的就是 第一条 第二条 和最后一条，如果要精简，就保留这三条内容就可以了。</span><span style="color: #003300; font-family: SimSun"> <br />
</span><span style="color: #003300; font-family: SimSun">代码 <br />
# Load mod_jk module </span></p>
<p><span style="color: #003300; font-family: SimSun">LoadModule jk_module "E:"Program Files"Apache Software Foundation"Apache2.2"modules"mod_jk.so"</span></p>
<p><span style="color: #003300; font-family: SimSun"># Where to find workers.properties </span></p>
<p><span style="color: #003300; font-family: SimSun">JkWorkersFile "E:"Program Files"Apache Software Foundation"Apache2.2"conf"workers.properties"</span></p>
<p><span style="color: #003300; font-family: SimSun"># Where to put jk logs </span></p>
<p><span style="color: #003300; font-family: SimSun">JkLogFile "E:"Program Files"Apache Software Foundation"Apache2.2"logs"mod_jk.log"</span></p>
<p><span style="color: #003300; font-family: SimSun"># Set the jk log level [debug/error/info] </span></p>
<p><span style="color: #003300; font-family: SimSun">JkLogLevel info</span></p>
<p><span style="color: #003300; font-family: SimSun"># Select the log format </span></p>
<p><span style="color: #003300; font-family: SimSun">JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "</span></p>
<p><span style="color: #003300; font-family: SimSun"># JkOptions indicate to send SSL KEY SIZE</span><span style="color: #003300; font-family: SimSun">，</span></p>
<p><span style="color: #003300; font-family: SimSun">JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories</span></p>
<p><span style="color: #003300; font-family: SimSun"># JkRequestLogFormat set the request format </span></p>
<p><span style="color: #003300; font-family: SimSun">JkRequestLogFormat "%w %V %T"</span></p>
<p><span style="color: #003300; font-family: SimSun"># Send servlet for context /examples to worker named ajp13 </span></p>
<p><span style="color: #003300; font-family: SimSun">#JkMount /servlet/* ajp13</span></p>
<p><span style="color: #003300; font-family: SimSun"># Send JSPs for context /examples to worker named ajp13 </span></p>
<p><span style="color: #003300; font-family: SimSun">JkMount /*.jsp ajp13</span></p>
<p><span style="color: #003300; font-family: SimSun">JkMount /*.do ajp13</span></p>
<p><span style="color: #003300; font-family: SimSun">上面这一行我们设置了了 /*.jsp ajp13 就是说把所有.jsp结尾的文件都由ajp13这个worker交给tomcat处理了，如果应用被映射为一个.do的URL，这样就会出错.解决方法是再添加如下一行： <br />
代码 <br />
JkMount /*.do ajp13</span></p>
<p><span style="color: #003300; font-family: SimSun">5</span><span style="color: #003300; font-family: SimSun">:</span><span style="color: #003300; font-family: SimSun">配置apache2"conf"workers.properties <br />
代码 </span></p>
<p><span style="color: #003300; font-family: SimSun">workers.tomcat_home=E:"Program Files"Apache Software Foundation"Tomcat 5.5</span></p>
<p><span style="color: #003300; font-family: SimSun">workers.java_home=E:"Program Files"Java"jdk1.5.0_08</span></p>
<p><span style="color: #003300; font-family: SimSun">worker.list=ajp13 </span></p>
<p><span style="color: #003300; font-family: SimSun">worker.ajp13.port=8009 </span></p>
<p><span style="color: #003300; font-family: SimSun">worker.ajp13.host=localhost #</span></p>
<p><span style="color: #003300; font-family: SimSun">worker.ajp13.type=ajp13 #</span></p>
<p><span style="color: #003300; font-family: SimSun">worker.ajp13.lbfactor=1 #<br />
worker.list=ajp13 <br />
worker.ajp13.port=8009 <br />
worker.ajp13.host=localhost #</span><span style="color: #003300; font-family: SimSun">本机，若上面Tomcat主机不为localhost，作相应修改 <br />
worker.ajp13.type=ajp13 #类型 <br />
worker.ajp13.lbfactor=1 #代理数，不用修改</span></p>
<p><span style="color: #003300; font-family: SimSun">第二部分:虚拟主机的配置 <br />
举例配置2个vhost网站 一个是 localhost ，另一个是 www.ok.com <br />
当然www.ok.com 是虚拟的，本地测试时，应该修改系统中的hosts文件，添加一行 127.0.0.1 www.ok.com <br />
1：Apache 虚拟主机配置： <br />
Httpd.conf文件最后添加 <br />
代码 <br />
include D:"server"Apache2"conf"vhost.conf</span></p>
<p><span style="color: #003300; font-family: SimSun">而vhost.conf内容写 <br />
代码 <br />
NameVirtualHost *:80 <br />
&lt;VirtualHost *:80&gt; <br />
ServerAdmin webmaster at localhost <br />
DocumentRoot "D:/server/Tomcat/webapps/ROOT" <br />
ServerName localhost <br />
ErrorLog logs/localhost-error_log <br />
CustomLog logs/localhost-access_log common <br />
&lt;/VirtualHost&gt;</span></p>
<p><span style="color: #003300; font-family: SimSun">&lt;VirtualHost *:80&gt; <br />
ServerAdmin webmaster@dummy-host dot example.com <br />
DocumentRoot D:/server/www/ <br />
ServerName www.ok.com <br />
ErrorLog logs/ok.com-error_log <br />
CustomLog logs/ok.com-access_log common <br />
&lt;Location /server-status&gt; # </span><span style="color: #003300; font-family: SimSun">这样我可以看到apache服务器状态 <br />
SetHandler server-status <br />
Order deny，allow <br />
Deny from all <br />
Allow from localhost <br />
Allow from www.ok.com <br />
&lt;/Location&gt; <br />
&lt;/VirtualHost&gt;</span></p>
<p><span style="color: #003300; font-family: SimSun">2</span><span style="color: #003300; font-family: SimSun">：Tomcat虚拟主机配置 <br />
添加新的www.ok.com 虚拟主机，在tomcat安装路径"conf"server.xml的最后，找到&lt;Engine&gt;段，改为 <br />
代码 <br />
&lt;Engine&gt; <br />
&lt;Host name=&#8221;localhost&#8221; &#8230;&#8230;&gt; <br />
&lt;/Host&gt;</span></p>
<p><span style="color: #003300; font-family: SimSun">&lt;Host name="www.ok.com" debug="0" appBase="D:/server/www/" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"&gt; <br />
&lt;Context path="" docBase="." /&gt; <br />
&lt;Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="ok.com_log." suffix=".txt" timestamp="true" /&gt; <br />
&lt;/Host&gt; <br />
&lt;/Engine&gt;</span></p>
<p><span style="color: #003300; font-family: SimSun">3</span><span style="color: #003300; font-family: SimSun">：测试虚拟主机效果</span><span style="color: #003300; font-family: SimSun"> <br />
</span><span style="color: #003300; font-family: SimSun">访问</span><span style="color: #003300; font-family: SimSun">http://localhost/ </span><span style="color: #003300; font-family: SimSun">应该可以看到原来的</span><span style="color: #003300; font-family: SimSun">tomcat</span><span style="color: #003300; font-family: SimSun">默认页面。</span><span style="color: #003300; font-family: SimSun"> <br />
</span><span style="color: #003300; font-family: SimSun">写一个 index.jsp <br />
代码 <br />
&lt;html&gt; <br />
&lt;title&gt; <br />
test jsp <br />
&lt;/title&gt; <br />
&lt;% <br />
String showMessage="Oh My God!"; <br />
out.print(showMessage); <br />
%&gt; <br />
&lt;/html&gt;</span></p>
<span style="font-size: 10.5pt; color: #003300; font-family: SimSun">放在d:/server/www下面，访问 http://www.ok.com <br />
页面显示Oh My God! 就成功了</span> 
<img src ="http://www.blogjava.net/wolfSnail/aggbug/222227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wolfSnail/" target="_blank">范永强</a> 2008-08-15 14:03 <a href="http://www.blogjava.net/wolfSnail/archive/2008/08/15/222227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>validate客户端验证不起作用</title><link>http://www.blogjava.net/wolfSnail/archive/2008/03/05/183938.html</link><dc:creator>范永强</dc:creator><author>范永强</author><pubDate>Wed, 05 Mar 2008 05:01:00 GMT</pubDate><guid>http://www.blogjava.net/wolfSnail/archive/2008/03/05/183938.html</guid><wfw:comment>http://www.blogjava.net/wolfSnail/comments/183938.html</wfw:comment><comments>http://www.blogjava.net/wolfSnail/archive/2008/03/05/183938.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/wolfSnail/comments/commentRss/183938.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wolfSnail/services/trackbacks/183938.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要启动客户端验证，必须将HTML标记库的javascript标记放入在jsp页面文件中,例如:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:javascript formName="selectForm"/&gt;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 而且要在form标签中这样写&lt;html:form action = "/selectAction.do"method = "post" focus="userId" onsubmit="return validateSelectForm(this);"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意DynaValidatorForm（ValidatorForm）和DynaValidatorActionForm（ValidatorActionForm）的区别。前者主要的视角是formbean，而后者的视角是action。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当formbean被不同的action使用时，对于不同的action而言，使用的formbean的属性集合有大有小。此时如果仍然以formbean为主体，会造成其他action的不正常使用。因此，struts中提出了DynaValidatorActionForm（ValidatorActionForm）。此时在validation.xml中的form标签的name属性改为action的path属性，又由于action中有attribute和name属性，validation框架就可根据这个action得到对应的formbean。<br />
同时注意页面文件的相应控件也要改为action的path属性。例：&lt;html:javascript formName="/selectAction"/&gt;
<img src ="http://www.blogjava.net/wolfSnail/aggbug/183938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wolfSnail/" target="_blank">范永强</a> 2008-03-05 13:01 <a href="http://www.blogjava.net/wolfSnail/archive/2008/03/05/183938.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>