??xml version="1.0" encoding="utf-8" standalone="yes"?>四虎亚洲精品,日本一区二区三区免费乱视频,日韩精品一区二区三区四区五区http://www.aygfsteel.com/fanzhongzhou/zh-cnThu, 19 Jun 2025 13:13:29 GMTThu, 19 Jun 2025 13:13:29 GMT60转:Tomcat pȝ架构与设计模?/title><link>http://www.aygfsteel.com/fanzhongzhou/archive/2012/04/13/374096.html</link><dc:creator>jberry</dc:creator><author>jberry</author><pubDate>Fri, 13 Apr 2012 09:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/fanzhongzhou/archive/2012/04/13/374096.html</guid><wfw:comment>http://www.aygfsteel.com/fanzhongzhou/comments/374096.html</wfw:comment><comments>http://www.aygfsteel.com/fanzhongzhou/archive/2012/04/13/374096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/374096.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/fanzhongzhou/services/trackbacks/374096.html</trackback:ping><description><![CDATA[<div><a ><br /></a><h1><a >Tomcat pȝ架构与设计模式,W?1 部分: 工作原理<span id="wmqeeuq" class="Apple-style-span" style="font-size: 14px; font-weight: normal;">http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/</span></a></h1><a ><br /></a><h1><a >W?2 部分: 设计模式分析</a><a style="font-size: 14px; font-weight: normal; ">http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/</a></h1></div><img src ="http://www.aygfsteel.com/fanzhongzhou/aggbug/374096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/fanzhongzhou/" target="_blank">jberry</a> 2012-04-13 17:37 <a href="http://www.aygfsteel.com/fanzhongzhou/archive/2012/04/13/374096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>actionsupport和struts表单校验http://www.aygfsteel.com/fanzhongzhou/archive/2012/01/09/368155.htmljberryjberryMon, 09 Jan 2012 08:58:00 GMThttp://www.aygfsteel.com/fanzhongzhou/archive/2012/01/09/368155.htmlhttp://www.aygfsteel.com/fanzhongzhou/comments/368155.htmlhttp://www.aygfsteel.com/fanzhongzhou/archive/2012/01/09/368155.html#Feedback0http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/368155.htmlhttp://www.aygfsteel.com/fanzhongzhou/services/trackbacks/368155.html不同的地方在于actionsupportc除了定义了executeҎ以外Q还定义了validateҎ。重写validateҎQ该Ҏ在executeҎ之前执行Q执行结果{向input面Q所以要在struts配置文g中添加input面指向?br />
public String execute(){
if(getUsername().equals("fancc")&&getPassword().equals("fancc"))
{
ActionContext.getContext().getSession().put("user", username);
return SUCCESS;
}
else
{
return ERROR;
}
}
public void validate()
{
if(getUsername()==null||getUsername().trim().equals(""))
{
addFieldError("username", "误入用户名");
}
if(getPassword()==null||getPassword().trim().equals(""))
{
addFieldError("password", "误入密?);
}
<package name="struts2" extends="struts-default">
<action name="login" class="cn.com.tisco.struts2.LoginAction">
<result name="input">/login.jsp</result>
<result name="success">/result.jsp</result>
<result name="error">/error.jsp</result>
</action>

通过配置文g校验
在需要校验的AcitoncM建立AcitonName-validation.xml文g
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 
1.0.2//EN" 
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message key="误入用户名"></message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message key="误入密?></message>
</field-validator>
</field>
</validators>
同样需要在struts.xml文g中表明input


jberry 2012-01-09 16:58 发表评论
]]>
JavaScriptdXML文g[兼容IE,FF,Chrome,Safari]http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/27/367330.htmljberryjberryTue, 27 Dec 2011 06:00:00 GMThttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/27/367330.htmlhttp://www.aygfsteel.com/fanzhongzhou/comments/367330.htmlhttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/27/367330.html#Feedback0http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/367330.htmlhttp://www.aygfsteel.com/fanzhongzhou/services/trackbacks/367330.html

IEdXML文g
FireFoxdXML文g
Chrome,SafaridXML文g
以上三类览器读取XML文g各有不同Q常常困扰开发h员,现在我们其融合Z个函数方便大家用?/p>

// 加蝲XML文gq返回XML文节点
function loadXmlFile(xmlFile){
  var xmlDom = null;
  if (window.ActiveXObject){
    xmlDom = new ActiveXObject("Microsoft.XMLDOM");
    //xmlDom.loadXML(xmlFile);//如果用的是XML字符?br />    xmlDom.load(xmlFile);//如果用的是xml文g?br />  }else if (document.implementation && document.implementation.createDocument){
    var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", xmlFile, false);
    xmlhttp.send(null);
    xmlDom = xmlhttp.responseXML;
  }else{
    xmlDom = null;
  }
  return xmlDom;
}

该函数保存入JS文gQ引用方式:var xmlDom = loadXmlFile("123.xml");

xmlDom得到的将是整个XHTML节点Q接下来q接按照W3C标准的节点处理方式针对该节点q行所需处理卛_?/p>

当前版本兼容IE,FF,Chrome,Safari?/span>

IEdXML文g
FireFoxdXML文g
Chrome,SafaridXML文g
以上三类览器读取XML文g各有不同Q常常困扰开发h员,现在我们其融合Z个函数方便大家用?/p>

// 加蝲XML文gq返回XML文节点
function loadXmlFile(xmlFile){
  var xmlDom = null;
  if (window.ActiveXObject){
    xmlDom = new ActiveXObject("Microsoft.XMLDOM");
    //xmlDom.loadXML(xmlFile);//如果用的是XML字符?br />    xmlDom.load(xmlFile);//如果用的是xml文g?br />  }else if (document.implementation && document.implementation.createDocument){
    var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", xmlFile, false);
    xmlhttp.send(null);
    xmlDom = xmlhttp.responseXML;
  }else{
    xmlDom = null;
  }
  return xmlDom;
}

该函数保存入JS文gQ引用方式:var xmlDom = loadXmlFile("123.xml");

xmlDom得到的将是整个XHTML节点Q接下来q接按照W3C标准的节点处理方式针对该节点q行所需处理卛_?/p>

当前版本兼容IE,FF,Chrome,Safari?/p>

jberry 2011-12-27 14:00 发表评论
]]>
转蝲Qjsp标签结http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367073.htmljberryjberryFri, 23 Dec 2011 08:00:00 GMThttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367073.htmlhttp://www.aygfsteel.com/fanzhongzhou/comments/367073.htmlhttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367073.html#Feedback0http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/367073.htmlhttp://www.aygfsteel.com/fanzhongzhou/services/trackbacks/367073.html阅读全文

jberry 2011-12-23 16:00 发表评论
]]>
转蝲QWeb.xml配置详解http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367055.htmljberryjberryFri, 23 Dec 2011 02:46:00 GMThttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367055.htmlhttp://www.aygfsteel.com/fanzhongzhou/comments/367055.htmlhttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367055.html#Feedback0http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/367055.htmlhttp://www.aygfsteel.com/fanzhongzhou/services/trackbacks/367055.html阅读全文

jberry 2011-12-23 10:46 发表评论
]]>
转蝲Qweb.xml中的url-pattern http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367053.htmljberryjberryFri, 23 Dec 2011 02:36:00 GMThttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367053.htmlhttp://www.aygfsteel.com/fanzhongzhou/comments/367053.htmlhttp://www.aygfsteel.com/fanzhongzhou/archive/2011/12/23/367053.html#Feedback0http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/367053.htmlhttp://www.aygfsteel.com/fanzhongzhou/services/trackbacks/367053.htmlServlet和filter是J2EE开发中常用的技术,使用方便Q配|简单。servlet和filter中的url-pattern有一些文章在里面的,ȝ了一些东西,以免遇到问题又要费旉?nbsp;
    一Qservlet容器对url的匹配过E: 

当一个请求发送到servlet容器的时候,容器先会请求的url减去当前应用上下文的路径作ؓservlet的映urlQ比如我讉K的是http://localhost/test/aaa.htmlQ我的应用上下文是testQ容器会http://localhost/testLQ剩下的/aaa.html部分拿来做servlet的映匹配。这个映匹配过E是有顺序的Q而且当有一个servlet匚w成功以后Q就不会ȝ会剩下的servlet了(filter不同Q后文会提到Q。其匚w规则和顺序如下: 

1.     _路径匚w。例子:比如servletA 的url-pattern?/testQservletB的url-pattern?/* Q这个时候,如果我访问的url为http://localhost/test Q这个时候容器就会先q行_路径匚wQ发?test正好被servletA_匚wQ那么就去调用servletAQ也不会ȝ会其他的servlet了?nbsp;

2.     最长\径匹配。例子:servletA的url-pattern?test/*Q而servletB的url-pattern?test/a/*Q此时访问http://localhost/test/aӞ容器会选择路径最长的servlet来匹配,也就是这里的servletB?nbsp;

3.     扩展匚wQ如果url最后一D包含扩展,容器会Ҏ扩展选择合适的servlet。例子:servletA的url-patternQ?.action 

4.     如果前面三条规则都没有找C个servletQ容器会Ҏurl选择对应的请求资源。如果应用定义了一个default servletQ则容器会将h丢给default servletQ什么是default servletQ后面会Ԍ?nbsp;

     Ҏq个规则表,p很清楚的知道servlet的匹配过E,所以定义servlet的时候也要考虑url-pattern的写法,以免出错?nbsp;

      对于filterQ不会像servlet那样只匹配一个servletQ因为filter的集合是一个链Q所以只会有处理的顺序不同,而不会出现只选择一个filter。Filter的处理顺序和filter-mapping在web.xml中定义的序相同?nbsp;
    二,url-pattern详解 

         在web.xml文g中,以下语法用于定义映射Q?nbsp;

l. ?#8221;/’开头和?#8221;/*”l尾的是用来做\径映的?nbsp;

2. 以前~”*.”开头的是用来做扩展映射的?nbsp;

3. “/” 是用来定义default servlet映射的?nbsp;

4. 剩下的都是用来定义详l映的。比如: /aa/bb/cc.action 

所以,Z么定?#8221;/*.action”q样一个看h很正常的匚w会错Q因个匹配即属于路径映射Q也属于扩展映射Q导致容器无法判断?/span>

http://blog.csdn.net/shangzhenhui/archive/2011/01/06/6119458.aspxServlet和filter是J2EE开发中常用的技术,使用方便Q配|简单。servlet和filter中的url-pattern有一些文章在里面的,ȝ了一些东西,以免遇到问题又要费旉?nbsp;
    一Qservlet容器对url的匹配过E: 

当一个请求发送到servlet容器的时候,容器先会请求的url减去当前应用上下文的路径作ؓservlet的映urlQ比如我讉K的是http://localhost/test/aaa.htmlQ我的应用上下文是testQ容器会http://localhost/testLQ剩下的/aaa.html部分拿来做servlet的映匹配。这个映匹配过E是有顺序的Q而且当有一个servlet匚w成功以后Q就不会ȝ会剩下的servlet了(filter不同Q后文会提到Q。其匚w规则和顺序如下: 

1.     _路径匚w。例子:比如servletA 的url-pattern?/testQservletB的url-pattern?/* Q这个时候,如果我访问的url为http://localhost/test Q这个时候容器就会先q行_路径匚wQ发?test正好被servletA_匚wQ那么就去调用servletAQ也不会ȝ会其他的servlet了?nbsp;

2.     最长\径匹配。例子:servletA的url-pattern?test/*Q而servletB的url-pattern?test/a/*Q此时访问http://localhost/test/aӞ容器会选择路径最长的servlet来匹配,也就是这里的servletB?nbsp;

3.     扩展匚wQ如果url最后一D包含扩展,容器会Ҏ扩展选择合适的servlet。例子:servletA的url-patternQ?.action 

4.     如果前面三条规则都没有找C个servletQ容器会Ҏurl选择对应的请求资源。如果应用定义了一个default servletQ则容器会将h丢给default servletQ什么是default servletQ后面会Ԍ?nbsp;

     Ҏq个规则表,p很清楚的知道servlet的匹配过E,所以定义servlet的时候也要考虑url-pattern的写法,以免出错?nbsp;

      对于filterQ不会像servlet那样只匹配一个servletQ因为filter的集合是一个链Q所以只会有处理的顺序不同,而不会出现只选择一个filter。Filter的处理顺序和filter-mapping在web.xml中定义的序相同?nbsp;
    二,url-pattern详解 

         在web.xml文g中,以下语法用于定义映射Q?nbsp;

l. ?#8221;/’开头和?#8221;/*”l尾的是用来做\径映的?nbsp;

2. 以前~”*.”开头的是用来做扩展映射的?nbsp;

3. “/” 是用来定义default servlet映射的?nbsp;

4. 剩下的都是用来定义详l映的。比如: /aa/bb/cc.action 

所以,Z么定?#8221;/*.action”q样一个看h很正常的匚w会错Q因个匹配即属于路径映射Q也属于扩展映射Q导致容器无法判断?/font>



jberry 2011-12-23 10:36 发表评论
]]>
W一?/title><link>http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/09/365989.html</link><dc:creator>jberry</dc:creator><author>jberry</author><pubDate>Fri, 09 Dec 2011 09:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/09/365989.html</guid><wfw:comment>http://www.aygfsteel.com/fanzhongzhou/comments/365989.html</wfw:comment><comments>http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/09/365989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/fanzhongzhou/comments/commentRss/365989.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/fanzhongzhou/services/trackbacks/365989.html</trackback:ping><description><![CDATA[初来乍到Q先mark下?img src ="http://www.aygfsteel.com/fanzhongzhou/aggbug/365989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/fanzhongzhou/" target="_blank">jberry</a> 2011-12-09 17:31 <a href="http://www.aygfsteel.com/fanzhongzhou/archive/2011/12/09/365989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">ٷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ຣʡ</a>| <a href="http://" target="_blank">鴨</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ɽ</a>| <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨɽ</a>| <a href="http://" target="_blank">ʳ</a>| <a href="http://" target="_blank">Ͱ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>