﻿<?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-insomnia,politic,proficient ,sensible.-随笔分类-web.xml解析</title><link>http://www.blogjava.net/youngturk/category/51783.html</link><description>The world is a fine place , and worth fighting for it.</description><language>zh-cn</language><lastBuildDate>Mon, 15 Jul 2013 10:34:04 GMT</lastBuildDate><pubDate>Mon, 15 Jul 2013 10:34:04 GMT</pubDate><ttl>60</ttl><item><title>直接访问后台，跳过filter过滤器,AuthorizationFilter.java，filter为特定权限过滤器</title><link>http://www.blogjava.net/youngturk/archive/2013/07/12/401496.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 12 Jul 2013 05:15:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/07/12/401496.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/401496.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/07/12/401496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/401496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/401496.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">web.xml<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">AuthorizationFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">com.cenin.util.filter.AuthorizationFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">AuthorizationFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img id="Codehighlighter1_243_1282_Open_Image" onclick="this.style.display='none'; Codehighlighter1_243_1282_Open_Text.style.display='none'; Codehighlighter1_243_1282_Closed_Image.style.display='inline'; Codehighlighter1_243_1282_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_243_1282_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_243_1282_Closed_Text.style.display='none'; Codehighlighter1_243_1282_Open_Image.style.display='inline'; Codehighlighter1_243_1282_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_243_1282_Closed_Text">/**/</span><span id="Codehighlighter1_243_1282_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">&lt;/url-pattern&gt;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/filter-mapping&gt;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />AuthorizationFilter.java<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />public&nbsp;class&nbsp;AuthorizationFilter&nbsp;implements&nbsp;Filter<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;doFilter(ServletRequest&nbsp;req,&nbsp;ServletResponse&nbsp;resp,&nbsp;FilterChain&nbsp;chain)&nbsp;throws&nbsp;IOException,&nbsp;ServletException<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;request&nbsp;=&nbsp;(HttpServletRequest)&nbsp;req;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;response&nbsp;=&nbsp;(HttpServletResponse)&nbsp;resp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpSession&nbsp;session&nbsp;=&nbsp;request.getSession();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;servletPath&nbsp;=&nbsp;request.getServletPath();//获得如：&nbsp;/baseinfo/codeBillTypeList.action<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;user&nbsp;=&nbsp;session.getAttribute(Config.getConfig().getSessionUser());<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//判断权限<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolean&nbsp;passed&nbsp;=&nbsp;true;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*if(user&nbsp;==&nbsp;null&nbsp;&amp;&amp;&nbsp;(servletPath.indexOf("action")&gt;=0&nbsp;)){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;passed&nbsp;=&nbsp;false;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;noLimit&nbsp;=&nbsp;Config.getConfig().getNoFilter().split(";");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i&lt;noLimit.length;i++){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(servletPath.matches(noLimit[i])){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(servletPath&nbsp;+&nbsp;"&nbsp;&nbsp;"&nbsp;+&nbsp;noLimit[i]);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;passed&nbsp;=&nbsp;true;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.getRequestDispatcher(servletPath).forward(request,&nbsp;response);</span><span style="color: #008000">//</span><span style="color: #008000">控制struts&nbsp;or&nbsp;xwork跳转<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(passed)<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chain.doFilter(request,&nbsp;response);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;modelType&nbsp;=&nbsp;request.getParameter("model.bmoduleType");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;particalUrl&nbsp;=&nbsp;request.getParameter("particalUrl");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.setAttribute("model.bmoduleType",&nbsp;modelType);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session.setAttribute("particalUrl",&nbsp;particalUrl);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;url&nbsp;=&nbsp;Config.getConfig().getPageLogin();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RequestDispatcher&nbsp;dispatcher&nbsp;=&nbsp;request.getRequestDispatcher(url);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dispatcher.forward(request,&nbsp;response);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init(FilterConfig&nbsp;filterConfig)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException<br /><img id="Codehighlighter1_1954_1958_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1954_1958_Open_Text.style.display='none'; Codehighlighter1_1954_1958_Closed_Image.style.display='inline'; Codehighlighter1_1954_1958_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1954_1958_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1954_1958_Closed_Text.style.display='none'; Codehighlighter1_1954_1958_Open_Image.style.display='inline'; Codehighlighter1_1954_1958_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1954_1958_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1954_1958_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;destroy()<br /><img id="Codehighlighter1_1984_1988_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1984_1988_Open_Text.style.display='none'; Codehighlighter1_1984_1988_Closed_Image.style.display='inline'; Codehighlighter1_1984_1988_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_1984_1988_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1984_1988_Closed_Text.style.display='none'; Codehighlighter1_1984_1988_Open_Image.style.display='inline'; Codehighlighter1_1984_1988_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1984_1988_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_1984_1988_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />xwork.xml添加<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">include&nbsp;file</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">xwork-onlinehall.xml</span><span style="color: #000000">"</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />xwork</span><span style="color: #000000">-</span><span style="color: #000000">onlinehall.xml文件内容：<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;</span><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">onlinehall</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">cenin</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;namespace</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">/onlinehall</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;externalReferenceResolver</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">com.atlassian.xwork.ext.SpringServletContextReferenceResolver</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">action&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">myOrderLoadList</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">com.cenin.web.action.onlinehall.MyOrderAction</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;method</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">myOrderLoadList</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">result&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">success</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">freemarker</span><span style="color: #000000">"</span><span style="color: #000000">&gt;/</span><span style="color: #000000">onlinehall</span><span style="color: #000000">/</span><span style="color: #000000">myOrder.ftl</span><span style="color: #000000">&lt;/</span><span style="color: #000000">result</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">action</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #000000">&lt;/</span><span style="color: #0000ff">package</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />MyOrder.java内容<br /><img id="Codehighlighter1_2525_2582_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2525_2582_Open_Text.style.display='none'; Codehighlighter1_2525_2582_Closed_Image.style.display='inline'; Codehighlighter1_2525_2582_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_2525_2582_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2525_2582_Closed_Text.style.display='none'; Codehighlighter1_2525_2582_Open_Image.style.display='inline'; Codehighlighter1_2525_2582_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MyOrderAction&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;BaseActionSupport&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2525_2582_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2525_2582_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_2576_2580_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2576_2580_Open_Text.style.display='none'; Codehighlighter1_2576_2580_Closed_Image.style.display='inline'; Codehighlighter1_2576_2580_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_2576_2580_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2576_2580_Closed_Text.style.display='none'; Codehighlighter1_2576_2580_Open_Image.style.display='inline'; Codehighlighter1_2576_2580_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;myOrderLoadList()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2576_2580_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2576_2580_Open_Text"><span style="color: #000000">{<img alt="" src="http://www.blogjava.net/Images/dot.gif" />}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/401496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-07-12 13:15 <a href="http://www.blogjava.net/youngturk/archive/2013/07/12/401496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML解析SAX</title><link>http://www.blogjava.net/youngturk/archive/2013/07/10/401405.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 10 Jul 2013 07:03:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/07/10/401405.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/401405.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/07/10/401405.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/401405.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/401405.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_39_3871_Open_Image" onclick="this.style.display='none'; Codehighlighter1_39_3871_Open_Text.style.display='none'; Codehighlighter1_39_3871_Closed_Image.style.display='inline'; Codehighlighter1_39_3871_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_39_3871_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_39_3871_Closed_Text.style.display='none'; Codehighlighter1_39_3871_Open_Image.style.display='inline'; Codehighlighter1_39_3871_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;List&nbsp;xmlElements(String&nbsp;xmlDoc)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_39_3871_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_39_3871_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建一个新的字符串</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringReader&nbsp;read&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringReader(xmlDoc);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建新的输入源SAX&nbsp;解析器将使用&nbsp;InputSource&nbsp;对象来确定如何读取&nbsp;XML&nbsp;输入</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputSource&nbsp;source&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;InputSource(read);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">创建一个新的SAXBuilder</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAXBuilder&nbsp;sb&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SAXBuilder();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;list&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList();<br /><img id="Codehighlighter1_342_3642_Open_Image" onclick="this.style.display='none'; Codehighlighter1_342_3642_Open_Text.style.display='none'; Codehighlighter1_342_3642_Closed_Image.style.display='inline'; Codehighlighter1_342_3642_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_342_3642_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_342_3642_Closed_Text.style.display='none'; Codehighlighter1_342_3642_Open_Image.style.display='inline'; Codehighlighter1_342_3642_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_342_3642_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_342_3642_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">通过输入源构造一个Document</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document&nbsp;doc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sb.build(source);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">取的根元素</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;root&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;doc.getRootElement();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(root.getName());</span><span style="color: #008000">//</span><span style="color: #008000">输出根元素的名称（测试）<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">得到根元素所有子元素的集合</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;jiedian&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;root.getChildren();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">获得XML中的命名空间（XML中未定义可不写）</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Namespace&nbsp;ns&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;root.getNamespace();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;et&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataModel&nbsp;dataModel&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DataModel();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collections&nbsp;c&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ctnfee&nbsp;ctnfee&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><img id="Codehighlighter1_902_3306_Open_Image" onclick="this.style.display='none'; Codehighlighter1_902_3306_Open_Text.style.display='none'; Codehighlighter1_902_3306_Closed_Image.style.display='inline'; Codehighlighter1_902_3306_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_902_3306_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_902_3306_Closed_Text.style.display='none'; Codehighlighter1_902_3306_Open_Image.style.display='inline'; Codehighlighter1_902_3306_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">jiedian.size();i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_902_3306_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_902_3306_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Element)&nbsp;jiedian.get(i);</span><span style="color: #008000">//</span><span style="color: #008000">循环依次得到子元素</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Ctnfee();<br /><img id="Codehighlighter1_1017_1185_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1017_1185_Open_Text.style.display='none'; Codehighlighter1_1017_1185_Closed_Image.style.display='inline'; Codehighlighter1_1017_1185_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1017_1185_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1017_1185_Closed_Text.style.display='none'; Codehighlighter1_1017_1185_Open_Image.style.display='inline'; Codehighlighter1_1017_1185_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1017_1185_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_1017_1185_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">//*<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;无命名空间定义时<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;et.getChild("users_id").getText();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;et.getChild("users_address",ns).getText()<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_1203_1342_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1203_1342_Open_Text.style.display='none'; Codehighlighter1_1203_1342_Closed_Image.style.display='inline'; Codehighlighter1_1203_1342_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1203_1342_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1203_1342_Closed_Text.style.display='none'; Codehighlighter1_1203_1342_Open_Image.style.display='inline'; Codehighlighter1_1203_1342_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1203_1342_Closed_Text">/**/</span><span id="Codehighlighter1_1203_1342_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">System.out.println(et.getChild("users_id",ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(et.getChild("users_address",ns).getText());</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">p_id</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">ctnno</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setP_id(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">p_id</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setCtnno(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">ctnno</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setFee_type(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee_type</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setStart_time(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">start_time</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setEnd_time(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">end_time</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setFee(Double.parseDouble(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText()));<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setFee_count(Double.parseDouble(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee_count</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText()));<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setCpid(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">cpid</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setFee_name(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee_name</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setFee_rate_id(Double.parseDouble(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee_rate_id</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText()));<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setJffs(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">jffs</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setIf_hand(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">if_hand</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setSfid(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">sfid</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setWt_company(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">wt_company</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setOpid(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">opid</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setCy(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">cy</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setIf_bf(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">if_bf</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setDays_count(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">days_count</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setIf_collect(Double.parseDouble(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">if_collect</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText()));<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setIf_dd(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">if_dd</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setDd_fee_name(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">dd_fee_name</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctnfee.setSpec_sign(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">spec_sign</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.add(ctnfee);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counttotal&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;counttotal&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">Double.parseDouble(et.getChild(</span><span style="color: #000000">"</span><span style="color: #000000">fee_count</span><span style="color: #000000">"</span><span style="color: #000000">,ns).getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_3320_3373_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3320_3373_Open_Text.style.display='none'; Codehighlighter1_3320_3373_Closed_Image.style.display='inline'; Codehighlighter1_3320_3373_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_3320_3373_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3320_3373_Closed_Text.style.display='none'; Codehighlighter1_3320_3373_Open_Image.style.display='inline'; Codehighlighter1_3320_3373_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_3320_3373_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_3320_3373_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000">//*<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;如要取&lt;row&gt;下的子元素的名称<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;et&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Element)&nbsp;jiedian.get(</span><span style="color: #000000">0</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;zjiedian&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;et.getChildren();<br /><img id="Codehighlighter1_3510_3632_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3510_3632_Open_Text.style.display='none'; Codehighlighter1_3510_3632_Closed_Image.style.display='inline'; Codehighlighter1_3510_3632_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_3510_3632_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3510_3632_Closed_Text.style.display='none'; Codehighlighter1_3510_3632_Open_Image.style.display='inline'; Codehighlighter1_3510_3632_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;j</span><span style="color: #000000">&lt;</span><span style="color: #000000">zjiedian.size();j</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_3510_3632_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_3510_3632_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;xet&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Element)&nbsp;zjiedian.get(j);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(xet.getName());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_3668_3744_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3668_3744_Open_Text.style.display='none'; Codehighlighter1_3668_3744_Closed_Image.style.display='inline'; Codehighlighter1_3668_3744_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_3668_3744_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3668_3744_Closed_Text.style.display='none'; Codehighlighter1_3668_3744_Open_Image.style.display='inline'; Codehighlighter1_3668_3744_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(JDOMException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_3668_3744_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_3668_3744_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_3768_3844_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3768_3844_Open_Text.style.display='none'; Codehighlighter1_3768_3844_Closed_Image.style.display='inline'; Codehighlighter1_3768_3844_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_3768_3844_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_3768_3844_Closed_Text.style.display='none'; Codehighlighter1_3768_3844_Open_Image.style.display='inline'; Codehighlighter1_3768_3844_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IOException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_3768_3844_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_3768_3844_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;TODO&nbsp;自动生成&nbsp;catch&nbsp;块</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;list;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/401405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-07-10 15:03 <a href="http://www.blogjava.net/youngturk/archive/2013/07/10/401405.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web页面检索数据库中的字段是乱码问题</title><link>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 03 May 2013 02:33:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/398720.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/398720.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/398720.html</trackback:ping><description><![CDATA[this.databaseEncoding = "GBK";<br />//&nbsp;&nbsp;this.databaseEncoding = "ISO8859-1";<br />&nbsp;&nbsp;this.platformEncoding = "GBK";<br /><br />获得数据库字符时候需要转换<img src ="http://www.blogjava.net/youngturk/aggbug/398720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-05-03 10:33 <a href="http://www.blogjava.net/youngturk/archive/2013/05/03/398720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA解析XML格式字符串</title><link>http://www.blogjava.net/youngturk/archive/2013/04/08/397540.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Mon, 08 Apr 2013 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2013/04/08/397540.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/397540.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2013/04/08/397540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/397540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/397540.html</trackback:ping><description><![CDATA[<p>import java.io.IOException;<br />import java.io.StringReader;<br />import java.util.List;</p>
<p>import org.jdom.Document;<br />import org.jdom.Element;<br />import org.jdom.JDOMException;<br />import org.jdom.Namespace;<br />import org.jdom.input.SAXBuilder;<br />import org.xml.sax.InputSource;</p>
<p>public class TestXML {<br />&nbsp;&nbsp;&nbsp; public List xmlElements(String xmlDoc) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建一个新的字符串<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StringReader read = new StringReader(xmlDoc);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputSource source = new InputSource(read);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建一个新的SAXBuilder<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //通过输入源构造一个Document<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document doc = sb.build(source);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //取的根元素<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element root = doc.getRootElement();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(root.getName());//输出根元素的名称（测试）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //得到根元素所有子元素的集合<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List jiedian = root.getChildren();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //获得XML中的命名空间（XML中未定义可不写）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Namespace ns = root.getNamespace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element et = null;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;jiedian.size();i++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; et = (Element) jiedian.get(i);//循环依次得到子元素<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**//*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 无命名空间定义时<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * et.getChild("users_id").getText();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * et.getChild("users_address",ns).getText()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*System.out.println(et.getChild("users_id",ns).getText());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(et.getChild("users_address",ns).getText());*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(et.getChild("p_id",ns).getText());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(et.getChild("ctnno",ns).getText());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**//*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 如要取&lt;row&gt;下的子元素的名称<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; */<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; et = (Element) jiedian.get(0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List zjiedian = et.getChildren();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j=0;j&lt;zjiedian.size();j++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element xet = (Element) zjiedian.get(j);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(xet.getName());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (JDOMException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO 自动生成 catch 块<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (IOException e) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO 自动生成 catch 块<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;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; public static void main(String[] args){<br />&nbsp;&nbsp;&nbsp; &nbsp;TestXML doc = new TestXML();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String xml = "&lt;?xml version=\"1.0\" encoding=\"gb2312\"?&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;Result xmlns=\"<a href="http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\">http://www.fiorano.com/fesb/activity/DBQueryOnInput2/Out\</a>"&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;row resultcount=\"1\"&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_id&gt;1001&nbsp;&nbsp;&nbsp;&nbsp; &lt;/users_id&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_name&gt;wangwei&nbsp;&nbsp; &lt;/users_name&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_group&gt;80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/users_group&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_address&gt;1001号&nbsp;&nbsp; &lt;/users_address&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/row&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;row resultcount=\"1\"&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_id&gt;1002&nbsp;&nbsp;&nbsp;&nbsp; &lt;/users_id&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_name&gt;wangwei&nbsp;&nbsp; &lt;/users_name&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_group&gt;80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/users_group&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;users_address&gt;1002号&nbsp;&nbsp; &lt;/users_address&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/row&gt;"+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/Result&gt;";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String xml1 = "&lt;?xml version=\"1.0\" encoding=\"UTF-16LE\" standalone=\"no\"?&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&lt;d_fsgl_fee_count_for_xml&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp; &lt;d_fsgl_fee_count_for_xml_row&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;p_id&gt;JD1302130002&lt;/p_id&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;ctnno&gt;CXDU1499549&lt;/ctnno&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_type&gt;单&lt;/fee_type&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;start_time&gt;2013-02-09 00:00:00&lt;/start_time&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;end_time&gt;2013-02-13 00:00:00&lt;/end_time&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee&gt;4&lt;/fee&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_count&gt;16&lt;/fee_count&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;cpid&gt;&lt;/cpid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_name&gt;堆存费&lt;/fee_name&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_rate_id&gt;&lt;/fee_rate_id&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;jffs&gt;1&lt;/jffs&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_hand&gt;0&lt;/if_hand&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;sfid&gt;FDZT1302180104&lt;/sfid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;wt_company&gt;QT&lt;/wt_company&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;opid&gt;928&lt;/opid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;cy&gt;D&lt;/cy&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_bf&gt;&lt;/if_bf&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;days_count&gt;4&lt;/days_count&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_collect&gt;1&lt;/if_collect&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_dd&gt;&lt;/if_dd&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;dd_fee_name&gt;&lt;/dd_fee_name&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;spec_sign&gt;五洲代垫&lt;/spec_sign&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&lt;/d_fsgl_fee_count_for_xml_row&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&lt;d_fsgl_fee_count_for_xml_row&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;p_id&gt;JD1302130002&lt;/p_id&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;ctnno&gt;CXDU1499549&lt;/ctnno&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_type&gt;周&lt;/fee_type&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;start_time&gt;2013-02-13 00:00:00&lt;/start_time&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;end_time&gt;2013-02-20 00:00:00&lt;/end_time&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee&gt;4&lt;/fee&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_count&gt;32&lt;/fee_count&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;cpid&gt;&lt;/cpid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_name&gt;堆存费&lt;/fee_name&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;fee_rate_id&gt;67&lt;/fee_rate_id&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;jffs&gt;1&lt;/jffs&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_hand&gt;0&lt;/if_hand&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;sfid&gt;FDZT1302180104&lt;/sfid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;wt_company&gt;QT&lt;/wt_company&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;opid&gt;928&lt;/opid&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;cy&gt;D&lt;/cy&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_bf&gt;&lt;/if_bf&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;days_count&gt;8&lt;/days_count&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_collect&gt;1&lt;/if_collect&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;if_dd&gt;&lt;/if_dd&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;dd_fee_name&gt;&lt;/dd_fee_name&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&nbsp;&lt;spec_sign&gt;&lt;/spec_sign&gt;" +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&nbsp;&lt;/d_fsgl_fee_count_for_xml_row&gt;"&nbsp; +<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;"&lt;/d_fsgl_fee_count_for_xml&gt;";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc.xmlElements(xml1);<br />&nbsp;&nbsp;&nbsp; }<br />}</p>
<p>&nbsp;</p><img src ="http://www.blogjava.net/youngturk/aggbug/397540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2013-04-08 17:20 <a href="http://www.blogjava.net/youngturk/archive/2013/04/08/397540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js读取XML文件 JS读写XML文件</title><link>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Fri, 09 Nov 2012 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/391095.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/391095.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/391095.html</trackback:ping><description><![CDATA[<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><strong>JavaScript</strong></p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;script type="text/javascript"&gt;<br />&nbsp;&nbsp;&nbsp; //&lt;![CDATA[<br />&nbsp;&nbsp;&nbsp; //嵌入CDATA段可以防止不兼容Javacript的浏览器不产生错误信息<br />&nbsp;&nbsp;&nbsp; //增加正则表达式<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp; String.prototype.getQueryString = function(name) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var reg = new RegExp("(^|&amp;|\\?)" + name + "=([^&amp;]*)(&amp;|$)"), r;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (r = this.match(reg)) return unescape(r[2]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br />&nbsp;&nbsp;&nbsp; };<br />&nbsp;&nbsp;&nbsp; var address = location.search.getQueryString("address"); //通过表达式获得传递参数<br />&nbsp;&nbsp;&nbsp; //针对两种浏览器，分别获取xmlDocument对象// 读取XML文件&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; function loadXML(xmlFile) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xmlDoc;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (window.ActiveXObject) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc = new ActiveXObject("Microsoft.XMLDOM");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.async = false;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.load(xmlFile);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (document.implementation &amp;&amp; document.implementation.createDocument) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc = document.implementation.createDocument("", "", null);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.async = false;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlDoc.load(xmlFile);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('您的浏览器不支持该系统脚本！');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return xmlDoc;<br />&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp; //调用地图<br />&nbsp;&nbsp;&nbsp; var map; //全局GMap GOOGLE 地图 API<br />&nbsp;&nbsp;&nbsp; function load() {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (GBrowserIsCompatible()) //检查浏览器兼容性<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new GMap2(document.getElementById("map")); //地图加栽到ID为map的DIV中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addControl(new GSmallMapControl());&nbsp;&nbsp; //添加Gcontrol控件//放大缩小的那个<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.setCenter(new GLatLng(26.577014, 104.877977), 15); //设置地图中心<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建多个坐标点（从INFO.XML文件中读取）<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var xmlDoc = l<strong>oadXML("Info.xml");<span class="Apple-converted-space">&nbsp;</span></strong><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var members = xmlDoc.getElementsByTagName("number");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var maxRes = members.length;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (var i = 0; i &lt;= maxRes; i++) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //XML中记录了多个坐标点，要每个点都标记一下<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oName = members[i].getElementsByTagName("name");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oLongitude = members[i].getElementsByTagName("Longitude");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var oLatitude = members[i].getElementsByTagName("Latitude");</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var name = oName[0].firstChild.nodeValue<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Longitude = oLongitude[0].firstChild.nodeValue<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var Latitude = oLatitude[0].firstChild.nodeValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var marker = new GMarker(new GLatLng(Longitude, Latitude), { title: name });&nbsp;&nbsp;&nbsp;&nbsp; //对每个点添加标记<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; marker.openInfoWindowHtml("&lt;div style=line-height:20px;text-align:center;font-size:12px;'&gt;&lt;a href=Left.aspx?info=" + name + " target=framLeft&gt;" + name + ",点击查看信息&lt;/a&gt;&lt;/div&gt;");<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map.addOverlay(marker);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; //]]&gt;<br />&lt;/script&gt;</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><strong>XML文件</strong></p><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;?xml version="1.0" encoding="GB2312"?&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;earth&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='1'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;213211212213213&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.577014&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.877977&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='2'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;112312332131212&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.586685&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.863815&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='3'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;123123121323112&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.572101&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.866905&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;number id='4'&gt;&nbsp;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;name&gt;123132123123321&lt;/name&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Longitude&gt;26.572254&lt;/Longitude&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;Latitude&gt;104.891624&lt;/Latitude&gt;&lt;/number&gt;&nbsp;&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/21px Tahoma, Helvetica, Arial, STHeiti; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(69,69,69); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&lt;/earth&gt;</span><img src ="http://www.blogjava.net/youngturk/aggbug/391095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-09 15:21 <a href="http://www.blogjava.net/youngturk/archive/2012/11/09/391095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tomcat5.0连接池配置（oracle / mysql / sqlserver2000）</title><link>http://www.blogjava.net/youngturk/archive/2012/11/07/390915.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 07 Nov 2012 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/11/07/390915.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/390915.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/11/07/390915.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/390915.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/390915.html</trackback:ping><description><![CDATA[<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">配置一：XML方法</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1、下载proxool 地址：http://proxool.sourceforge.net<br />&nbsp;&nbsp;&nbsp; 2、解压缩proxool-0.9.0RC2.zip，拷贝lib/proxool-0.9.0RC2.jar到web-info/lib<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 拷贝jdbc驱动到web-info/lib<br />&nbsp;&nbsp;&nbsp; 3、在web-info下建立文件：proxool.xml<br />&nbsp;&nbsp;&nbsp;&nbsp; 文件内容如下：<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;something-else-entirely&gt;<br />&nbsp; &lt;proxool&gt;<br />&nbsp;&nbsp;&nbsp; &lt;alias&gt;<span style="color: rgb(255,0,0)">Develop</span>&lt;/alias&gt;<br />&nbsp;&nbsp;&nbsp; &lt;driver-url&gt;jdbc:oracle:thin:@192.168.100.18:1521:RNMS&lt;/driver-url&gt;<br />&nbsp;&nbsp;&nbsp; &lt;driver-class&gt;oracle.jdbc.driver.OracleDriver&lt;/driver-class&gt;<br />&nbsp;&nbsp;&nbsp; &lt;driver-properties&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="user" value="scmlp"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="password" &nbsp;value="scmlpscmlp"/&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/driver-properties&gt;<br />&nbsp;&nbsp;&nbsp; &lt;maximum-connection-count&gt;500&lt;/maximum-connection-count&gt;<br />&nbsp;&nbsp;&nbsp; &lt;house-keeping-test-sql&gt;select CURRENT_DATE&lt;/house-keeping-test-sql&gt;<br />&nbsp; &lt;/proxool&gt;<br />&lt;/something-else-entirely&gt;<br /><br />&nbsp;&nbsp;&nbsp; 4、在web.xml文件内加入以下内容：<br /><br />&lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;proxoolServletConfigurator&lt;/servlet-name&gt;<br />&nbsp;&lt;servlet-class&gt;org.logicalcobwebs.proxool.configuration.ServletConfigurator&lt;/servlet-class&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;xmlFile&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;WEB-INF/proxool.xml&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br />&nbsp;&nbsp; &lt;/servlet&gt;<br />&lt;!-- proxool提供的管理监控工具，可查看当前数据库连接情况。如果运行不成功，请删除本行 --&gt;<br />&nbsp;&nbsp; &lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;Admin&lt;/servlet-name&gt;<br />&nbsp; &nbsp; &nbsp; &lt;servlet-class&gt;org.logicalcobwebs.proxool.admin.servlet.AdminServlet&lt;/servlet-class&gt;<br />&nbsp;&nbsp; &lt;/servlet&gt;<br />&nbsp;&nbsp; &lt;servlet-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;Admin&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/admin&lt;/url-pattern&gt;<br />&nbsp;&nbsp; &lt;/servlet-mapping&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; 5、在调用数据库连接代码：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Connection conn = DriverManager.getConnection("proxool.<span style="color: rgb(255,0,0)">Develop</span>");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp; 6、利用proxool监控工具查看数据库运行状态。地址：./admin</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">配置二：properties方法</p>
<p style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/26px Arial; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1，下载proxool-0.8.3.jar并放到相应的目录，这个应该比较简单了 &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 2，写一个配置文件放到web-inf目录下，配置文件内容如下： &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.proxool.alias=bidding &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.proxool.driver-url=jjdbc:oracle:thin:@127.0.0.1:1521:dbname &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.proxool.driver-class=oracle.jdbc.driver.oracledriver &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.user=name &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.password=pass &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.proxool.maximum-connection-count=200 &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; jdbc-0.proxool.house-keeping-test-sql=select &nbsp; * &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 3，在web-inf/web.xml中添加如下代码： &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &lt;servlet&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;servlet-name&gt;servletconfigurator&lt;/servlet-name&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;servlet-lass&gt;org.logicalcobwebs.proxool.configuration.servletconfigurator&lt;/servlet-class&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;init-param&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;param-name&gt;propertyfile&lt;/param-name&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;param-value&gt;web-inf/proxool.properties&lt;/param-value&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/init-param&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/servlet&gt; &nbsp; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 4，配置就这么简单，下面给你一段怎么得到一个连接代码，其他的应该就比较简单了 &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public &nbsp; connection &nbsp; getconnection() &nbsp; { &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try &nbsp; { &nbsp; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conn &nbsp; = &nbsp; drivermanager.getconnection("proxool.bidding"); &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }catch(sqlexception &nbsp; ex){ &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ex.printstacktrace(); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; finally &nbsp; { &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if &nbsp; (conn &nbsp; != &nbsp; null) &nbsp; { &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conn.close(); &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; catch &nbsp; (sqlexception &nbsp; e) &nbsp; { &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.printstacktrace(); &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log("problem &nbsp; closing &nbsp; connection"); &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &nbsp; conn; &nbsp;<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></p><img src ="http://www.blogjava.net/youngturk/aggbug/390915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-11-07 09:37 <a href="http://www.blogjava.net/youngturk/archive/2012/11/07/390915.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布wsdl时候，发布名字不能跟工厂调用bean的名字一样否则报错，什么原因不知..</title><link>http://www.blogjava.net/youngturk/archive/2012/09/01/386760.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Sat, 01 Sep 2012 10:15:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/09/01/386760.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/386760.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/09/01/386760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/386760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/386760.html</trackback:ping><description><![CDATA[<div>发布wsdl：<br />@WebService(endpointInterface = "cn.itcast.serviceWSDL.UserServiceWSDL", <br />serviceName = "<span style="color: red">userinfoService</span>",targetNamespace="impl.serviceWSDL.itcast.cn")<br /><a>//@Transactional</a><br />public class UserServiceWSDLBean implements UserServiceWSDL {<br /><br />在调用userService = (UserService)BeanFactory.getBean("userService");<br />红色字体名字不能与applicationContext中id的名字一致，否则报错 找不到cn.itcast.service.impl.UserServiceBean<br />&lt;bean id="<span style="color: red">userService</span>" class="cn.itcast.service.impl.UserServiceBean"&gt;<br />&nbsp;&nbsp;&lt;property name="dataSource" ref="dataSource"/&gt;<br />&nbsp;&lt;/bean&gt;</div><img src ="http://www.blogjava.net/youngturk/aggbug/386760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-09-01 18:15 <a href="http://www.blogjava.net/youngturk/archive/2012/09/01/386760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用accepter遍历所有XML子元素</title><link>http://www.blogjava.net/youngturk/archive/2012/06/14/380817.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 14 Jun 2012 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/06/14/380817.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/380817.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/06/14/380817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/380817.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/380817.html</trackback:ping><description><![CDATA[<div>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">public&nbsp;class&nbsp;Myvisitor&nbsp;extends&nbsp;VisitorSupport&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;/**<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;对于属性节点，打印属性的名字和值<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;visit(Attribute&nbsp;node)&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("attribute&nbsp;:&nbsp;"&nbsp;+&nbsp;node.getName()&nbsp;+&nbsp;"&nbsp;=&nbsp;"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;node.getValue());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;/**<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;对于处理指令节点，打印处理指令目标和数据<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;visit(ProcessingInstruction&nbsp;node)&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("PI&nbsp;:&nbsp;"&nbsp;+&nbsp;node.getTarget()&nbsp;+&nbsp;"&nbsp;"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;node.getData());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;/**<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;对于元素节点，判断是否只包含文本内容，如是，则打印标记的名字和&nbsp;元素的内容。如果不是，则只打印标记的名字<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;visit(Element&nbsp;node)&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(node.isTextOnly())<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("element&nbsp;:&nbsp;"&nbsp;+&nbsp;node.getName()&nbsp;+&nbsp;"&nbsp;=&nbsp;"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&nbsp;node.getText());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("--------"&nbsp;+&nbsp;node.getName()&nbsp;+&nbsp;"--------");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@Test<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;test()&nbsp;throws&nbsp;DocumentException&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAXReader&nbsp;saxReader&nbsp;=&nbsp;new&nbsp;SAXReader();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document&nbsp;document&nbsp;=&nbsp;saxReader.read("src/book.xml");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;dom4jParser.traversalDocumentByIterator();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.accept(new&nbsp;Myvisitor());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span></div></div><img src ="http://www.blogjava.net/youngturk/aggbug/380817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-06-14 22:45 <a href="http://www.blogjava.net/youngturk/archive/2012/06/14/380817.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发dom4j除了需要其1.6.1jar包外，还需要jaxen-1.1.1jar</title><link>http://www.blogjava.net/youngturk/archive/2012/06/13/380711.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 13 Jun 2012 13:43:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/06/13/380711.html</guid><description><![CDATA[<div>开发dom4j除了需要其1.6.1jar包外，还需要jaxen-1.1.1jar</div>在jdk1.6下<br /><div><div style="text-indent: 21pt;">JAXEN<span style="font-family: 宋体;">（对</span>XPath<span style="font-family: 宋体;">的支持）：</span>http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.1.zip</div></div><img src ="http://www.blogjava.net/youngturk/aggbug/380711.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-06-13 21:43 <a href="http://www.blogjava.net/youngturk/archive/2012/06/13/380711.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dom4J 递归解析</title><link>http://www.blogjava.net/youngturk/archive/2012/06/13/380683.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 13 Jun 2012 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/06/13/380683.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/380683.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/06/13/380683.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/380683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/380683.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">book.xml:<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;?</span><span style="color: #000000">xml&nbsp;version</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">1.0</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;encoding</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">UTF-8</span><span style="color: #000000">"</span><span style="color: #000000">?&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;</span><span style="color: #000000">INVENTORY&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">INAtrabute</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">BOOK&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">textBook</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">TITLE</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;Adventures&nbsp;of&nbsp;Huckleberry&nbsp;Finn<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">FEN</span><span style="color: #000000">&gt;</span><span style="color: #000000">mast<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">MIAO</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miao<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">MIAO</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">FEN</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">TITLE</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">AUTHOR</span><span style="color: #000000">&gt;</span><span style="color: #000000">Mark&nbsp;Twain<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">FEN</span><span style="color: #000000">&gt;</span><span style="color: #000000">mast1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">MIAO</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;miao1<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">MIAO</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">FEN</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">AUTHOR</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">BINDING</span><span style="color: #000000">&gt;</span><span style="color: #000000">mass&nbsp;market&nbsp;paperback</span><span style="color: #000000">&lt;/</span><span style="color: #000000">BINDING</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">PAGES</span><span style="color: #000000">&gt;</span><span style="color: #000000">298</span><span style="color: #000000">&lt;/</span><span style="color: #000000">PAGES</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">price</span><span style="color: #000000">&gt;</span><span style="color: #000000">209yuan</span><span style="color: #000000">&lt;/</span><span style="color: #000000">price</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">BOOK</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">BOOK</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">TITLE&nbsp;name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">testName</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">Leaves&nbsp;of&nbsp;Grass</span><span style="color: #000000">&lt;/</span><span style="color: #000000">TITLE</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">AUTHOR</span><span style="color: #000000">&gt;</span><span style="color: #000000">Walt&nbsp;Whitman</span><span style="color: #000000">&lt;/</span><span style="color: #000000">AUTHOR</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">BINDING</span><span style="color: #000000">&gt;</span><span style="color: #000000">hardcover</span><span style="color: #000000">&lt;/</span><span style="color: #000000">BINDING</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">PAGES</span><span style="color: #000000">&gt;</span><span style="color: #000000">462</span><span style="color: #000000">&lt;/</span><span style="color: #000000">PAGES</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">BOOK</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&lt;/</span><span style="color: #000000">INVENTORY</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />解析代码：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />@Test<br /><img id="Codehighlighter1_628_801_Open_Image" onclick="this.style.display='none'; Codehighlighter1_628_801_Open_Text.style.display='none'; Codehighlighter1_628_801_Closed_Image.style.display='inline'; Codehighlighter1_628_801_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_628_801_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_628_801_Closed_Text.style.display='none'; Codehighlighter1_628_801_Open_Image.style.display='inline'; Codehighlighter1_628_801_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;treeWalk()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;DocumentException</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_628_801_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_628_801_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SAXReader&nbsp;reader&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SAXReader();&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document&nbsp;document&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader.read(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;File(</span><span style="color: #000000">"</span><span style="color: #000000">src/book.xml</span><span style="color: #000000">"</span><span style="color: #000000">));<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Element&nbsp;element</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;document.getRootElement();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;treeWalk(element);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_841_1098_Open_Image" onclick="this.style.display='none'; Codehighlighter1_841_1098_Open_Text.style.display='none'; Codehighlighter1_841_1098_Closed_Image.style.display='inline'; Codehighlighter1_841_1098_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_841_1098_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_841_1098_Closed_Text.style.display='none'; Codehighlighter1_841_1098_Open_Image.style.display='inline'; Codehighlighter1_841_1098_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;treeWalk(Element&nbsp;element)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_841_1098_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_841_1098_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_899_1095_Open_Image" onclick="this.style.display='none'; Codehighlighter1_899_1095_Open_Text.style.display='none'; Codehighlighter1_899_1095_Closed_Image.style.display='inline'; Codehighlighter1_899_1095_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_899_1095_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_899_1095_Closed_Text.style.display='none'; Codehighlighter1_899_1095_Open_Image.style.display='inline'; Codehighlighter1_899_1095_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">&nbsp;,&nbsp;size&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;element.nodeCount();i</span><span style="color: #000000">&lt;</span><span style="color: #000000">size;i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_899_1095_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_899_1095_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Node&nbsp;node&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;element.node(i);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img id="Codehighlighter1_967_1076_Open_Image" onclick="this.style.display='none'; Codehighlighter1_967_1076_Open_Text.style.display='none'; Codehighlighter1_967_1076_Closed_Image.style.display='inline'; Codehighlighter1_967_1076_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_967_1076_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_967_1076_Closed_Text.style.display='none'; Codehighlighter1_967_1076_Open_Image.style.display='inline'; Codehighlighter1_967_1076_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(node&nbsp;</span><span style="color: #0000ff">instanceof</span><span style="color: #000000">&nbsp;Element)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_967_1076_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_967_1076_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;treeWalk((Element)node);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;value&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;node.getName();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(value);<br /><img id="Codehighlighter1_1081_1091_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1081_1091_Open_Text.style.display='none'; Codehighlighter1_1081_1091_Closed_Image.style.display='inline'; Codehighlighter1_1081_1091_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1081_1091_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1081_1091_Closed_Text.style.display='none'; Codehighlighter1_1081_1091_Open_Image.style.display='inline'; Codehighlighter1_1081_1091_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">else</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1081_1091_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1081_1091_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><img src ="http://www.blogjava.net/youngturk/aggbug/380683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-06-13 14:07 <a href="http://www.blogjava.net/youngturk/archive/2012/06/13/380683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java连接数据库（第一步）</title><link>http://www.blogjava.net/youngturk/archive/2012/05/24/379048.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 24 May 2012 08:49:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/24/379048.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/379048.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/24/379048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/379048.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/379048.html</trackback:ping><description><![CDATA[<div>需要联系的几个文件：DaosupportController,extents Controller,BeanFactory,CoreDispatcherController,appcontext.xml.<br />有web.xml中<br />&lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- servlet获得控制文件Class的名字，类名 --&gt;<br />&nbsp;&nbsp;&lt;servlet-name&gt;smvcCoreDispatcher&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&lt;servlet-class&gt;org.bluechant.mvc.core.CoreDispatcherController&lt;/servlet-class&gt;<br />.....<br />&lt;/servlet&gt;<br />有CoreDispatcherController开始--&gt; 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
<p><img id="Codehighlighter1_94_2225_Open_Image" onclick="this.style.display='none'; Codehighlighter1_94_2225_Open_Text.style.display='none'; Codehighlighter1_94_2225_Closed_Image.style.display='inline'; Codehighlighter1_94_2225_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_94_2225_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_94_2225_Closed_Text.style.display='none'; Codehighlighter1_94_2225_Open_Image.style.display='inline'; Codehighlighter1_94_2225_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;invokeActionHandler(ModelAndView&nbsp;mv&nbsp;,&nbsp;HttpServletRequest&nbsp;request)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_94_2225_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_94_2225_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;className&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mv.getClassName();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;methodName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;mv.getMethodName();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">load&nbsp;class</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp;controllerClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cache.loadClass(className);</span><span style="color: #008000">//</span><span style="color: #008000">==&nbsp;Class.forName(className);java反射机制，jvm加载lassName类</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp;parentControllerClass&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cache.loadClass(baseControllerClass);</span><span style="color: #008000">//</span><span style="color: #008000">class&nbsp;org.bluechant.mvc.controller.Controller<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">load&nbsp;method参数1类，创建一个方法为setRequest参数为HttpServletRequest.class的方法与method&nbsp;=&nbsp;clazz.getDeclaredMethod(setRequest,&nbsp;HttpServletRequest.class);与HttpServletRequest的setRequest方法一致的方法.</span><span style="color: #008000"><br /><img id="Codehighlighter1_683_710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_683_710_Open_Text.style.display='none'; Codehighlighter1_683_710_Closed_Image.style.display='inline'; Codehighlighter1_683_710_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_683_710_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_683_710_Closed_Text.style.display='none'; Codehighlighter1_683_710_Open_Image.style.display='inline'; Codehighlighter1_683_710_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;setRequest&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cache.loadMethod(parentControllerClass,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">setRequest</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Class[]&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_683_710_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_683_710_Open_Text"><span style="color: #000000">{&nbsp;HttpServletRequest.</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;}</span></span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">HttpServletRequest.class，java的反射机制得到自己的类，能够拥有自己的方法值，（Method&nbsp;setRequest获取成员函数）</span><span style="color: #008000"><br /><img id="Codehighlighter1_892_913_Open_Image" onclick="this.style.display='none'; Codehighlighter1_892_913_Open_Text.style.display='none'; Codehighlighter1_892_913_Closed_Image.style.display='inline'; Codehighlighter1_892_913_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_892_913_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_892_913_Closed_Text.style.display='none'; Codehighlighter1_892_913_Open_Image.style.display='inline'; Codehighlighter1_892_913_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;setModelAndView&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cache.loadMethod(parentControllerClass,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">setModelAndView</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Class[]&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_892_913_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_892_913_Open_Text"><span style="color: #000000">{&nbsp;ModelAndView.</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;}</span></span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">org.bluechant.mvc.controller.Controller-setModelAndView@6024418&nbsp;&nbsp;public&nbsp;void&nbsp;org.bluechant.mvc.controller.Controller.setModelAndView(org.bluechant.mvc.controller.ModelAndView)</span><span style="color: #008000"><br /><img id="Codehighlighter1_1175_1176_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1175_1176_Open_Text.style.display='none'; Codehighlighter1_1175_1176_Closed_Image.style.display='inline'; Codehighlighter1_1175_1176_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1175_1176_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1175_1176_Closed_Text.style.display='none'; Codehighlighter1_1175_1176_Open_Image.style.display='inline'; Codehighlighter1_1175_1176_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;targetMethod&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cache.loadMethod(controllerClass,&nbsp;methodName,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Class[]</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1175_1176_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1175_1176_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">buiid&nbsp;controller&nbsp;instance&nbsp;and&nbsp;invoke&nbsp;target&nbsp;method以上setRequest，setModelAndView，targetMethod都放在cache（hashMap中）</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;instance&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;controllerClass.newInstance();</span><span style="color: #008000">//</span><span style="color: #008000">加载className类<font color="#008000"><strong><u>;//此方法引入数据库连接</u></strong>&nbsp;</font><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: red">//</span><span style="color: red">以上刚进入页面的时候instance调用三个类初始化，分别是继承关系DaosupportController&nbsp;，controller，和BeanFactory</span><span style="color: #008000"><br /><img id="Codehighlighter1_1445_1804_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1445_1804_Open_Text.style.display='none'; Codehighlighter1_1445_1804_Closed_Image.style.display='inline'; Codehighlighter1_1445_1804_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1445_1804_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1445_1804_Closed_Text.style.display='none'; Codehighlighter1_1445_1804_Open_Image.style.display='inline'; Codehighlighter1_1445_1804_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; color: red; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1445_1804_Closed_Text">/**/</span><span id="Codehighlighter1_1445_1804_Open_Text"><span style="color: red">/*</span><span style="color: red">---&gt;&gt;&gt;其中DaoSupportController类中protected&nbsp;ObjectDao&nbsp;dao&nbsp;=&nbsp;(ObjectDao)BeanFactory.getBean("objectDao");<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;---&gt;&gt;&gt;调用：getBean&nbsp;方法public&nbsp;class&nbsp;BeanFactory&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;ApplicationContext&nbsp;context&nbsp;=&nbsp;new&nbsp;ClassPathXmlApplicationContext("appcontext.xml")&nbsp;</span><span style="color: red"><strong><u>;//此方法引入数据库连接</u></strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;Object&nbsp;getBean(String&nbsp;beanId)&nbsp;{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;context.getBean(beanId);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: red">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_1849_1859_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1849_1859_Open_Text.style.display='none'; Codehighlighter1_1849_1859_Closed_Image.style.display='inline'; Codehighlighter1_1849_1859_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1849_1859_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1849_1859_Closed_Text.style.display='none'; Codehighlighter1_1849_1859_Open_Image.style.display='inline'; Codehighlighter1_1849_1859_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRequest.invoke(instance,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[]&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1849_1859_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1849_1859_Open_Text"><span style="color: #000000">{&nbsp;request&nbsp;}</span></span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">对带有指定参数的指定对象调用由此&nbsp;Method&nbsp;对象表示的基础方法&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000"><br /><img id="Codehighlighter1_1947_1952_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1947_1952_Open_Text.style.display='none'; Codehighlighter1_1947_1952_Closed_Image.style.display='inline'; Codehighlighter1_1947_1952_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1947_1952_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1947_1952_Closed_Text.style.display='none'; Codehighlighter1_1947_1952_Open_Image.style.display='inline'; Codehighlighter1_1947_1952_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setModelAndView.invoke(instance,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[]&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1947_1952_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1947_1952_Open_Text"><span style="color: #000000">{&nbsp;mv&nbsp;}</span></span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">instance立即为原型指针<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="background-color: yellow; color: #008000">---&gt;&gt;&gt;执行指定的targetMethod方法实则为AccountController的login（）登陆方法此时开始调用数据库</span><span style="color: #008000"><br /><img id="Codehighlighter1_2088_2089_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2088_2089_Open_Text.style.display='none'; Codehighlighter1_2088_2089_Closed_Image.style.display='inline'; Codehighlighter1_2088_2089_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_2088_2089_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2088_2089_Closed_Text.style.display='none'; Codehighlighter1_2088_2089_Open_Image.style.display='inline'; Codehighlighter1_2088_2089_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetMethod.invoke(instance,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[]</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2088_2089_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2088_2089_Open_Text"><span style="color: #000000">{}</span></span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">调用instance类中targetMethod这个方法，Object[]{}这个作为参数..<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">invoke根据实体获得方法，添加所要造的参数，就是个找实例的方法克隆工厂，由Method获得实例模型，由方法锻造样子，传入参数得出想要结果<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />}</span></p></div><br /><br /></div><img src ="http://www.blogjava.net/youngturk/aggbug/379048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-24 16:49 <a href="http://www.blogjava.net/youngturk/archive/2012/05/24/379048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java下Class.forName的作用是什么，为什么要使用它</title><link>http://www.blogjava.net/youngturk/archive/2012/05/24/379024.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 24 May 2012 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/24/379024.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/379024.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/24/379024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/379024.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/379024.html</trackback:ping><description><![CDATA[<p>Class.forName(xxx.xx.xx)&nbsp;返回的是一个类</p>
<p>首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new&nbsp;不一样，要分清楚)。&nbsp;<br /><br />至于什么时候用，你可以考虑一下这个问题，给你一个字符串变量，它代表一个类的包名和类名，你怎么实例化它？只有你提到的这个方法了，不过要再加一点。&nbsp;<br />A&nbsp;a&nbsp;=&nbsp;(A)Class.forName("pacage.A").newInstance();&nbsp;<br />这和你&nbsp;<br />A&nbsp;a&nbsp;=&nbsp;new&nbsp;A()；&nbsp;<br />是一样的效果。&nbsp;<br /><br />关于补充的问题&nbsp;<br />答案是肯定的，jvm会执行静态代码段，你要记住一个概念，静态代码是和class绑定的，class装载成功就表示执行了你的静态代码了。而且以后不会再走这段静态代码了。</p>
<p>Class.forName(xxx.xx.xx)&nbsp;返回的是一个类&nbsp;<br />Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类，也就是说JVM会执行该类的静态代码段</p>
<p>动态加载和创建Class&nbsp;对象，比如想根据用户输入的字符串来创建对象&nbsp;<br />String&nbsp;str&nbsp;=&nbsp;用户输入的字符串&nbsp;<br />Class&nbsp;t&nbsp;=&nbsp;Class.forName(str);&nbsp;<br />t.newInstance();</p>
<p>&nbsp;在初始化一个类，生成一个实例的时候，newInstance()方法和new关键字除了一个是方法，一个是关键字外，最主要有什么区别？它们的区别在于创建对象的方式不一样，前者是使用类加载机制，后者是创建一个新类。那么为什么会有两种创建对象方式？这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。&nbsp;<br /><br />Java中工厂模式经常使用newInstance()方法来创建对象，因此从为什么要使用工厂模式上可以找到具体答案。&nbsp;例如：&nbsp;<br />class&nbsp;c&nbsp;=&nbsp;Class.forName(&#8220;Example&#8221;);&nbsp;<br />factory&nbsp;=&nbsp;(ExampleInterface)c.newInstance();&nbsp;<br /><br />其中ExampleInterface是Example的接口，可以写成如下形式：&nbsp;<br />String&nbsp;className&nbsp;=&nbsp;"Example";&nbsp;<br />class&nbsp;c&nbsp;=&nbsp;Class.forName(className);&nbsp;<br />factory&nbsp;=&nbsp;(ExampleInterface)c.newInstance();&nbsp;<br /><br />进一步可以写成如下形式：&nbsp;<br />String&nbsp;className&nbsp;=&nbsp;readfromXMlConfig;//从xml&nbsp;配置文件中获得字符串&nbsp;<br />class&nbsp;c&nbsp;=&nbsp;Class.forName(className);&nbsp;<br />factory&nbsp;=&nbsp;(ExampleInterface)c.newInstance();&nbsp;<br /><br />上面代码已经不存在Example的类名称，它的优点是，无论Example类怎么变化，上述代码不变，甚至可以更换Example的兄弟类Example2&nbsp;,&nbsp;Example3&nbsp;,&nbsp;Example4&#8230;&#8230;，只要他们继承ExampleInterface就可以。&nbsp;<br /><br />从JVM的角度看，我们使用关键字new创建一个类的时候，这个类可以没有被加载。但是使用newInstance()方法的时候，就必须保证：1、这个类已经加载；2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的，这个静态方法调用了启动类加载器，即加载 java&nbsp;API的那个加载器。&nbsp;<br /><br />现在可以看出，newInstance()实际上是把new这个方式分解为两步，即首先调用Class加载方法加载某个类，然后实例化。&nbsp;这样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灵活性，提供给了一种降耦的手段。&nbsp;<br /><br />最后用最简单的描述来区分new关键字和newInstance()方法的区别：&nbsp;<br />newInstance:&nbsp;弱类型。低效率。只能调用无参构造。&nbsp;<br />new:&nbsp;强类型。相对高效。能调用任何public构造。</p><img src ="http://www.blogjava.net/youngturk/aggbug/379024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-24 14:32 <a href="http://www.blogjava.net/youngturk/archive/2012/05/24/379024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml中 filter解析</title><link>http://www.blogjava.net/youngturk/archive/2012/05/24/379004.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Thu, 24 May 2012 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/24/379004.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/379004.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/24/379004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/379004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/379004.html</trackback:ping><description><![CDATA[<div>AdminFilter.java： 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;org.bluechant.mvc.filter;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.io.IOException;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.Filter;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.FilterChain;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.FilterConfig;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletException;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletRequest;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.ServletResponse;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletRequest;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpServletResponse;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;javax.servlet.http.HttpSession;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;org.bluechant.mvc.core.GlobalSources;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br /><img id="Codehighlighter1_455_673_Open_Image" onclick="this.style.display='none'; Codehighlighter1_455_673_Open_Text.style.display='none'; Codehighlighter1_455_673_Closed_Image.style.display='inline'; Codehighlighter1_455_673_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_455_673_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_455_673_Closed_Text.style.display='none'; Codehighlighter1_455_673_Open_Image.style.display='inline'; Codehighlighter1_455_673_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_455_673_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_455_673_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;CHAOS<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;@date&nbsp;2012-02-28&nbsp;12:49<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;filter&nbsp;for&nbsp;check&nbsp;wheather&nbsp;user&nbsp;already&nbsp;login&nbsp;in&nbsp;,<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;if&nbsp;not&nbsp;,&nbsp;send&nbsp;redirect&nbsp;to&nbsp;the&nbsp;login&nbsp;page&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;if&nbsp;already&nbsp;login&nbsp;,&nbsp;forward&nbsp;user's&nbsp;request&nbsp;to&nbsp;the&nbsp;target&nbsp;request&nbsp;URL<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_718_2800_Open_Image" onclick="this.style.display='none'; Codehighlighter1_718_2800_Open_Text.style.display='none'; Codehighlighter1_718_2800_Closed_Image.style.display='inline'; Codehighlighter1_718_2800_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_718_2800_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_718_2800_Closed_Text.style.display='none'; Codehighlighter1_718_2800_Open_Image.style.display='inline'; Codehighlighter1_718_2800_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;AdminFilter&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Filter&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_718_2800_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_718_2800_Open_Text"><span style="color: #000000">{&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;loginPage&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;loginAction&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;userLoginTag&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">FilterConfig可用于访问Filter的配置信息</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;FilterConfig&nbsp;config;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">执行过滤的核心方法</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;doFilter(ServletRequest&nbsp;req,&nbsp;ServletResponse&nbsp;res,<br /><img id="Codehighlighter1_1014_1800_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1014_1800_Open_Text.style.display='none'; Codehighlighter1_1014_1800_Closed_Image.style.display='inline'; Codehighlighter1_1014_1800_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1014_1800_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1014_1800_Closed_Text.style.display='none'; Codehighlighter1_1014_1800_Open_Image.style.display='inline'; Codehighlighter1_1014_1800_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FilterChain&nbsp;chain)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;IOException,&nbsp;ServletException&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1014_1800_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1014_1800_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletRequest&nbsp;request&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(HttpServletRequest)&nbsp;req;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServletResponse&nbsp;&nbsp;response&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(HttpServletResponse&nbsp;)res;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpSession&nbsp;session&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;request.getSession(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">获取客户请求的页面</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;urlPath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;request.getServletPath();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">如果session范围的user为null，即表明没有登录<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">且用户请求的既不是登录页面，也不是处理登录的页面if(&nbsp;session.getAttribute("user")&nbsp;==&nbsp;null</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;flag&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;needNotFilter(urlPath);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">不需要进行拦截的页面</span><span style="color: #008000"><br /><img id="Codehighlighter1_1442_1632_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1442_1632_Open_Text.style.display='none'; Codehighlighter1_1442_1632_Closed_Image.style.display='inline'; Codehighlighter1_1442_1632_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1442_1632_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1442_1632_Closed_Text.style.display='none'; Codehighlighter1_1442_1632_Open_Image.style.display='inline'; Codehighlighter1_1442_1632_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">flag)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1442_1632_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1442_1632_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;session.getAttribute(userLoginTag);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">the&nbsp;session&nbsp;userLoginTag&nbsp;value&nbsp;is&nbsp;:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">obj);<br /><img id="Codehighlighter1_1590_1625_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1590_1625_Open_Text.style.display='none'; Codehighlighter1_1590_1625_Closed_Image.style.display='inline'; Codehighlighter1_1590_1625_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1590_1625_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1590_1625_Closed_Text.style.display='none'; Codehighlighter1_1590_1625_Open_Image.style.display='inline'; Codehighlighter1_1590_1625_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(obj</span><span style="color: #000000">!=</span><span style="color: #0000ff">null</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1590_1625_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1590_1625_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_1647_1686_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1647_1686_Open_Text.style.display='none'; Codehighlighter1_1647_1686_Closed_Image.style.display='inline'; Codehighlighter1_1647_1686_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1647_1686_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1647_1686_Closed_Text.style.display='none'; Codehighlighter1_1647_1686_Open_Image.style.display='inline'; Codehighlighter1_1647_1686_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(flag)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1647_1686_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1647_1686_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chain.doFilter(req,&nbsp;res);<br /><img id="Codehighlighter1_1691_1797_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1691_1797_Open_Text.style.display='none'; Codehighlighter1_1691_1797_Closed_Image.style.display='inline'; Codehighlighter1_1691_1797_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1691_1797_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1691_1797_Closed_Text.style.display='none'; Codehighlighter1_1691_1797_Open_Image.style.display='inline'; Codehighlighter1_1691_1797_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">else</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1691_1797_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1691_1797_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">拦截不通过的时候跳转到的目标</span><span style="color: #008000">//</span><span style="color: #008000">forward到登录页面</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.sendRedirect(request.getContextPath()</span><span style="color: #000000">+</span><span style="color: #000000">loginPage);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">只有在&#8221;/login.html&#8220;&nbsp;||&nbsp;&#8220;/account!login.do&#8221;&nbsp;情况下才进行拦截通过，否则拦截不通过跳到登陆页面</span><span style="color: #008000"><br /><img id="Codehighlighter1_1916_2025_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1916_2025_Open_Text.style.display='none'; Codehighlighter1_1916_2025_Closed_Image.style.display='inline'; Codehighlighter1_1916_2025_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1916_2025_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1916_2025_Closed_Text.style.display='none'; Codehighlighter1_1916_2025_Open_Image.style.display='inline'; Codehighlighter1_1916_2025_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;needNotFilter(String&nbsp;urlPath)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1916_2025_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1916_2025_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_1984_2005_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1984_2005_Open_Text.style.display='none'; Codehighlighter1_1984_2005_Closed_Image.style.display='inline'; Codehighlighter1_1984_2005_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1984_2005_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1984_2005_Closed_Text.style.display='none'; Codehighlighter1_1984_2005_Open_Image.style.display='inline'; Codehighlighter1_1984_2005_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(urlPath.endsWith(loginPage)&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">&nbsp;urlPath.endsWith(loginAction))</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1984_2005_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1984_2005_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">&nbsp;;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img id="Codehighlighter1_2029_2052_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2029_2052_Open_Text.style.display='none'; Codehighlighter1_2029_2052_Closed_Image.style.display='inline'; Codehighlighter1_2029_2052_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_2029_2052_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2029_2052_Closed_Text.style.display='none'; Codehighlighter1_2029_2052_Open_Image.style.display='inline'; Codehighlighter1_2029_2052_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2029_2052_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_2029_2052_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;init&nbsp;params<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_2117_2744_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2117_2744_Open_Text.style.display='none'; Codehighlighter1_2117_2744_Closed_Image.style.display='inline'; Codehighlighter1_2117_2744_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_2117_2744_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2117_2744_Closed_Text.style.display='none'; Codehighlighter1_2117_2744_Open_Image.style.display='inline'; Codehighlighter1_2117_2744_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;init(FilterConfig&nbsp;config)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;ServletException&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2117_2744_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2117_2744_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loginPage&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config.getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">loginPage</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loginAction&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config.getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">loginAction</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userLoginTag&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config.getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">userLoginTag</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">the&nbsp;loginPage&nbsp;value&nbsp;is&nbsp;:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">loginPage);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">the&nbsp;loginAction&nbsp;value&nbsp;is&nbsp;:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">loginAction);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">the&nbsp;userLoginTag&nbsp;value&nbsp;is&nbsp;:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">userLoginTag);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.config&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;config;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">以前页面登陆的时候session进行设置HttpSession&nbsp;session&nbsp;=&nbsp;request.getSession(true);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">session.setAttribute(GlobalSources.user_login_tag,&nbsp;user);</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GlobalSources.user_login_tag&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;userLoginTag&nbsp;;</span><span style="color: #008000">//</span><span style="color: #008000">session放到GlobalSources，bean里，<br />用GlobalSources.user_login_tag获得</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img id="Codehighlighter1_2769_2797_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2769_2797_Open_Text.style.display='none'; Codehighlighter1_2769_2797_Closed_Image.style.display='inline'; Codehighlighter1_2769_2797_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_2769_2797_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2769_2797_Closed_Text.style.display='none'; Codehighlighter1_2769_2797_Open_Image.style.display='inline'; Codehighlighter1_2769_2797_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;destroy()</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2769_2797_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_2769_2797_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.config&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div><br />web.xml中对应filter文件:<br />&nbsp;&lt;filter&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;adminFilter&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-class&gt;org.bluechant.mvc.filter.AdminFilter&lt;/filter-class&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;loginAction&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;/account!login.do&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;loginPage&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;/login.html&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;userLoginTag&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;account_login_check&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt;&nbsp;&nbsp;<br />&nbsp;&lt;/filter&gt;<br />&nbsp;<br />&nbsp;&lt;filter&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;userSourceFilter&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-class&gt;org.bluechant.mvc.filter.AccountRoleFilter&lt;/filter-class&gt;<br />&nbsp;&lt;/filter&gt;<br />&nbsp;<br />&nbsp;&lt;filter-mapping&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;adminFilter&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;&lt;!-- 表明凡是访问跳转*.do形式的跳转，都要运行名字为adminFilter的过滤器 --&gt;<br />&nbsp;&lt;/filter-mapping&gt;<br />&nbsp;<br />&nbsp;&lt;filter-mapping&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;userSourceFilter&lt;/filter-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />&nbsp;&lt;/filter-mapping&gt;</div> <img src ="http://www.blogjava.net/youngturk/aggbug/379004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-24 10:40 <a href="http://www.blogjava.net/youngturk/archive/2012/05/24/379004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml filter声明过滤器</title><link>http://www.blogjava.net/youngturk/archive/2012/05/23/378972.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Wed, 23 May 2012 14:31:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/23/378972.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/378972.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/23/378972.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/378972.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/378972.html</trackback:ping><description><![CDATA[<font size="2">过滤器可截取和修改进入一个servlet或JSP页面的请求或从一个servlet或JSP页面发出的相应。在执行一个 servlet或JSP页面之前，必须执行第一个相关的过滤器的doFilter方法。在该过滤器对其FilterChain对象调用doFilter 时，执行链中的下一个过滤器。如果没有其他过滤器，servlet或JSP页面被执行。过滤器具有对到来的ServletRequest对象的全部访问权，因此，它们可以查看客户机名、查找到来的cookie等。为了访问servlet或JSP页面的输出，过滤器可将响应对象包裹在一个替身对象（stand-in object）中，比方说把输出累加到一个缓冲区。在调用FilterChain对象的doFilter方法之后，过滤器可检查缓冲区，如有必要，就对它进行修改，然后传送到客户机。 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">adminFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">org.bluechant.mvc.filter.AdminFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;&lt;!--服务器部署的时候，adminFilter开始加载初始化--&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">loginAction</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;/</span><span style="color: #000000">account</span><span style="color: #000000">!</span><span style="color: #000000">login.</span><span style="color: #0000ff">do</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">loginPage</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;/</span><span style="color: #000000">login.html</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">userLoginTag</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000">account_login_check</span><span style="color: #000000">&lt;/</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">userSourceFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000">org.bluechant.mvc.filter.AccountRoleFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">adminFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;*</span><span style="color: #000000">.</span><span style="color: #0000ff">do</span><span style="color: #000000">&lt;/</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;&lt;!--</span><span style="color: #000000">&nbsp;表明凡是访问跳转</span><span style="color: #000000">*</span><span style="color: #000000">.do形式的跳转，都要运行名字为adminFilter的过滤器&nbsp;</span><span style="color: #000000">--&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000">userSourceFilter</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;*</span><span style="color: #000000">.</span><span style="color: #0000ff">do</span><span style="color: #000000">&lt;/</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">&gt;<br />&nbsp;&nbsp;&nbsp; &lt;!--接着顺序加载servlet被初始化--&gt;</span></div><br /></font><img src ="http://www.blogjava.net/youngturk/aggbug/378972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-23 22:31 <a href="http://www.blogjava.net/youngturk/archive/2012/05/23/378972.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>servlet-mapping元素及其子元素</title><link>http://www.blogjava.net/youngturk/archive/2012/05/22/378865.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 22 May 2012 12:32:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/22/378865.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/378865.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/22/378865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/378865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/378865.html</trackback:ping><description><![CDATA[&lt;servlet-mapping&gt;元素在Servlet和URL样式之间定义一个映射。它包含了两个子元素&lt;servlet- name&gt;和&lt;url-pattern&gt;，&lt;servlet-name&gt;元素给出的Servlet名字必须是在&lt;servlet&gt;元素中声明过的Servlet的名字。&lt;url-pattern&gt;元素指定对应于Servlet的URL路径，该路径是相对于Web应用程序上下文根的路径。例如： 
<p>
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;servlet-mapping&gt;<br />&lt;servlet-name&gt;helloworld&lt;/servlet-name&gt;<br />&lt;url-pattern&gt;/hello&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;</pre></td></tr></tbody></table></p>
<p>&nbsp;</p>
<p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Servlet 2.5规范允许&lt;servlet-mapping&gt;的&lt;url-pattern&gt;子元素出现多次，之前的规范只允许一个&lt;servlet-mapping&gt;元素包含一个&lt;url-pattern&gt;子元素。我们看下面的例子：</font><br />
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;servlet-mapping&gt;<br />&lt;servlet-name&gt;welcome&lt;/servlet-name&gt;<br />&lt;url-pattern&gt;/en/welcome&lt;/url-pattern&gt;<br />&lt;url-pattern&gt;/zh/welcome&lt;/url-pattern&gt;<br />&lt;/servlet-mapping&gt;</pre></td></tr></tbody></table></p>
<p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在配置了Servlet与URL样式之间的映射后，当Servlet容器接收到一个请求，它首先确定该请求应该由哪一个Web应用程序来响应。这是通过比较请求URI的开始部分与Web应用程序的上下文路径来确定的。映射到Servlet的路径是请求URI减去上下文的路径，Web应用程序的Context对象在去掉请求URI的上下文路径后，将按照下面的路径映射规则的顺序对剩余部分的路径进行处理，并且在找到第一个成功的匹配后，不再进行下一个匹配。</font></p>
<p><font color="#ff0000" size="3"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 容器试着对请求的路径和Servlet映射的路径进行精确匹配，如果匹配成功，则调用这个Servlet来处理请求。</strong></font></p>
<p><font color="#ff0000" size="3"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 容器试着匹配最长的路径前缀，以斜杠（/）为路径分隔符，按照路径树逐级递减匹配，选择最长匹配的Servlet来处理请求。</strong></font></p>
<p><font color="#ff0000" size="3"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果请求的URL路径最后有扩展名，如.jsp，Servlet容器会试着匹配处理这个扩展名的Servlet。</strong></font></p>
<p><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果按照前面3条规则没有找到匹配的Servlet，容器会调用Web应用程序默认的Servlet来对请求进行处理，如果没有定义默认的Servlet，容器将向客户端发送HTTP 404错误信息（请求资源不存在）。</font></p><font size="3">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在部署描述符中，可以使用下面的语法来定义映射。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff" size="4" face="楷体_GB2312"><strong>以/开始并且以 /* 结束的字符串用来映射路径，例如：</strong></font></p>
<p>
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;url-pattern&gt;/admin/*&lt;/url-pattern&gt;</pre></td></tr></tbody></table></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp;&nbsp;&nbsp; <font color="#0000ff" size="4" face="楷体_GB2312">如果没有精确匹配，那么对/admin/路径下的资源的所有请求将由映射了上述URL样式的Servlet来处理。</font></strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff" size="4" face="楷体_GB2312"> <strong>以 *. 为前缀的字符串用来映射扩展名，例如：</strong></font></p>
<p>
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;url-pattern&gt;*.do&lt;/url-pattern&gt;</pre></td></tr></tbody></table></p>
<p><strong><font size="4" face="楷体_GB2312">&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">如果没有精确匹配和路径匹配，那么对具有.do扩展名的资源的请求将由映射了上述URL样式的Servlet来处理。</font></font></strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff" size="4" face="楷体_GB2312"><strong>以一个单独的/指示这个Web应用程序<font color="#ff0000">是默认的Servlet</font>，例如：</strong></font></p>
<p>
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;url-pattern&gt;/&lt;/url-pattern&gt;</pre></td></tr></tbody></table></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><font color="#0000ff" size="4" face="楷体_GB2312"> <font color="#ff0000">如果对某个请求没有找到匹配的Servlet，那么将使用Web应用程序的默认Servlet来处理。</font></font></strong></p>
<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff" size="4" face="楷体_GB2312"> 所有其他的字符被用于精确匹配，例如：</font></strong></p>
<p>
<table border="1" cellspacing="0" bordercolorlight="#000000" bordercolordark="#ffffff" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td class="code" bgcolor="#e6e6e6"><pre>&lt;url-pattern&gt;/login&lt;/url-pattern&gt;</pre></td></tr></tbody></table></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff" size="4" face="楷体_GB2312"><strong>如果请求/login，那么将由映射了URL样式/login的Servlet来处理。</strong></font></p></font>  <img src ="http://www.blogjava.net/youngturk/aggbug/378865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-22 20:32 <a href="http://www.blogjava.net/youngturk/archive/2012/05/22/378865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml中servlet控制参数方法</title><link>http://www.blogjava.net/youngturk/archive/2012/05/22/378841.html</link><dc:creator>youngturk</dc:creator><author>youngturk</author><pubDate>Tue, 22 May 2012 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/youngturk/archive/2012/05/22/378841.html</guid><wfw:comment>http://www.blogjava.net/youngturk/comments/378841.html</wfw:comment><comments>http://www.blogjava.net/youngturk/archive/2012/05/22/378841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/youngturk/comments/commentRss/378841.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/youngturk/services/trackbacks/378841.html</trackback:ping><description><![CDATA[<p><span style="color: red">web.xml中servlet：</span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;&nbsp;&nbsp; &lt;!--接着顺序加载servlet被初始化--&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;servlet获得控制文件Class的名字，类名&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">smvcCoreDispatcher</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.bluechant.mvc.core.CoreDispatcherController</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">templateLoaderPath</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/WEB-INF/view</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">defaultEncoding</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">GBK</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">contextConfigLocation</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/WEB-INF/smvc_config/smvc-config.xml</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">init-param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">&gt;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;加载路径&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">smvcCoreDispatcher</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*.do</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">login.html</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span></div>
<p><span style="color: red">web.xml对应的servlet控制java改写：</span></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">package&nbsp;org.bluechant.mvc.core;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.io.IOException;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.io.PrintWriter;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.io.UnsupportedEncodingException;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.lang.reflect.Method;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.util.Enumeration;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.util.Locale;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;java.util.Map;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;javax.servlet.ServletConfig;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;javax.servlet.ServletException;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;javax.servlet.http.HttpServlet;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;javax.servlet.http.HttpServletRequest;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;javax.servlet.http.HttpServletResponse;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;org.apache.log4j.Logger;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;org.bluechant.mvc.controller.ModelAndView;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;org.bluechant.mvc.core.util.ServletUtils;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;freemarker.template.Configuration;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;freemarker.template.ObjectWrapper;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;freemarker.template.Template;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;freemarker.template.TemplateException;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />import&nbsp;freemarker.template.TemplateExceptionHandler;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />public&nbsp;class&nbsp;CoreDispatcherController&nbsp;extends&nbsp;HttpServlet&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Logger&nbsp;logger&nbsp;=&nbsp;Logger.getLogger(CoreDispatcherController.class);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;CacheManager&nbsp;cache&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;baseControllerClass&nbsp;=&nbsp;"org.bluechant.mvc.controller.Controller";<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;final&nbsp;long&nbsp;serialVersionUID&nbsp;=&nbsp;1L;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;Configuration&nbsp;cfg&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;templateLoaderPath&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;defaultEncoding&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;contentType&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;contextConfigLocation&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;ActionConfig&nbsp;actionCoinfig&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;init(ServletConfig&nbsp;config)&nbsp;throws&nbsp;ServletException&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super.init(config);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//super.init(config);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;absPath&nbsp;=&nbsp;config.getServletContext().getRealPath("/");//获得系统绝对路径<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("absPath:"+absPath);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//getRealPath("/virtual_dir/file2.txt")应该返回"C:\site\a_virtual\file2.txt"&nbsp;　　getRealPath("/file3.txt")应该返回null，因为这个文件不存在。&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///返回路径D:\Java\workspaces\helios\newshpt\获得文件路径<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultEncoding&nbsp;=&nbsp;getInitParameter("defaultEncoding");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;templateLoaderPath&nbsp;=&nbsp;getInitParameter("templateLoaderPath");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//");//从web.xml中获得templateLoaderPath信息，web.xml中对应的路径&#8221;/WEB-INF/view&#8220;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contextConfigLocation&nbsp;=&nbsp;getInitParameter("contextConfigLocation");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("contextConfigLocation:"+contextConfigLocation);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///获得web.xml文件中路径WEB-INF/smvc_config/smvc-config.xml<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;actionCoinfig&nbsp;=&nbsp;new&nbsp;ActionConfig();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;actionCoinfig.load(absPath+contextConfigLocation);//文档进行解析与读取,<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///D:\Java\workspaces\helios\newshpt\WEB-INF/smvc_config/smvc-config.xml<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contentType&nbsp;=&nbsp;"text/html;charset="+defaultEncoding&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//创建Configuration实例，Configuration是入口，通过它来获得配置文件<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfg&nbsp;=&nbsp;new&nbsp;Configuration();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置模板路径，&nbsp;getServletContext(),所有是所有路径都能拿到的..<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfg.setServletContextForTemplateLoading(getServletContext(),&nbsp;templateLoaderPath);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//cfg.setServletContextForTemplateLoading(arg0,&nbsp;arg1)<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//设置编码格式<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfg.setEncoding(Locale.getDefault(),&nbsp;defaultEncoding);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//init&nbsp;cache&nbsp;manager<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cache&nbsp;=&nbsp;CacheManager.getInstance();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;doGet(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)&nbsp;throws&nbsp;ServletException,&nbsp;IOException&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processRequest(request,response);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;doPost(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response)&nbsp;throws&nbsp;ServletException,&nbsp;IOException&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;processRequest(request,response);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;showRequestParams(HttpServletRequest&nbsp;request){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumeration&nbsp;en&nbsp;=&nbsp;request.getParameterNames();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(en.hasMoreElements())&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;paramName&nbsp;=&nbsp;(String)&nbsp;en.nextElement();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;paramValues&nbsp;=&nbsp;request.getParameterValues(paramName);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(paramValues.length&nbsp;==&nbsp;1)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;paramValue&nbsp;=&nbsp;paramValues[0];<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(paramValue.length()&nbsp;!=&nbsp;0)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//map.put(paramName,&nbsp;paramValue);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//System.out.println(paramName+"\t"+paramValue);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else&nbsp;if(paramValues.length&nbsp;&gt;1&nbsp;){//checkbox<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//map.put(paramName,&nbsp;paramValues);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//System.out.println(paramName+"\t"+paramValues);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;processRequest(HttpServletRequest&nbsp;request,&nbsp;HttpServletResponse&nbsp;response){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setCharacterEncoding(defaultEncoding);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;showRequestParams(request);//waiting&nbsp;back&nbsp;to&nbsp;resolve<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(UnsupportedEncodingException&nbsp;e1)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TODO&nbsp;Auto-generated&nbsp;catch&nbsp;block<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e1.printStackTrace();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;//&nbsp;set&nbsp;request&nbsp;encoding<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelAndView&nbsp;mv&nbsp;=&nbsp;analyzeRequest(request);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invokeActionHandler(mv,request);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(mv.getViewPath().endsWith(".ftl")){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;invokeViewResolverHandler(mv&nbsp;,&nbsp;response&nbsp;,&nbsp;request);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.sendRedirect(mv.getWebroot()+mv.getViewPath());<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(Exception&nbsp;e)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;ModelAndView&nbsp;analyzeRequest(HttpServletRequest&nbsp;request){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelAndView&nbsp;modelAndView&nbsp;=&nbsp;new&nbsp;ModelAndView();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.debug("request&nbsp;url&nbsp;path&nbsp;is&nbsp;:&nbsp;"+request.getRequestURI());<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;requestPath&nbsp;=&nbsp;request.getRequestURI();&nbsp;//&nbsp;/newshpt/account!login.do<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;webroot&nbsp;=&nbsp;request.getContextPath()&nbsp;;&nbsp;//&nbsp;/newshpt<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("request&nbsp;url&nbsp;path&nbsp;is&nbsp;:&nbsp;"+requestPath);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("request&nbsp;webroot&nbsp;path&nbsp;is&nbsp;:&nbsp;"+webroot);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelAndView.setWebroot(webroot);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;actionFullName&nbsp;=&nbsp;requestPath.substring(webroot.length());&nbsp;//&nbsp;/account!login.do<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("actionFullName&nbsp;:&nbsp;"+actionFullName);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;temp&nbsp;=&nbsp;actionFullName.split("!");<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;method&nbsp;=&nbsp;"execute";<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(temp.length==2){<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method&nbsp;=&nbsp;temp[1].split("\\.")[0];<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("method&nbsp;:&nbsp;"+method);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;actionName&nbsp;=&nbsp;temp[0];&nbsp;//&nbsp;/demo<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("actionName&nbsp;:&nbsp;"+actionName);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;className&nbsp;=&nbsp;actionCoinfig.getClassName(actionName);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("className&nbsp;:"+className);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelAndView.setClassName(className);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelAndView.setMethodName(method);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelAndView.setAction(actionName);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;modelAndView&nbsp;;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;/**<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;invoke&nbsp;the&nbsp;request&nbsp;controller's&nbsp;target&nbsp;method&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;param&nbsp;ModelAndView&nbsp;will&nbsp;be&nbsp;mofified&nbsp;during&nbsp;the&nbsp;process<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;mv<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;request<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Exception&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;invokeActionHandler(ModelAndView&nbsp;mv&nbsp;,&nbsp;HttpServletRequest&nbsp;request)&nbsp;throws&nbsp;Exception{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;className&nbsp;=&nbsp;mv.getClassName();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;methodName&nbsp;=&nbsp;mv.getMethodName();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//load&nbsp;class<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp;controllerClass&nbsp;=&nbsp;cache.loadClass(className);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Class&nbsp;parentControllerClass&nbsp;=&nbsp;cache.loadClass(baseControllerClass);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//load&nbsp;method<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;setRequest&nbsp;=&nbsp;cache.loadMethod(parentControllerClass,&nbsp;"setRequest",&nbsp;new&nbsp;Class[]&nbsp;{&nbsp;HttpServletRequest.class&nbsp;});&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;setModelAndView&nbsp;=&nbsp;cache.loadMethod(parentControllerClass,&nbsp;"setModelAndView",&nbsp;new&nbsp;Class[]&nbsp;{&nbsp;ModelAndView.class&nbsp;});//org.bluechant.mvc.controller.Controller-setModelAndView@6024418&nbsp;&nbsp;public&nbsp;void&nbsp;org.bluechant.mvc.controller.Controller.setModelAndView(org.bluechant.mvc.controller.ModelAndView)<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method&nbsp;targetMethod&nbsp;=&nbsp;cache.loadMethod(controllerClass,&nbsp;methodName,&nbsp;new&nbsp;Class[]{});<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//buiid&nbsp;controller&nbsp;instance&nbsp;and&nbsp;invoke&nbsp;target&nbsp;method<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;instance&nbsp;=&nbsp;controllerClass.newInstance();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setRequest.invoke(instance,&nbsp;new&nbsp;Object[]&nbsp;{&nbsp;request&nbsp;});//对带有指定参数的指定对象调用由此&nbsp;Method&nbsp;对象表示的基础方法&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setModelAndView.invoke(instance,&nbsp;new&nbsp;Object[]&nbsp;{&nbsp;mv&nbsp;});<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;targetMethod.invoke(instance,&nbsp;new&nbsp;Object[]{});&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;/**<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;send&nbsp;data&nbsp;to&nbsp;view&nbsp;model&nbsp;,&nbsp;and&nbsp;generate&nbsp;the&nbsp;view&nbsp;page&nbsp;by&nbsp;FreeMarker<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;invokeViewResolverHandler(ModelAndView&nbsp;modelAndView&nbsp;,&nbsp;HttpServletResponse&nbsp;response&nbsp;,HttpServletRequest&nbsp;request){&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//convert&nbsp;session&nbsp;attributes&nbsp;to&nbsp;sessionModel&nbsp;,&nbsp;and&nbsp;push&nbsp;to&nbsp;modelAndView<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map&nbsp;sessionModel&nbsp;=&nbsp;ServletUtils.sessionAttributesToMap(request.getSession());//&nbsp;userSources=[/admin,&nbsp;/button/custom,&nbsp;/custom,&nbsp;/delivery,&nbsp;/loadShip,&nbsp;/unloadPickUp,&nbsp;/unloadShip]<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modelAndView.put("Session",&nbsp;sessionModel);<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.setContentType(contentType);&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{//初始化FreeMarker<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintWriter&nbsp;out&nbsp;=&nbsp;response.getWriter();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Template&nbsp;template&nbsp;=&nbsp;cfg.getTemplate(modelAndView.getViewPath());//取得生成模版文件<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);//setTemplateExceptionHandler<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;the&nbsp;object&nbsp;wrapper&nbsp;,&nbsp;beanwrapper&nbsp;is&nbsp;the&nbsp;perfect&nbsp;useful&nbsp;objectWrapper&nbsp;instance<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER);//&nbsp;设置对象包装器<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template.process(modelAndView,&nbsp;out);//模版环境开始载入..<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.flush();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(IOException&nbsp;e)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch&nbsp;(TemplateException&nbsp;e)&nbsp;{<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />}<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span></div>
<p><br /><span style="color: red">smvc-config.xml文件:</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">smvc-config</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">action&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="/account"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.cenin.tjport.shpt.mvc.controller.AccountController"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">action&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="/yard"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.cenin.tjport.shpt.mvc.controller.DuiCunController"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">smvc-config</span><span style="color: #0000ff">&gt;</span></div>
<p></span><br /><br />&nbsp;</p><img src ="http://www.blogjava.net/youngturk/aggbug/378841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/youngturk/" target="_blank">youngturk</a> 2012-05-22 15:08 <a href="http://www.blogjava.net/youngturk/archive/2012/05/22/378841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>