锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲区日韩精品中文字幕,亚洲精品中文字幕无码蜜桃,亚洲人成网站观看在线播放 http://www.tkk7.com/youngturk/category/51783.htmlThe world is a fine place , and worth fighting for it.zh-cnMon, 15 Jul 2013 10:34:04 GMTMon, 15 Jul 2013 10:34:04 GMT60鐩存帴璁塊棶鍚庡彴錛岃煩榪噁ilter榪囨護鍣?AuthorizationFilter.java錛宖ilter涓虹壒瀹氭潈闄愯繃婊ゅ櫒http://www.tkk7.com/youngturk/archive/2013/07/12/401496.htmlyoungturkyoungturkFri, 12 Jul 2013 05:15:00 GMThttp://www.tkk7.com/youngturk/archive/2013/07/12/401496.htmlhttp://www.tkk7.com/youngturk/comments/401496.htmlhttp://www.tkk7.com/youngturk/archive/2013/07/12/401496.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/401496.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/401496.htmlweb.xml
<filter>
        
<filter-name>AuthorizationFilter</filter-name>
        
<filter-class>com.cenin.util.filter.AuthorizationFilter</filter-class>
    
</filter>
<filter-mapping>
        
<filter-name>AuthorizationFilter</filter-name>
        
<url-pattern>/*</url-pattern>
    </filter-mapping>
AuthorizationFilter.java
public class AuthorizationFilter implements Filter
{

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException
    {

        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) resp;
        HttpSession session = request.getSession();

        String servletPath = request.getServletPath();//鑾峰緱濡傦細 /baseinfo/codeBillTypeList.action

        Object user = session.getAttribute(Config.getConfig().getSessionUser());

        //鍒ゆ柇鏉冮檺
        boolean passed = true;


        /*if(user == null && (servletPath.indexOf("action")>=0 )){
            passed = false;
            String[] noLimit = Config.getConfig().getNoFilter().split(";");
            for(int i=0;i<noLimit.length;i++){
                if(servletPath.matches(noLimit[i])){
                    System.out.println(servletPath + "  " + noLimit[i]);
                    passed = true;
                    break;
                }
            }
        }
*/

        request.getRequestDispatcher(servletPath).forward(request, response);
//鎺у埗struts or xwork璺寵漿

//        if(passed)
//            chain.doFilter(request, response);
//        else
//        {
//            String modelType = request.getParameter("model.bmoduleType");
//            String particalUrl = request.getParameter("particalUrl");
//            session.setAttribute("model.bmoduleType", modelType);
//            session.setAttribute("particalUrl", particalUrl);
//            String url = Config.getConfig().getPageLogin();
//            RequestDispatcher dispatcher = request.getRequestDispatcher(url);
//            dispatcher.forward(request, response);
//        }
    }
    
public void init(FilterConfig filterConfig) throws ServletException
    
{

    }

    
public void destroy()
    
{

    }


}
xwork.xml娣誨姞
<include file="xwork-onlinehall.xml"/>
xwork
-onlinehall.xml鏂囦歡鍐呭錛?br /><package name="onlinehall" extends="cenin" namespace="/onlinehall" externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">
<action name="myOrderLoadList" class="com.cenin.web.action.onlinehall.MyOrderAction" method="myOrderLoadList">
            
<result name="success" type="freemarker">/onlinehall/myOrder.ftl</result>
        
</action>   
</package>
MyOrder.java鍐呭
public class MyOrderAction extends BaseActionSupport {
public String myOrderLoadList() throws Exception {}
}


youngturk 2013-07-12 13:15 鍙戣〃璇勮
]]>
XML瑙f瀽SAXhttp://www.tkk7.com/youngturk/archive/2013/07/10/401405.htmlyoungturkyoungturkWed, 10 Jul 2013 07:03:00 GMThttp://www.tkk7.com/youngturk/archive/2013/07/10/401405.htmlhttp://www.tkk7.com/youngturk/comments/401405.htmlhttp://www.tkk7.com/youngturk/archive/2013/07/10/401405.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/401405.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/401405.htmlpublic List xmlElements(String xmlDoc) {
        
//鍒涘緩涓涓柊鐨勫瓧絎︿覆
        StringReader read = new StringReader(xmlDoc);
        
//鍒涘緩鏂扮殑杈撳叆婧怱AX 瑙f瀽鍣ㄥ皢浣跨敤 InputSource 瀵硅薄鏉ョ‘瀹氬浣曡鍙?nbsp;XML 杈撳叆
        InputSource source = new InputSource(read);
        
//鍒涘緩涓涓柊鐨凷AXBuilder
        SAXBuilder sb = new SAXBuilder();
        List list 
= new ArrayList();
        
try {
            
//閫氳繃杈撳叆婧愭瀯閫犱竴涓狣ocument
            Document doc = sb.build(source);
            
//鍙栫殑鏍瑰厓绱?/span>
            Element root = doc.getRootElement();
            System.out.println(root.getName());
//杈撳嚭鏍瑰厓绱犵殑鍚嶇О錛堟祴璇曪級
            
//寰楀埌鏍瑰厓绱犳墍鏈夊瓙鍏冪礌鐨勯泦鍚?/span>
            List jiedian = root.getChildren();
            
//鑾峰緱XML涓殑鍛藉悕絀洪棿錛圶ML涓湭瀹氫箟鍙笉鍐欙級
            Namespace ns = root.getNamespace();
            Element et 
= null;
            DataModel dataModel 
= new DataModel();
            Collections c ;
            Ctnfee ctnfee 
= null;
            
for(int i=0;i<jiedian.size();i++){
                et 
= (Element) jiedian.get(i);//寰幆渚濇寰楀埌瀛愬厓绱?/span>
                ctnfee = new Ctnfee();
                
/**//*
                 * 鏃犲懡鍚嶇┖闂村畾涔夋椂
                 * et.getChild("users_id").getText();
                 * et.getChild("users_address",ns).getText()
                 
*/

                
/*System.out.println(et.getChild("users_id",ns).getText());
                System.out.println(et.getChild("users_address",ns).getText());
*/

                System.out.println(et.getChild(
"p_id",ns).getText());
                System.out.println(et.getChild(
"ctnno",ns).getText());
                ctnfee.setP_id(et.getChild(
"p_id",ns).getText());
                ctnfee.setCtnno(et.getChild(
"ctnno",ns).getText());
                ctnfee.setFee_type(et.getChild(
"fee_type",ns).getText());
                ctnfee.setStart_time(et.getChild(
"start_time",ns).getText());
                ctnfee.setEnd_time(et.getChild(
"end_time",ns).getText());
                ctnfee.setFee(Double.parseDouble(et.getChild(
"fee",ns).getText()));
                ctnfee.setFee_count(Double.parseDouble(et.getChild(
"fee_count",ns).getText()));
                ctnfee.setCpid(et.getChild(
"cpid",ns).getText());
                ctnfee.setFee_name(et.getChild(
"fee_name",ns).getText());
                ctnfee.setFee_rate_id(Double.parseDouble(et.getChild(
"fee_rate_id",ns).getText()));
                ctnfee.setJffs(et.getChild(
"jffs",ns).getText());
                ctnfee.setIf_hand(et.getChild(
"if_hand",ns).getText());
                ctnfee.setSfid(et.getChild(
"sfid",ns).getText());
                ctnfee.setWt_company(et.getChild(
"wt_company",ns).getText());
                ctnfee.setOpid(et.getChild(
"opid",ns).getText());
                ctnfee.setCy(et.getChild(
"cy",ns).getText());
                ctnfee.setIf_bf(et.getChild(
"if_bf",ns).getText());
                ctnfee.setDays_count(et.getChild(
"days_count",ns).getText());
                ctnfee.setIf_collect(Double.parseDouble(et.getChild(
"if_collect",ns).getText()));
                ctnfee.setIf_dd(et.getChild(
"if_dd",ns).getText());
                ctnfee.setDd_fee_name(et.getChild(
"dd_fee_name",ns).getText());
                ctnfee.setSpec_sign(et.getChild(
"spec_sign",ns).getText());
                
                list.add(ctnfee);
                counttotal 
= counttotal +Double.parseDouble(et.getChild("fee_count",ns).getText());
            }

            
/**//*
             * 濡傝鍙?lt;row>涓嬬殑瀛愬厓绱犵殑鍚嶇О
             
*/

            et 
= (Element) jiedian.get(0);
            List zjiedian 
= et.getChildren();
            
for(int j=0;j<zjiedian.size();j++){
                Element xet 
= (Element) zjiedian.get(j);
                System.out.println(xet.getName());
            }

        }
 catch (JDOMException e) {
            
// TODO 鑷姩鐢熸垚 catch 鍧?/span>
            e.printStackTrace();
        }
 catch (IOException e) {
            
// TODO 鑷姩鐢熸垚 catch 鍧?/span>
            e.printStackTrace();
        }

        
return list;
    }


youngturk 2013-07-10 15:03 鍙戣〃璇勮
]]>
web欏甸潰媯绱㈡暟鎹簱涓殑瀛楁鏄貢鐮侀棶棰?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2013/05/03/398720.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/398720.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2013/05/03/398720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/398720.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/youngturk/services/trackbacks/398720.html</trackback:ping><description><![CDATA[this.databaseEncoding = "GBK";<br />//  this.databaseEncoding = "ISO8859-1";<br />  this.platformEncoding = "GBK";<br /><br />鑾峰緱鏁版嵁搴撳瓧絎︽椂鍊欓渶瑕佽漿鎹?img src ="http://www.tkk7.com/youngturk/aggbug/398720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2013-05-03 10:33 <a href="http://www.tkk7.com/youngturk/archive/2013/05/03/398720.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>JAVA瑙f瀽XML鏍煎紡瀛楃涓?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2013/04/08/397540.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/397540.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2013/04/08/397540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/397540.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/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 />    public List xmlElements(String xmlDoc) {<br />        //鍒涘緩涓涓柊鐨勫瓧絎︿覆<br />        StringReader read = new StringReader(xmlDoc);<br />        //鍒涘緩鏂扮殑杈撳叆婧怱AX 瑙f瀽鍣ㄥ皢浣跨敤 InputSource 瀵硅薄鏉ョ‘瀹氬浣曡鍙?XML 杈撳叆<br />        InputSource source = new InputSource(read);<br />        //鍒涘緩涓涓柊鐨凷AXBuilder<br />        SAXBuilder sb = new SAXBuilder();<br />        try {<br />            //閫氳繃杈撳叆婧愭瀯閫犱竴涓狣ocument<br />            Document doc = sb.build(source);<br />            //鍙栫殑鏍瑰厓绱?br />            Element root = doc.getRootElement();<br />            System.out.println(root.getName());//杈撳嚭鏍瑰厓绱犵殑鍚嶇О錛堟祴璇曪級<br />            //寰楀埌鏍瑰厓绱犳墍鏈夊瓙鍏冪礌鐨勯泦鍚?br />            List jiedian = root.getChildren();<br />            //鑾峰緱XML涓殑鍛藉悕絀洪棿錛圶ML涓湭瀹氫箟鍙笉鍐欙級<br />            Namespace ns = root.getNamespace();<br />            Element et = null;<br />            for(int i=0;i<jiedian.size();i++){<br />                et = (Element) jiedian.get(i);//寰幆渚濇寰楀埌瀛愬厓绱?br />                /**//*<br />                 * 鏃犲懡鍚嶇┖闂村畾涔夋椂<br />                 * et.getChild("users_id").getText();<br />                 * et.getChild("users_address",ns).getText()<br />                 */<br />                /*System.out.println(et.getChild("users_id",ns).getText());<br />                System.out.println(et.getChild("users_address",ns).getText());*/<br />                System.out.println(et.getChild("p_id",ns).getText());<br />                System.out.println(et.getChild("ctnno",ns).getText());<br />            }<br />            /**//*<br />             * 濡傝鍙?lt;row>涓嬬殑瀛愬厓绱犵殑鍚嶇О<br />             */<br />            et = (Element) jiedian.get(0);<br />            List zjiedian = et.getChildren();<br />            for(int j=0;j<zjiedian.size();j++){<br />                Element xet = (Element) zjiedian.get(j);<br />                System.out.println(xet.getName());<br />            }<br />        } catch (JDOMException e) {<br />            // TODO 鑷姩鐢熸垚 catch 鍧?br />            e.printStackTrace();<br />        } catch (IOException e) {<br />            // TODO 鑷姩鐢熸垚 catch 鍧?br />            e.printStackTrace();<br />        }<br />        return null;<br />    }<br />    public static void main(String[] args){<br />     TestXML doc = new TestXML();<br />        String xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+<br />        "<Result xmlns=\"<a +<br />           "<row resultcount=\"1\">"+<br />              "<users_id>1001     </users_id>"+<br />              "<users_name>wangwei   </users_name>"+<br />              "<users_group>80        </users_group>"+<br />              "<users_address>1001鍙?nbsp;  </users_address>"+<br />           "</row>"+<br />           "<row resultcount=\"1\">"+<br />              "<users_id>1002     </users_id>"+<br />              "<users_name>wangwei   </users_name>"+<br />              "<users_group>80        </users_group>"+<br />              "<users_address>1002鍙?nbsp;  </users_address>"+<br />           "</row>"+<br />        "</Result>";<br />        String xml1 = "<?xml version=\"1.0\" encoding=\"UTF-16LE\" standalone=\"no\"?>" +<br />          "<d_fsgl_fee_count_for_xml>" +<br />          "  <d_fsgl_fee_count_for_xml_row>" +<br />          "  <p_id>JD1302130002</p_id>" +<br />          "  <ctnno>CXDU1499549</ctnno>" +<br />          "  <fee_type>鍗?lt;/fee_type>" +<br />          "  <start_time>2013-02-09 00:00:00</start_time>" +<br />          "  <end_time>2013-02-13 00:00:00</end_time>" +<br />          "  <fee>4</fee>" +<br />          "  <fee_count>16</fee_count>" +<br />          "  <cpid></cpid>" +<br />          "  <fee_name>鍫嗗瓨璐?lt;/fee_name>" +<br />          "  <fee_rate_id></fee_rate_id>" +<br />          "  <jffs>1</jffs>" +<br />          "  <if_hand>0</if_hand>" +<br />          "  <sfid>FDZT1302180104</sfid>" +<br />          "  <wt_company>QT</wt_company>" +<br />          "  <opid>928</opid>" +<br />          "  <cy>D</cy>" +<br />          "  <if_bf></if_bf>" +<br />          "  <days_count>4</days_count>" +<br />          "  <if_collect>1</if_collect>" +<br />          "  <if_dd></if_dd>" +<br />          "  <dd_fee_name></dd_fee_name>" +<br />          "  <spec_sign>浜旀床浠e灚</spec_sign>" +<br />          " </d_fsgl_fee_count_for_xml_row>" +<br />          " <d_fsgl_fee_count_for_xml_row>" +<br />          "  <p_id>JD1302130002</p_id>" +<br />          "  <ctnno>CXDU1499549</ctnno>" +<br />          "  <fee_type>鍛?lt;/fee_type>" +<br />          "  <start_time>2013-02-13 00:00:00</start_time>" +<br />          "  <end_time>2013-02-20 00:00:00</end_time>" +<br />          "  <fee>4</fee>" +<br />          "  <fee_count>32</fee_count>" +<br />          "  <cpid></cpid>" +<br />          "  <fee_name>鍫嗗瓨璐?lt;/fee_name>" +<br />          "  <fee_rate_id>67</fee_rate_id>" +<br />          "  <jffs>1</jffs>" +<br />          "  <if_hand>0</if_hand>" +<br />          "  <sfid>FDZT1302180104</sfid>" +<br />          "  <wt_company>QT</wt_company>" +<br />          "  <opid>928</opid>" +<br />          "  <cy>D</cy>" +<br />          "  <if_bf></if_bf>" +<br />          "  <days_count>8</days_count>" +<br />          "  <if_collect>1</if_collect>" +<br />          "  <if_dd></if_dd>" +<br />          "  <dd_fee_name></dd_fee_name>" +<br />          "  <spec_sign></spec_sign>" +<br />          " </d_fsgl_fee_count_for_xml_row>"  +<br />          "</d_fsgl_fee_count_for_xml>";<br />        doc.xmlElements(xml1);<br />    }<br />}</p> <p> </p><img src ="http://www.tkk7.com/youngturk/aggbug/397540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2013-04-08 17:20 <a href="http://www.tkk7.com/youngturk/archive/2013/04/08/397540.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>js璇誨彇XML鏂囦歡 JS璇誨啓XML鏂囦歡http://www.tkk7.com/youngturk/archive/2012/11/09/391095.htmlyoungturkyoungturkFri, 09 Nov 2012 07:21:00 GMThttp://www.tkk7.com/youngturk/archive/2012/11/09/391095.htmlhttp://www.tkk7.com/youngturk/comments/391095.htmlhttp://www.tkk7.com/youngturk/archive/2012/11/09/391095.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/391095.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/391095.htmlJavaScript

<script type="text/javascript">
    //<![CDATA[
    //宓屽叆CDATA孌靛彲浠ラ槻姝笉鍏煎Javacript鐨勬祻瑙堝櫒涓嶄駭鐢熼敊璇俊鎭?br />    //澧炲姞姝e垯琛ㄨ揪寮?span class="Apple-converted-space"> 
    String.prototype.getQueryString = function(name) {
        var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)"), r;
        if (r = this.match(reg)) return unescape(r[2]);
        return null;
    };
    var address = location.search.getQueryString("address"); //閫氳繃琛ㄨ揪寮忚幏寰椾紶閫掑弬鏁?br />    //閽堝涓ょ嫻忚鍣紝鍒嗗埆鑾峰彇xmlDocument瀵硅薄// 璇誨彇XML鏂囦歡   
    function loadXML(xmlFile) {
        var xmlDoc;
        if (window.ActiveXObject) {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        }
        else if (document.implementation && document.implementation.createDocument) {
            xmlDoc = document.implementation.createDocument("", "", null);
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        } else {
            alert('鎮ㄧ殑嫻忚鍣ㄤ笉鏀寔璇ョ郴緇熻剼鏈紒');
        }
        return xmlDoc;
    }   
    //璋冪敤鍦板浘
    var map; //鍏ㄥ眬GMap GOOGLE 鍦板浘 API
    function load() {
        if (GBrowserIsCompatible()) //媯鏌ユ祻瑙堝櫒鍏煎鎬?br />        {
            map = new GMap2(document.getElementById("map")); //鍦板浘鍔犳牻鍒癐D涓簃ap鐨凞IV涓?br />            map.addControl(new GSmallMapControl());   //娣誨姞Gcontrol鎺т歡//鏀懼ぇ緙╁皬鐨勯偅涓?br />            map.setCenter(new GLatLng(26.577014, 104.877977), 15); //璁劇疆鍦板浘涓績
            //鍒涘緩澶氫釜鍧愭爣鐐癸紙浠嶪NFO.XML鏂囦歡涓鍙栵級
            var xmlDoc = loadXML("Info.xml"); 
            var members = xmlDoc.getElementsByTagName("number");
            var maxRes = members.length;
            for (var i = 0; i <= maxRes; i++) {                       //XML涓褰曚簡澶氫釜鍧愭爣鐐癸紝瑕佹瘡涓偣閮芥爣璁頒竴涓?br />                var oName = members[i].getElementsByTagName("name");
                var oLongitude = members[i].getElementsByTagName("Longitude");
                var oLatitude = members[i].getElementsByTagName("Latitude");

                var name = oName[0].firstChild.nodeValue
                var Longitude = oLongitude[0].firstChild.nodeValue
                var Latitude = oLatitude[0].firstChild.nodeValue        
                
                var marker = new GMarker(new GLatLng(Longitude, Latitude), { title: name });     //瀵規瘡涓偣娣誨姞鏍囪
                marker.openInfoWindowHtml("<div style=line-height:20px;text-align:center;font-size:12px;'><a href=Left.aspx?info=" + name + " target=framLeft>" + name + ",鐐瑰嚮鏌ョ湅淇℃伅</a></div>"); 
                map.addOverlay(marker);
            }
        }
    }
    //]]>
</script>

XML鏂囦歡

<?xml version="1.0" encoding="GB2312"?>   
<earth>   
<number id='1'>    
<name>213211212213213</name>   
<Longitude>26.577014</Longitude>   
<Latitude>104.877977</Latitude></number>   
<number id='2'>    
<name>112312332131212</name>   
<Longitude>26.586685</Longitude>   
<Latitude>104.863815</Latitude></number>   
<number id='3'>    
<name>123123121323112</name>   
<Longitude>26.572101</Longitude>   
<Latitude>104.866905</Latitude></number>   
<number id='4'>    
<name>123132123123321</name>   
<Longitude>26.572254</Longitude>   
<Latitude>104.891624</Latitude></number>   
</earth>

youngturk 2012-11-09 15:21 鍙戣〃璇勮
]]>
Tomcat5.0榪炴帴姹犻厤緗紙oracle / mysql / sqlserver2000錛?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2012/11/07/390915.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/390915.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2012/11/07/390915.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/390915.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/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">閰嶇疆涓錛歑ML鏂規硶</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銆佷笅杞絧roxool 鍦板潃錛歨ttp://proxool.sourceforge.net<br />    2銆佽В鍘嬬緝proxool-0.9.0RC2.zip錛屾嫹璐漧ib/proxool-0.9.0RC2.jar鍒皐eb-info/lib<br />       鎷瘋礉jdbc椹卞姩鍒皐eb-info/lib<br />    3銆佸湪web-info涓嬪緩绔嬫枃浠訛細proxool.xml<br />     鏂囦歡鍐呭濡備笅錛?br /><?xml version="1.0" encoding="UTF-8"?><br /><something-else-entirely><br />  <proxool><br />    <alias><span style="color: rgb(255,0,0)">Develop</span></alias><br />    <driver-url>jdbc:oracle:thin:@192.168.100.18:1521:RNMS</driver-url><br />    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class><br />    <driver-properties><br />      <property name="user" value="scmlp"/><br />      <property name="password"  value="scmlpscmlp"/><br />    </driver-properties><br />    <maximum-connection-count>500</maximum-connection-count><br />    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql><br />  </proxool><br /></something-else-entirely><br /><br />    4銆佸湪web.xml鏂囦歡鍐呭姞鍏ヤ互涓嬪唴瀹癸細<br /><br /><servlet><br />     <servlet-name>proxoolServletConfigurator</servlet-name><br /> <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class><br />     <init-param><br />       <param-name>xmlFile</param-name><br />       <param-value>WEB-INF/proxool.xml</param-value><br />     </init-param><br />     <load-on-startup>1</load-on-startup><br />   </servlet><br /><!-- proxool鎻愪緵鐨勭鐞嗙洃鎺у伐鍏鳳紝鍙煡鐪嬪綋鍓嶆暟鎹簱榪炴帴鎯呭喌銆傚鏋滆繍琛屼笉鎴愬姛錛岃鍒犻櫎鏈 --><br />   <servlet><br />    <servlet-name>Admin</servlet-name><br />      <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class><br />   </servlet><br />   <servlet-mapping><br />    <servlet-name>Admin</servlet-name><br />    <url-pattern>/admin</url-pattern><br />   </servlet-mapping><br /><br />     5銆佸湪璋冪敤鏁版嵁搴撹繛鎺ヤ唬鐮侊細<br />       Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");<br />       Connection conn = DriverManager.getConnection("proxool.<span style="color: rgb(255,0,0)">Develop</span>");<br /><br />     6銆佸埄鐢╬roxool鐩戞帶宸ュ叿鏌ョ湅鏁版嵁搴撹繍琛岀姸鎬併傚湴鍧錛?/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錛屼笅杞絧roxool-0.8.3.jar騫舵斁鍒扮浉搴旂殑鐩綍錛岃繖涓簲璇ユ瘮杈冪畝鍗曚簡  <span id="nnjhjtt" class="Apple-converted-space"> </span><br />  2錛屽啓涓涓厤緗枃浠舵斁鍒皐eb-inf鐩綍涓嬶紝閰嶇疆鏂囦歡鍐呭濡備笅錛? <span id="jbvppxt" class="Apple-converted-space"> </span><br />        jdbc-0.proxool.alias=bidding  <span id="zjbnzhf" class="Apple-converted-space"> </span><br />        jdbc-0.proxool.driver-url=jjdbc:oracle:thin:@127.0.0.1:1521:dbname  <span id="jbbvpdb" class="Apple-converted-space"> </span><br />        jdbc-0.proxool.driver-class=oracle.jdbc.driver.oracledriver  <span id="bhlnhnt" class="Apple-converted-space"> </span><br />        jdbc-0.user=name  <span id="vxzjdbh" class="Apple-converted-space"> </span><br />        jdbc-0.password=pass  <span id="xblfxvb" class="Apple-converted-space"> </span><br />        jdbc-0.proxool.maximum-connection-count=200  <span id="pbtxxtj" class="Apple-converted-space"> </span><br />        jdbc-0.proxool.house-keeping-test-sql=select   *  <span id="lxzrdzx" class="Apple-converted-space"> </span><br />  3錛屽湪web-inf/web.xml涓坊鍔犲涓嬩唬鐮侊細  <span id="dxxhjhv" class="Apple-converted-space"> </span><br />        <servlet>  <span id="lpjdflj" class="Apple-converted-space"> </span><br />            <servlet-name>servletconfigurator</servlet-name>  <span id="bxxjtzp" class="Apple-converted-space"> </span><br />            <servlet-lass>org.logicalcobwebs.proxool.configuration.servletconfigurator</servlet-class>  <span id="bnxrbrd" class="Apple-converted-space"> </span><br />            <init-param>  <span id="lnnprzn" class="Apple-converted-space"> </span><br />            <param-name>propertyfile</param-name>  <span id="jvjvxdb" class="Apple-converted-space"> </span><br />            <param-value>web-inf/proxool.properties</param-value>  <span id="djldhdd" class="Apple-converted-space"> </span><br />            </init-param>  <span id="fhbtnln" class="Apple-converted-space"> </span><br />            <load-on-startup>1</load-on-startup>  <span id="xzdfrnd" class="Apple-converted-space"> </span><br />          </servlet>    <span id="rlppjhx" class="Apple-converted-space"> </span><br />  4錛岄厤緗氨榪欎箞綆鍗曪紝涓嬮潰緇欎綘涓孌墊庝箞寰楀埌涓涓繛鎺ヤ唬鐮侊紝鍏朵粬鐨勫簲璇ュ氨姣旇緝綆鍗曚簡  <span id="fpzbdbh" class="Apple-converted-space"> </span><br />            public   connection   getconnection()   {  <span id="bjnndtr" class="Apple-converted-space"> </span><br />            try   {    <span id="rhldxpt" class="Apple-converted-space"> </span><br />            conn   =   drivermanager.getconnection("proxool.bidding");  <span id="jdfhbrf" class="Apple-converted-space"> </span><br />            }catch(sqlexception   ex){  <span id="pjllnlt" class="Apple-converted-space"> </span><br />            ex.printstacktrace();            <span id="pjvvhll" class="Apple-converted-space"> </span><br />            }   finally   {  <span id="tvpprhx" class="Apple-converted-space"> </span><br />            try   {            <span id="tnxbrxv" class="Apple-converted-space"> </span><br />            if   (conn   !=   null)   {  <span id="lnxrbzf" class="Apple-converted-space"> </span><br />            conn.close();  <span id="fpptljp" class="Apple-converted-space"> </span><br />            }  <span id="htdpzxv" class="Apple-converted-space"> </span><br />            }   catch   (sqlexception   e)   {  <span id="htvfzfd" class="Apple-converted-space"> </span><br />            e.printstacktrace();  <span id="bjdxhtt" class="Apple-converted-space"> </span><br />            log("problem   closing   connection");  <span id="vprbzhz" class="Apple-converted-space"> </span><br />            }  <span id="xzllftj" class="Apple-converted-space"> </span><br />            }    <span id="vpzttrr" class="Apple-converted-space"> </span><br />            return   conn;  <span id="nhrlljj" class="Apple-converted-space"> </span><br />            }         <br /></p><img src ="http://www.tkk7.com/youngturk/aggbug/390915.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2012-11-07 09:37 <a href="http://www.tkk7.com/youngturk/archive/2012/11/07/390915.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍙戝竷wsdl鏃跺欙紝鍙戝竷鍚嶅瓧涓嶈兘璺熷伐鍘傝皟鐢╞ean鐨勫悕瀛椾竴鏍峰惁鍒欐姤閿欙紝浠涔堝師鍥犱笉鐭?.http://www.tkk7.com/youngturk/archive/2012/09/01/386760.htmlyoungturkyoungturkSat, 01 Sep 2012 10:15:00 GMThttp://www.tkk7.com/youngturk/archive/2012/09/01/386760.htmlhttp://www.tkk7.com/youngturk/comments/386760.htmlhttp://www.tkk7.com/youngturk/archive/2012/09/01/386760.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/386760.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/386760.html鍙戝竷wsdl錛?br />@WebService(endpointInterface = "cn.itcast.serviceWSDL.UserServiceWSDL",
serviceName = "userinfoService",targetNamespace="impl.serviceWSDL.itcast.cn")
//@Transactional
public class UserServiceWSDLBean implements UserServiceWSDL {

鍦ㄨ皟鐢╱serService = (UserService)BeanFactory.getBean("userService");
綰㈣壊瀛椾綋鍚嶅瓧涓嶈兘涓巃pplicationContext涓璱d鐨勫悕瀛椾竴鑷達紝鍚﹀垯鎶ラ敊 鎵句笉鍒癱n.itcast.service.impl.UserServiceBean
<bean id="userService" class="cn.itcast.service.impl.UserServiceBean">
  <property name="dataSource" ref="dataSource"/>
 </bean>

youngturk 2012-09-01 18:15 鍙戣〃璇勮
]]>
浣跨敤accepter閬嶅巻鎵鏈塜ML瀛愬厓绱?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2012/06/14/380817.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/380817.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2012/06/14/380817.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/380817.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/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.tkk7.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">public class Myvisitor extends VisitorSupport {<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    /**<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     * 瀵逛簬灞炴ц妭鐐癸紝鎵撳嵃灞炴х殑鍚嶅瓧鍜屽?br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     */<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    public void visit(Attribute node) {<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        System.out.println("attribute : " + node.getName() + " = "<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />               + node.getValue());<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    }<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" /><br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    /**<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     * 瀵逛簬澶勭悊鎸囦護鑺傜偣錛屾墦鍗板鐞嗘寚浠ょ洰鏍囧拰鏁版嵁<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     */<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    public void visit(ProcessingInstruction node) {<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        System.out.println("PI : " + node.getTarget() + " "<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />               + node.getData());<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    }<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" /><br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    /**<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     * 瀵逛簬鍏冪礌鑺傜偣錛屽垽鏂槸鍚﹀彧鍖呭惈鏂囨湰鍐呭錛屽鏄紝鍒欐墦鍗版爣璁扮殑鍚嶅瓧鍜?nbsp;鍏冪礌鐨勫唴瀹廣傚鏋滀笉鏄紝鍒欏彧鎵撳嵃鏍囪鐨勫悕瀛?br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     */<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    public void visit(Element node) {<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        if (node.isTextOnly())<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />           System.out.println("element : " + node.getName() + " = "<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />                  + node.getText());<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        else<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />           System.out.println("--------" + node.getName() + "--------");<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    }<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" /> <br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    @Test<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    public void test() throws DocumentException {<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        SAXReader saxReader = new SAXReader();<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        Document document = saxReader.read("src/book.xml");<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        // dom4jParser.traversalDocumentByIterator();<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />        document.accept(new Myvisitor());<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />     }<br /><img align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" alt="" />    </span></div></div><img src ="http://www.tkk7.com/youngturk/aggbug/380817.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2012-06-14 22:45 <a href="http://www.tkk7.com/youngturk/archive/2012/06/14/380817.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>寮鍙慸om4j闄や簡闇瑕佸叾1.6.1jar鍖呭錛岃繕闇瑕乯axen-1.1.1jarhttp://www.tkk7.com/youngturk/archive/2012/06/13/380711.htmlyoungturkyoungturkWed, 13 Jun 2012 13:43:00 GMThttp://www.tkk7.com/youngturk/archive/2012/06/13/380711.html寮鍙慸om4j闄や簡闇瑕佸叾1.6.1jar鍖呭錛岃繕闇瑕乯axen-1.1.1jar鍦╦dk1.6涓?br />
JAXEN錛堝XPath鐨勬敮鎸侊級錛?/span>http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.1.zip


youngturk 2012-06-13 21:43 鍙戣〃璇勮
]]>
dom4J 閫掑綊瑙f瀽http://www.tkk7.com/youngturk/archive/2012/06/13/380683.htmlyoungturkyoungturkWed, 13 Jun 2012 06:07:00 GMThttp://www.tkk7.com/youngturk/archive/2012/06/13/380683.htmlhttp://www.tkk7.com/youngturk/comments/380683.htmlhttp://www.tkk7.com/youngturk/archive/2012/06/13/380683.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/380683.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/380683.htmlbook.xml:
<?xml version="1.0" encoding="UTF-8"?>
<INVENTORY name="INAtrabute">
    
<BOOK name="textBook">
        
<TITLE>
            The Adventures of Huckleberry Finn
            
<FEN>mast
                
<MIAO>
                miao
                
</MIAO>
            
</FEN>
        
</TITLE>
        
<AUTHOR>Mark Twain
            
<FEN>mast1
                
<MIAO>
                miao1
                
</MIAO>
            
</FEN>
        
</AUTHOR>
        
<BINDING>mass market paperback</BINDING>
        
<PAGES>298</PAGES>
    
<price>209yuan</price>
    
</BOOK>
    
<BOOK>
        
<TITLE name="testName">Leaves of Grass</TITLE>
        
<AUTHOR>Walt Whitman</AUTHOR>
        
<BINDING>hardcover</BINDING>
        
<PAGES>462</PAGES>
    
</BOOK>
</INVENTORY>

瑙f瀽浠g爜錛?br />@Test
    
public void treeWalk() throws DocumentException{
        SAXReader reader 
= new SAXReader(); 
        Document document 
= reader.read(new File("src/book.xml"));
        Element element
= document.getRootElement();
        treeWalk(element);
        
    }

    
public void treeWalk(Element element){
        
for(int i = 0 , size = element.nodeCount();i<size;i++){
            Node node 
= element.node(i);
            
            
if(node instanceof Element){
                treeWalk((Element)node);
                String value 
= node.getName();
                System.out.println(value);
            }
else{
                
            }

        }

    }


youngturk 2012-06-13 14:07 鍙戣〃璇勮
]]>
java榪炴帴鏁版嵁搴擄紙絎竴姝ワ級http://www.tkk7.com/youngturk/archive/2012/05/24/379048.htmlyoungturkyoungturkThu, 24 May 2012 08:49:00 GMThttp://www.tkk7.com/youngturk/archive/2012/05/24/379048.htmlhttp://www.tkk7.com/youngturk/comments/379048.htmlhttp://www.tkk7.com/youngturk/archive/2012/05/24/379048.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/379048.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/379048.html闇瑕佽仈緋葷殑鍑犱釜鏂囦歡錛欴aosupportController,extents Controller,BeanFactory,CoreDispatcherController,appcontext.xml.
鏈墂eb.xml涓?br /><servlet>
        <!-- servlet鑾峰緱鎺у埗鏂囦歡Class鐨勫悕瀛楋紝綾誨悕 -->
  <servlet-name>smvcCoreDispatcher</servlet-name>
  <servlet-class>org.bluechant.mvc.core.CoreDispatcherController</servlet-class>
.....
</servlet>
鏈塁oreDispatcherController寮濮?->

public void invokeActionHandler(ModelAndView mv , HttpServletRequest request) throws Exception{
        String className 
= mv.getClassName();
        String methodName 
= mv.getMethodName();
        
//load class
        Class controllerClass = cache.loadClass(className);//== Class.forName(className);java鍙嶅皠鏈哄埗錛宩vm鍔犺澆lassName綾?/span>
        Class parentControllerClass = cache.loadClass(baseControllerClass);//class org.bluechant.mvc.controller.Controller
        
//load method鍙傛暟1綾伙紝鍒涘緩涓涓柟娉曚負setRequest鍙傛暟涓篐ttpServletRequest.class鐨勬柟娉曚笌method = clazz.getDeclaredMethod(setRequest, HttpServletRequest.class);涓嶩ttpServletRequest鐨剆etRequest鏂規硶涓鑷寸殑鏂規硶.
        Method setRequest = cache.loadMethod(parentControllerClass, "setRequest"new Class[] { HttpServletRequest.class });    //HttpServletRequest.class錛宩ava鐨勫弽灝勬満鍒跺緱鍒拌嚜宸辯殑綾伙紝鑳藉鎷ユ湁鑷繁鐨勬柟娉曞鹼紝錛圡ethod setRequest鑾峰彇鎴愬憳鍑芥暟錛?/span>
        Method setModelAndView = cache.loadMethod(parentControllerClass, "setModelAndView"new Class[] { ModelAndView.class });//org.bluechant.mvc.controller.Controller-setModelAndView@6024418  public void org.bluechant.mvc.controller.Controller.setModelAndView(org.bluechant.mvc.controller.ModelAndView)
        Method targetMethod = cache.loadMethod(controllerClass, methodName, new Class[]{});
        
//buiid controller instance and invoke target method浠ヤ笂setRequest錛宻etModelAndView錛宼argetMethod閮芥斁鍦╟ache錛坔ashMap涓級
        Object instance = controllerClass.newInstance();//鍔犺澆className綾?font color="#008000">;//姝ゆ柟娉曞紩鍏ユ暟鎹簱榪炴帴 
        //浠ヤ笂鍒氳繘鍏ラ〉闈㈢殑鏃跺檌nstance璋冪敤涓変釜綾誨垵濮嬪寲錛屽垎鍒槸緇ф壙鍏崇郴DaosupportController 錛宑ontroller錛屽拰BeanFactory
        /*--->>>鍏朵腑DaoSupportController綾諱腑protected ObjectDao dao = (ObjectDao)BeanFactory.getBean("objectDao");
        --->>>璋冪敤錛歡etBean 鏂規硶public class BeanFactory {
            public static ApplicationContext context = new ClassPathXmlApplicationContext("appcontext.xml") ;//姝ゆ柟娉曞紩鍏ユ暟鎹簱榪炴帴                                        
            public static Object getBean(String beanId) {
                return context.getBean(beanId);
            }
        }
*/

        setRequest.invoke(instance, 
new Object[] { request });//瀵瑰甫鏈夋寚瀹氬弬鏁扮殑鎸囧畾瀵硅薄璋冪敤鐢辨 Method 瀵硅薄琛ㄧず鐨勫熀紜鏂規硶    
        setModelAndView.invoke(instance, new Object[] { mv });//instance绔嬪嵆涓哄師鍨嬫寚閽?br />//        --->>>鎵ц鎸囧畾鐨則argetMethod鏂規硶瀹炲垯涓篈ccountController鐨刲ogin錛堬級鐧婚檰鏂規硶姝ゆ椂寮濮嬭皟鐢ㄦ暟鎹簱
        targetMethod.invoke(instance, new Object[]{});    
        
//璋冪敤instance綾諱腑targetMethod榪欎釜鏂規硶錛孫bject[]{}榪欎釜浣滀負鍙傛暟..
        
//invoke鏍規嵁瀹炰綋鑾峰緱鏂規硶錛屾坊鍔犳墍瑕侀犵殑鍙傛暟錛屽氨鏄釜鎵懼疄渚嬬殑鏂規硶鍏嬮殕宸ュ巶錛岀敱Method鑾峰緱瀹炰緥妯″瀷錛岀敱鏂規硶閿婚犳牱瀛愶紝浼犲叆鍙傛暟寰楀嚭鎯寵緇撴灉
    }

}





youngturk 2012-05-24 16:49 鍙戣〃璇勮
]]>
java涓婥lass.forName鐨勪綔鐢ㄦ槸浠涔堬紝涓轟粈涔堣浣跨敤瀹?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2012/05/24/379024.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/379024.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2012/05/24/379024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/379024.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/youngturk/services/trackbacks/379024.html</trackback:ping><description><![CDATA[<p>Class.forName(xxx.xx.xx) 榪斿洖鐨勬槸涓涓被</p> <p>棣栧厛浣犺鏄庣櫧鍦╦ava閲岄潰浠諱綍class閮借瑁呰澆鍦ㄨ櫄鎷熸満涓婃墠鑳借繍琛屻傝繖鍙ヨ瘽灝辨槸瑁呰澆綾葷敤鐨?鍜宯ew 涓嶄竴鏍鳳紝瑕佸垎娓呮)銆?nbsp;<br /><br />鑷充簬浠涔堟椂鍊欑敤錛屼綘鍙互鑰冭檻涓涓嬭繖涓棶棰橈紝緇欎綘涓涓瓧絎︿覆鍙橀噺錛屽畠浠h〃涓涓被鐨勫寘鍚嶅拰綾誨悕錛屼綘鎬庝箞瀹炰緥鍖栧畠錛熷彧鏈変綘鎻愬埌鐨勮繖涓柟娉曚簡錛屼笉榪囪鍐嶅姞涓鐐廣?nbsp;<br />A a = (A)Class.forName("pacage.A").newInstance(); <br />榪欏拰浣?nbsp;<br />A a = new A()錛?nbsp;<br />鏄竴鏍風殑鏁堟灉銆?nbsp;<br /><br />鍏充簬琛ュ厖鐨勯棶棰?nbsp;<br />絳旀鏄偗瀹氱殑錛宩vm浼氭墽琛岄潤鎬佷唬鐮佹錛屼綘瑕佽浣忎竴涓蹇碉紝闈欐佷唬鐮佹槸鍜宑lass緇戝畾鐨勶紝class瑁呰澆鎴愬姛灝辮〃紺烘墽琛屼簡浣犵殑闈欐佷唬鐮佷簡銆傝屼笖浠ュ悗涓嶄細鍐嶈蛋榪欐闈欐佷唬鐮佷簡銆?/p> <p>Class.forName(xxx.xx.xx) 榪斿洖鐨勬槸涓涓被 <br />Class.forName(xxx.xx.xx);鐨勪綔鐢ㄦ槸瑕佹眰JVM鏌ユ壘騫跺姞杞芥寚瀹氱殑綾伙紝涔熷氨鏄JVM浼氭墽琛岃綾葷殑闈欐佷唬鐮佹</p> <p>鍔ㄦ佸姞杞藉拰鍒涘緩Class 瀵硅薄錛屾瘮濡傛兂鏍規嵁鐢ㄦ埛杈撳叆鐨勫瓧絎︿覆鏉ュ垱寤哄璞?nbsp;<br />String str = 鐢ㄦ埛杈撳叆鐨勫瓧絎︿覆 <br />Class t = Class.forName(str); <br />t.newInstance();</p> <p> 鍦ㄥ垵濮嬪寲涓涓被錛岀敓鎴愪竴涓疄渚嬬殑鏃跺欙紝newInstance()鏂規硶鍜宯ew鍏抽敭瀛楅櫎浜嗕竴涓槸鏂規硶錛屼竴涓槸鍏抽敭瀛楀錛屾渶涓昏鏈変粈涔堝尯鍒紵瀹冧滑鐨勫尯鍒湪浜庡垱寤哄璞$殑鏂瑰紡涓嶄竴鏍鳳紝鍓嶈呮槸浣跨敤綾誨姞杞芥満鍒訛紝鍚庤呮槸鍒涘緩涓涓柊綾匯傞偅涔堜負浠涔堜細鏈変袱縐嶅垱寤哄璞℃柟寮忥紵榪欎富瑕佽冭檻鍒拌蔣浠剁殑鍙幾緙┿佸彲鎵╁睍鍜屽彲閲嶇敤絳夎蔣浠惰璁℃濇兂銆?nbsp;<br /><br />Java涓伐鍘傛ā寮忕粡甯鎬嬌鐢╪ewInstance()鏂規硶鏉ュ垱寤哄璞★紝鍥犳浠庝負浠涔堣浣跨敤宸ュ巶妯″紡涓婂彲浠ユ壘鍒板叿浣撶瓟妗堛?nbsp;渚嬪錛?nbsp;<br />class c = Class.forName(“Example”); <br />factory = (ExampleInterface)c.newInstance(); <br /><br />鍏朵腑ExampleInterface鏄疎xample鐨勬帴鍙o紝鍙互鍐欐垚濡備笅褰㈠紡錛?nbsp;<br />String className = "Example"; <br />class c = Class.forName(className); <br />factory = (ExampleInterface)c.newInstance(); <br /><br />榪涗竴姝ュ彲浠ュ啓鎴愬涓嬪艦寮忥細 <br />String className = readfromXMlConfig;//浠巟ml 閰嶇疆鏂囦歡涓幏寰楀瓧絎︿覆 <br />class c = Class.forName(className); <br />factory = (ExampleInterface)c.newInstance(); <br /><br />涓婇潰浠g爜宸茬粡涓嶅瓨鍦‥xample鐨勭被鍚嶇О錛屽畠鐨勪紭鐐規槸錛屾棤璁篍xample綾繪庝箞鍙樺寲錛屼笂榪頒唬鐮佷笉鍙橈紝鐢氳嚦鍙互鏇存崲Example鐨勫厔寮熺被Example2 , Example3 , Example4……錛屽彧瑕佷粬浠戶鎵縀xampleInterface灝卞彲浠ャ?nbsp;<br /><br />浠嶫VM鐨勮搴︾湅錛屾垜浠嬌鐢ㄥ叧閿瓧new鍒涘緩涓涓被鐨勬椂鍊欙紝榪欎釜綾誨彲浠ユ病鏈夎鍔犺澆銆備絾鏄嬌鐢╪ewInstance()鏂規硶鐨勬椂鍊欙紝灝卞繀欏諱繚璇侊細1銆佽繖涓被宸茬粡鍔犺澆錛?銆佽繖涓被宸茬粡榪炴帴浜嗐傝屽畬鎴愪笂闈袱涓楠ょ殑姝f槸Class鐨勯潤鎬佹柟娉昮orName()鎵瀹屾垚鐨勶紝榪欎釜闈欐佹柟娉曡皟鐢ㄤ簡鍚姩綾誨姞杞藉櫒錛屽嵆鍔犺澆 java API鐨勯偅涓姞杞藉櫒銆?nbsp;<br /><br />鐜板湪鍙互鐪嬪嚭錛宯ewInstance()瀹為檯涓婃槸鎶妌ew榪欎釜鏂瑰紡鍒嗚В涓轟袱姝ワ紝鍗抽鍏堣皟鐢–lass鍔犺澆鏂規硶鍔犺澆鏌愪釜綾伙紝鐒跺悗瀹炰緥鍖栥?nbsp;榪欐牱鍒嗘鐨勫ソ澶勬槸鏄捐屾槗瑙佺殑銆傛垜浠彲浠ュ湪璋冪敤class鐨勯潤鎬佸姞杞芥柟娉昮orName鏃惰幏寰楁洿濂界殑鐏墊椿鎬э紝鎻愪緵緇欎簡涓縐嶉檷鑰︾殑鎵嬫銆?nbsp;<br /><br />鏈鍚庣敤鏈綆鍗曠殑鎻忚堪鏉ュ尯鍒唍ew鍏抽敭瀛楀拰newInstance()鏂規硶鐨勫尯鍒細 <br />newInstance: 寮辯被鍨嬨備綆鏁堢巼銆傚彧鑳借皟鐢ㄦ棤鍙傛瀯閫犮?nbsp;<br />new: 寮虹被鍨嬨傜浉瀵歸珮鏁堛傝兘璋冪敤浠諱綍public鏋勯犮?/p><img src ="http://www.tkk7.com/youngturk/aggbug/379024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2012-05-24 14:32 <a href="http://www.tkk7.com/youngturk/archive/2012/05/24/379024.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>web.xml涓?filter瑙f瀽http://www.tkk7.com/youngturk/archive/2012/05/24/379004.htmlyoungturkyoungturkThu, 24 May 2012 02:40:00 GMThttp://www.tkk7.com/youngturk/archive/2012/05/24/379004.htmlhttp://www.tkk7.com/youngturk/comments/379004.htmlhttp://www.tkk7.com/youngturk/archive/2012/05/24/379004.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/379004.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/379004.htmlAdminFilter.java錛?
package org.bluechant.mvc.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.bluechant.mvc.core.GlobalSources;

/**
 * 
@author CHAOS
 * @date 2012-02-28 12:49
 * filter for check wheather user already login in ,
 * if not , send redirect to the login page 
 * if already login , forward user's request to the target request URL
 
*/

public class AdminFilter implements Filter 
    
    
private String loginPage ;
    
    
private String loginAction ;
    
    
private String userLoginTag ;
    
//FilterConfig鍙敤浜庤闂瓼ilter鐨勯厤緗俊鎭?/span>
    private FilterConfig config;

    
//鎵ц榪囨護鐨勬牳蹇冩柟娉?/span>
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) 
throws IOException, ServletException {
        
        HttpServletRequest request 
= (HttpServletRequest) req;
        HttpServletResponse  response 
= (HttpServletResponse )res;
        HttpSession session 
= request.getSession(true);

        
//鑾峰彇瀹㈡埛璇鋒眰鐨勯〉闈?/span>
        String urlPath = request.getServletPath();
        
//濡傛灉session鑼冨洿鐨剈ser涓簄ull錛屽嵆琛ㄦ槑娌℃湁鐧誨綍
        
//涓旂敤鎴瘋姹傜殑鏃笉鏄櫥褰曢〉闈紝涔熶笉鏄鐞嗙櫥褰曠殑欏甸潰if( session.getAttribute("user") == null

        
boolean flag = needNotFilter(urlPath);
        
//涓嶉渶瑕佽繘琛屾嫤鎴殑欏甸潰
        if(!flag){
            Object obj 
= session.getAttribute(userLoginTag);
            System.out.println(
"the session userLoginTag value is :"+obj);
            
if(obj!=null){
                flag 
= true ;
            }

        }

        
if(flag){
            chain.doFilter(req, res);
        }
else{
            
//鎷︽埅涓嶉氳繃鐨勬椂鍊欒煩杞埌鐨勭洰鏍?/span>//forward鍒扮櫥褰曢〉闈?/span>
            response.sendRedirect(request.getContextPath()+loginPage);
        }

    }

    
//鍙湁鍦?#8221;/login.html“ || “/account!login.do” 鎯呭喌涓嬫墠榪涜鎷︽埅閫氳繃錛屽惁鍒欐嫤鎴笉閫氳繃璺沖埌鐧婚檰欏甸潰
    private boolean needNotFilter(String urlPath){
        
if(urlPath.endsWith(loginPage) || urlPath.endsWith(loginAction)){
            
return true ;
        }

        
return false ;
    }


    
/**
     * init params
     
*/

    
public void init(FilterConfig config) throws ServletException {
        loginPage 
= config.getInitParameter("loginPage");
        loginAction 
= config.getInitParameter("loginAction");
        userLoginTag 
= config.getInitParameter("userLoginTag");
        System.out.println(
"the loginPage value is :"+loginPage);
        System.out.println(
"the loginAction value is :"+loginAction);
        System.out.println(
"the userLoginTag value is :"+userLoginTag);
        
this.config = config;
        
//浠ュ墠欏甸潰鐧婚檰鐨勬椂鍊檚ession榪涜璁劇疆HttpSession session = request.getSession(true);
        
//session.setAttribute(GlobalSources.user_login_tag, user);
        GlobalSources.user_login_tag = userLoginTag ;//session鏀懼埌GlobalSources錛宐ean閲岋紝
鐢℅lobalSources.user_login_tag鑾峰緱

    }


    
public void destroy(){
        
        
this.config = null;
    }


}


web.xml涓搴攆ilter鏂囦歡:
 <filter>
      <filter-name>adminFilter</filter-name>
      <filter-class>org.bluechant.mvc.filter.AdminFilter</filter-class>
          <init-param>
               <param-name>loginAction</param-name>
               <param-value>/account!login.do</param-value>
          </init-param>
          <init-param>
               <param-name>loginPage</param-name>
               <param-value>/login.html</param-value>
          </init-param>
          <init-param>
               <param-name>userLoginTag</param-name>
               <param-value>account_login_check</param-value>
          </init-param>  
 </filter>
 
 <filter>
          <filter-name>userSourceFilter</filter-name>
          <filter-class>org.bluechant.mvc.filter.AccountRoleFilter</filter-class>
 </filter>
 
 <filter-mapping>
          <filter-name>adminFilter</filter-name>
          <url-pattern>*.do</url-pattern><!-- 琛ㄦ槑鍑℃槸璁塊棶璺寵漿*.do褰㈠紡鐨勮煩杞紝閮借榪愯鍚嶅瓧涓篴dminFilter鐨勮繃婊ゅ櫒 -->
 </filter-mapping>
 
 <filter-mapping>
          <filter-name>userSourceFilter</filter-name>
          <url-pattern>*.do</url-pattern>
 </filter-mapping>

youngturk 2012-05-24 10:40 鍙戣〃璇勮
]]>
web.xml filter澹版槑榪囨護鍣?/title><link>http://www.tkk7.com/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.tkk7.com/youngturk/archive/2012/05/23/378972.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/378972.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2012/05/23/378972.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/378972.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/youngturk/services/trackbacks/378972.html</trackback:ping><description><![CDATA[<font size="2">榪囨護鍣ㄥ彲鎴彇鍜屼慨鏀硅繘鍏ヤ竴涓猻ervlet鎴朖SP欏甸潰鐨勮姹傛垨浠庝竴涓猻ervlet鎴朖SP欏甸潰鍙戝嚭鐨勭浉搴斻傚湪鎵ц涓涓?servlet鎴朖SP欏甸潰涔嬪墠錛屽繀欏繪墽琛岀涓涓浉鍏崇殑榪囨護鍣ㄧ殑doFilter鏂規硶銆傚湪璇ヨ繃婊ゅ櫒瀵瑰叾FilterChain瀵硅薄璋冪敤doFilter 鏃訛紝鎵ц閾句腑鐨勪笅涓涓繃婊ゅ櫒銆傚鏋滄病鏈夊叾浠栬繃婊ゅ櫒錛宻ervlet鎴朖SP欏甸潰琚墽琛屻傝繃婊ゅ櫒鍏鋒湁瀵瑰埌鏉ョ殑ServletRequest瀵硅薄鐨勫叏閮ㄨ闂潈錛屽洜姝わ紝瀹冧滑鍙互鏌ョ湅瀹㈡埛鏈哄悕銆佹煡鎵懼埌鏉ョ殑cookie絳夈備負浜嗚闂畇ervlet鎴朖SP欏甸潰鐨勮緭鍑猴紝榪囨護鍣ㄥ彲灝嗗搷搴斿璞″寘瑁瑰湪涓涓浛韜璞★紙stand-in object錛変腑錛屾瘮鏂硅鎶婅緭鍑虹瘡鍔犲埌涓涓紦鍐插尯銆傚湪璋冪敤FilterChain瀵硅薄鐨刣oFilter鏂規硶涔嬪悗錛岃繃婊ゅ櫒鍙鏌ョ紦鍐插尯錛屽鏈夊繀瑕侊紝灝卞瀹冭繘琛屼慨鏀癸紝鐒跺悗浼犻佸埌瀹㈡埛鏈恒? <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.tkk7.com/images/OutliningIndicators/None.gif" /><span style="color: #000000">    </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">adminFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000">org.bluechant.mvc.filter.AdminFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">><!--鏈嶅姟鍣ㄩ儴緗茬殑鏃跺欙紝adminFilter寮濮嬪姞杞藉垵濮嬪寲--></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">loginAction</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">>/</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"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"></</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">loginPage</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">>/</span><span style="color: #000000">login.html</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"></</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">userLoginTag</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />            </span><span style="color: #000000"><</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000">account_login_check</span><span style="color: #000000"></</span><span style="color: #000000">param</span><span style="color: #000000">-</span><span style="color: #000000">value</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"></</span><span style="color: #000000">init</span><span style="color: #000000">-</span><span style="color: #000000">param</span><span style="color: #000000">></span><span style="color: #000000">        <br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    <br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">userSourceFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000">org.bluechant.mvc.filter.AccountRoleFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #0000ff">class</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    <br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">adminFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">>*</span><span style="color: #000000">.</span><span style="color: #0000ff">do</span><span style="color: #000000"></</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">><!--</span><span style="color: #000000"> 琛ㄦ槑鍑℃槸璁塊棶璺寵漿</span><span style="color: #000000">*</span><span style="color: #000000">.do褰㈠紡鐨勮煩杞紝閮借榪愯鍚嶅瓧涓篴dminFilter鐨勮繃婊ゅ櫒 </span><span style="color: #000000">--></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    <br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000">userSourceFilter</span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">name</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />        </span><span style="color: #000000"><</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">>*</span><span style="color: #000000">.</span><span style="color: #0000ff">do</span><span style="color: #000000"></</span><span style="color: #000000">url</span><span style="color: #000000">-</span><span style="color: #000000">pattern</span><span style="color: #000000">></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.tkk7.com/images/OutliningIndicators/None.gif" />    </span><span style="color: #000000"></</span><span style="color: #000000">filter</span><span style="color: #000000">-</span><span style="color: #000000">mapping</span><span style="color: #000000">><br />    <!--鎺ョ潃欏哄簭鍔犺澆servlet琚垵濮嬪寲--></span></div><br /></font><img src ="http://www.tkk7.com/youngturk/aggbug/378972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2012-05-23 22:31 <a href="http://www.tkk7.com/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.tkk7.com/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.tkk7.com/youngturk/archive/2012/05/22/378865.html</guid><wfw:comment>http://www.tkk7.com/youngturk/comments/378865.html</wfw:comment><comments>http://www.tkk7.com/youngturk/archive/2012/05/22/378865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/youngturk/comments/commentRss/378865.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/youngturk/services/trackbacks/378865.html</trackback:ping><description><![CDATA[<servlet-mapping>鍏冪礌鍦⊿ervlet鍜孶RL鏍峰紡涔嬮棿瀹氫箟涓涓槧灝勩傚畠鍖呭惈浜嗕袱涓瓙鍏冪礌<servlet- name>鍜?lt;url-pattern>錛?lt;servlet-name>鍏冪礌緇欏嚭鐨凷ervlet鍚嶅瓧蹇呴』鏄湪<servlet>鍏冪礌涓0鏄庤繃鐨凷ervlet鐨勫悕瀛椼?lt;url-pattern>鍏冪礌鎸囧畾瀵瑰簲浜嶴ervlet鐨刄RL璺緞錛岃璺緞鏄浉瀵逛簬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><servlet-mapping><br /><servlet-name>helloworld</servlet-name><br /><url-pattern>/hello</url-pattern><br /></servlet-mapping></pre></td></tr></tbody></table></p> <p> </p> <p><font size="3">        Servlet 2.5瑙勮寖鍏佽<servlet-mapping>鐨?lt;url-pattern>瀛愬厓绱犲嚭鐜板嬈★紝涔嬪墠鐨勮鑼冨彧鍏佽涓涓?lt;servlet-mapping>鍏冪礌鍖呭惈涓涓?lt;url-pattern>瀛愬厓绱犮傛垜浠湅涓嬮潰鐨勪緥瀛愶細</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><servlet-mapping><br /><servlet-name>welcome</servlet-name><br /><url-pattern>/en/welcome</url-pattern><br /><url-pattern>/zh/welcome</url-pattern><br /></servlet-mapping></pre></td></tr></tbody></table></p> <p><font size="3">       鍦ㄩ厤緗簡Servlet涓嶶RL鏍峰紡涔嬮棿鐨勬槧灝勫悗錛屽綋Servlet瀹瑰櫒鎺ユ敹鍒頒竴涓姹傦紝瀹冮鍏堢‘瀹氳璇鋒眰搴旇鐢卞摢涓涓猈eb搴旂敤紼嬪簭鏉ュ搷搴斻傝繖鏄氳繃姣旇緝璇鋒眰URI鐨勫紑濮嬮儴鍒嗕笌Web搴旂敤紼嬪簭鐨勪笂涓嬫枃璺緞鏉ョ‘瀹氱殑銆傛槧灝勫埌Servlet鐨勮礬寰勬槸璇鋒眰URI鍑忓幓涓婁笅鏂囩殑璺緞錛學eb搴旂敤紼嬪簭鐨凜ontext瀵硅薄鍦ㄥ幓鎺夎姹俇RI鐨勪笂涓嬫枃璺緞鍚庯紝灝嗘寜鐓т笅闈㈢殑璺緞鏄犲皠瑙勫垯鐨勯『搴忓鍓╀綑閮ㄥ垎鐨勮礬寰勮繘琛屽鐞嗭紝騫朵笖鍦ㄦ壘鍒扮涓涓垚鍔熺殑鍖歸厤鍚庯紝涓嶅啀榪涜涓嬩竴涓尮閰嶃?/font></p> <p><font color="#ff0000" size="3"><strong>      瀹瑰櫒璇曠潃瀵硅姹傜殑璺緞鍜孲ervlet鏄犲皠鐨勮礬寰勮繘琛岀簿紜尮閰嶏紝濡傛灉鍖歸厤鎴愬姛錛屽垯璋冪敤榪欎釜Servlet鏉ュ鐞嗚姹傘?/strong></font></p> <p><font color="#ff0000" size="3"><strong>      瀹瑰櫒璇曠潃鍖歸厤鏈闀跨殑璺緞鍓嶇紑錛屼互鏂滄潬錛?錛変負璺緞鍒嗛殧絎︼紝鎸夌収璺緞鏍戦愮駭閫掑噺鍖歸厤錛岄夋嫨鏈闀垮尮閰嶇殑Servlet鏉ュ鐞嗚姹傘?/strong></font></p> <p><font color="#ff0000" size="3"><strong>      濡傛灉璇鋒眰鐨刄RL璺緞鏈鍚庢湁鎵╁睍鍚嶏紝濡?jsp錛孲ervlet瀹瑰櫒浼氳瘯鐫鍖歸厤澶勭悊榪欎釜鎵╁睍鍚嶇殑Servlet銆?/strong></font></p> <p><font size="3">       濡傛灉鎸夌収鍓嶉潰3鏉¤鍒欐病鏈夋壘鍒板尮閰嶇殑Servlet錛屽鍣ㄤ細璋冪敤Web搴旂敤紼嬪簭榛樿鐨凷ervlet鏉ュ璇鋒眰榪涜澶勭悊錛屽鏋滄病鏈夊畾涔夐粯璁ょ殑Servlet錛屽鍣ㄥ皢鍚戝鎴風鍙戦丠TTP 404閿欒淇℃伅錛堣姹傝祫婧愪笉瀛樺湪錛夈?/font></p><font size="3"> <p>       鍦ㄩ儴緗叉弿榪扮涓紝鍙互浣跨敤涓嬮潰鐨勮娉曟潵瀹氫箟鏄犲皠銆?/p> <p>      <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><url-pattern>/admin/*</url-pattern></pre></td></tr></tbody></table></p> <p>    <strong>    <font color="#0000ff" size="4" face="妤蜂綋_GB2312">濡傛灉娌℃湁綺劇‘鍖歸厤錛岄偅涔堝/admin/璺緞涓嬬殑璧勬簮鐨勬墍鏈夎姹傚皢鐢辨槧灝勪簡涓婅堪URL鏍峰紡鐨凷ervlet鏉ュ鐞嗐?/font></strong></p> <p>       <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><url-pattern>*.do</url-pattern></pre></td></tr></tbody></table></p> <p><strong><font size="4" face="妤蜂綋_GB2312">    <font color="#0000ff">濡傛灉娌℃湁綺劇‘鍖歸厤鍜岃礬寰勫尮閰嶏紝閭d箞瀵瑰叿鏈?do鎵╁睍鍚嶇殑璧勬簮鐨勮姹傚皢鐢辨槧灝勪簡涓婅堪URL鏍峰紡鐨凷ervlet鏉ュ鐞嗐?/font></font></strong></p> <p>         <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><url-pattern>/</url-pattern></pre></td></tr></tbody></table></p> <p>       <strong><font color="#0000ff" size="4" face="妤蜂綋_GB2312"> <font color="#ff0000">濡傛灉瀵規煇涓姹傛病鏈夋壘鍒板尮閰嶇殑Servlet錛岄偅涔堝皢浣跨敤Web搴旂敤紼嬪簭鐨勯粯璁ervlet鏉ュ鐞嗐?/font></font></strong></p> <p><strong>        <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><url-pattern>/login</url-pattern></pre></td></tr></tbody></table></p> <p>          <font color="#0000ff" size="4" face="妤蜂綋_GB2312"><strong>濡傛灉璇鋒眰/login錛岄偅涔堝皢鐢辨槧灝勪簡URL鏍峰紡/login鐨凷ervlet鏉ュ鐞嗐?/strong></font></p></font> <img src ="http://www.tkk7.com/youngturk/aggbug/378865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/youngturk/" target="_blank">youngturk</a> 2012-05-22 20:32 <a href="http://www.tkk7.com/youngturk/archive/2012/05/22/378865.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>web.xml涓璼ervlet鎺у埗鍙傛暟鏂規硶http://www.tkk7.com/youngturk/archive/2012/05/22/378841.htmlyoungturkyoungturkTue, 22 May 2012 07:08:00 GMThttp://www.tkk7.com/youngturk/archive/2012/05/22/378841.htmlhttp://www.tkk7.com/youngturk/comments/378841.htmlhttp://www.tkk7.com/youngturk/archive/2012/05/22/378841.html#Feedback0http://www.tkk7.com/youngturk/comments/commentRss/378841.htmlhttp://www.tkk7.com/youngturk/services/trackbacks/378841.htmlweb.xml涓璼ervlet錛?/span>

    <servlet>   <!--鎺ョ潃欏哄簭鍔犺澆servlet琚垵濮嬪寲-->
           
<!-- servlet鑾峰緱鎺у埗鏂囦歡Class鐨勫悕瀛楋紝綾誨悕 -->
        
<servlet-name>smvcCoreDispatcher</servlet-name>
        
<servlet-class>org.bluechant.mvc.core.CoreDispatcherController</servlet-class>
        
<init-param>
            
<param-name>templateLoaderPath</param-name>
            
<param-value>/WEB-INF/view</param-value>
        
</init-param>
        
<init-param>
            
<param-name>defaultEncoding</param-name>
            
<param-value>GBK</param-value>
        
</init-param>
        
<init-param>
            
<param-name>contextConfigLocation</param-name>
            
<param-value>/WEB-INF/smvc_config/smvc-config.xml</param-value>
        
</init-param>
        
<load-on-startup>1</load-on-startup><!-- 鍔犺澆璺緞 -->
    
     
</servlet>
    
<servlet-mapping>
        
<servlet-name>smvcCoreDispatcher</servlet-name>
        
<url-pattern>*.do</url-pattern>
    
</servlet-mapping>
    
    
<welcome-file-list>
        
<welcome-file>login.html</welcome-file>
    
</welcome-file-list>

web.xml瀵瑰簲鐨剆ervlet鎺у埗java鏀瑰啓錛?/span>

package org.bluechant.mvc.core;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Method;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Map;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.bluechant.mvc.controller.ModelAndView;
import org.bluechant.mvc.core.util.ServletUtils;

import freemarker.template.Configuration;
import freemarker.template.ObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;

public class CoreDispatcherController extends HttpServlet {
    
    private Logger logger = Logger.getLogger(CoreDispatcherController.class);
    
    private CacheManager cache ;
    
    private String baseControllerClass = "org.bluechant.mvc.controller.Controller";

    private static final long serialVersionUID = 1L;
    
    private Configuration cfg ;
    
    private String templateLoaderPath ;
    
    private String defaultEncoding ;    
    
    private String contentType ;

    private String contextConfigLocation ;
    
    private ActionConfig actionCoinfig ;    
    
    public void init(ServletConfig config) throws ServletException {
        
        super.init(config);
        //super.init(config);

        String absPath = config.getServletContext().getRealPath("/");//鑾峰緱緋葷粺緇濆璺緞
        System.out.println("absPath:"+absPath);
        //getRealPath("/virtual_dir/file2.txt")搴旇榪斿洖"C:\site\a_virtual\file2.txt" 銆銆getRealPath("/file3.txt")搴旇榪斿洖null錛屽洜涓鴻繖涓枃浠朵笉瀛樺湪銆?nbsp;
        ///榪斿洖璺緞D:\Java\workspaces\helios\newshpt\鑾峰緱鏂囦歡璺緞
        defaultEncoding = getInitParameter("defaultEncoding");
        
        templateLoaderPath = getInitParameter("templateLoaderPath");
        //");//浠巜eb.xml涓幏寰梩emplateLoaderPath淇℃伅錛寃eb.xml涓搴旂殑璺緞”/WEB-INF/view“
        
        contextConfigLocation = getInitParameter("contextConfigLocation");
        System.out.println("contextConfigLocation:"+contextConfigLocation);
        ///鑾峰緱web.xml鏂囦歡涓礬寰刉EB-INF/smvc_config/smvc-config.xml
        actionCoinfig = new ActionConfig();
        actionCoinfig.load(absPath+contextConfigLocation);//鏂囨。榪涜瑙f瀽涓庤鍙?
        ///D:\Java\workspaces\helios\newshpt\WEB-INF/smvc_config/smvc-config.xml
        contentType = "text/html;charset="+defaultEncoding ;
        
        //鍒涘緩Configuration瀹炰緥錛孋onfiguration鏄叆鍙o紝閫氳繃瀹冩潵鑾峰緱閰嶇疆鏂囦歡
        cfg = new Configuration();
        //璁劇疆妯℃澘璺緞錛?nbsp;getServletContext(),鎵鏈夋槸鎵鏈夎礬寰勯兘鑳芥嬁鍒扮殑..
        cfg.setServletContextForTemplateLoading(getServletContext(), templateLoaderPath);
        //cfg.setServletContextForTemplateLoading(arg0, arg1)
        //璁劇疆緙栫爜鏍煎紡
        cfg.setEncoding(Locale.getDefault(), defaultEncoding);
        
        //init cache manager
        cache = CacheManager.getInstance();
    }
    
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processRequest(request,response);
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
        processRequest(request,response);
        
    }
    
    private void showRequestParams(HttpServletRequest request){
        Enumeration en = request.getParameterNames();
        while (en.hasMoreElements()) {
            String paramName = (String) en.nextElement();
            String[] paramValues = request.getParameterValues(paramName);
            if (paramValues.length == 1) {
                String paramValue = paramValues[0];
                if (paramValue.length() != 0) {
                    //map.put(paramName, paramValue);
                    //System.out.println(paramName+"\t"+paramValue);
                }
            }else if(paramValues.length >1 ){//checkbox
                //map.put(paramName, paramValues);
                //System.out.println(paramName+"\t"+paramValues);
            }
        }
    }
    
    public void processRequest(HttpServletRequest request, HttpServletResponse response){
        
        try {
            request.setCharacterEncoding(defaultEncoding);
            showRequestParams(request);//waiting back to resolve
        } catch (UnsupportedEncodingException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } // set request encoding
        
        ModelAndView mv = analyzeRequest(request);        
        try {
            invokeActionHandler(mv,request);
            if(mv.getViewPath().endsWith(".ftl")){
                invokeViewResolverHandler(mv , response , request);
            }else{
                response.sendRedirect(mv.getWebroot()+mv.getViewPath());
            }    
        } catch (Exception e) {
            e.printStackTrace();
        }    
    }
    
    public ModelAndView analyzeRequest(HttpServletRequest request){        
        ModelAndView modelAndView = new ModelAndView();            
        logger.debug("request url path is : "+request.getRequestURI());
        String requestPath = request.getRequestURI(); // /newshpt/account!login.do
        String webroot = request.getContextPath() ; // /newshpt
        System.out.println("request url path is : "+requestPath);
        System.out.println("request webroot path is : "+webroot);
        modelAndView.setWebroot(webroot);
        String actionFullName = requestPath.substring(webroot.length()); // /account!login.do
        System.out.println("actionFullName : "+actionFullName);
        String[] temp = actionFullName.split("!");
        String method = "execute";
        if(temp.length==2){
             method = temp[1].split("\\.")[0];
        }
        System.out.println("method : "+method);
        String actionName = temp[0]; // /demo
        System.out.println("actionName : "+actionName);
        String className = actionCoinfig.getClassName(actionName);
        System.out.println("className :"+className);
        modelAndView.setClassName(className);
        modelAndView.setMethodName(method);
        modelAndView.setAction(actionName);
        
        return modelAndView ;
    }
    
    /**
     * invoke the request controller's target method 
     * param ModelAndView will be mofified during the process
     * @param mv
     * @param request
     * @throws Exception 
     */
    public void invokeActionHandler(ModelAndView mv , HttpServletRequest request) throws Exception{
        String className = mv.getClassName();
        String methodName = mv.getMethodName();
        //load class
        Class controllerClass = cache.loadClass(className);
        Class parentControllerClass = cache.loadClass(baseControllerClass);
        //load method
        Method setRequest = cache.loadMethod(parentControllerClass, "setRequest", new Class[] { HttpServletRequest.class });    
        Method setModelAndView = cache.loadMethod(parentControllerClass, "setModelAndView", new Class[] { ModelAndView.class });//org.bluechant.mvc.controller.Controller-setModelAndView@6024418  public void org.bluechant.mvc.controller.Controller.setModelAndView(org.bluechant.mvc.controller.ModelAndView)
        Method targetMethod = cache.loadMethod(controllerClass, methodName, new Class[]{});
        //buiid controller instance and invoke target method
        Object instance = controllerClass.newInstance();
        setRequest.invoke(instance, new Object[] { request });//瀵瑰甫鏈夋寚瀹氬弬鏁扮殑鎸囧畾瀵硅薄璋冪敤鐢辨 Method 瀵硅薄琛ㄧず鐨勫熀紜鏂規硶    
        setModelAndView.invoke(instance, new Object[] { mv });
        targetMethod.invoke(instance, new Object[]{});        
    }
    
    /**
     * send data to view model , and generate the view page by FreeMarker
     */
    public void invokeViewResolverHandler(ModelAndView modelAndView , HttpServletResponse response ,HttpServletRequest request){    
        //convert session attributes to sessionModel , and push to modelAndView
        Map sessionModel = ServletUtils.sessionAttributesToMap(request.getSession());// userSources=[/admin, /button/custom, /custom, /delivery, /loadShip, /unloadPickUp, /unloadShip]
        modelAndView.put("Session", sessionModel);
        response.setContentType(contentType); 
        try {//鍒濆鍖朏reeMarker
            PrintWriter out = response.getWriter();
            Template template = cfg.getTemplate(modelAndView.getViewPath());//鍙栧緱鐢熸垚妯$増鏂囦歡
            template.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);//setTemplateExceptionHandler
            //set the object wrapper , beanwrapper is the perfect useful objectWrapper instance
            template.setObjectWrapper(ObjectWrapper.BEANS_WRAPPER);// 璁劇疆瀵硅薄鍖呰鍣?br />            template.process(modelAndView, out);//妯$増鐜寮濮嬭澆鍏?.
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (TemplateException e) {
            e.printStackTrace();
        }
    }
    
}


smvc-config.xml鏂囦歡:

<?xml version="1.0" encoding="UTF-8"?>
<smvc-config>    
    
<action name="/account" class="com.cenin.tjport.shpt.mvc.controller.AccountController"/>
    
<action name="/yard" class="com.cenin.tjport.shpt.mvc.controller.DuiCunController"/>
</smvc-config>



 



youngturk 2012-05-22 15:08 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久久久亚洲AV无码专区网站| 久久精品无码一区二区三区免费| 免费国产在线观看老王影院| 亚洲中文字幕AV每天更新| 日韩版码免费福利视频| 亚洲一区二区三区在线| 毛片视频免费观看| 亚洲性无码一区二区三区| 成年女人免费碰碰视频| 色综合久久精品亚洲国产| 又爽又黄无遮挡高清免费视频| 美女视频黄频a免费大全视频| 亚洲国产人成精品| 成人影片一区免费观看| 亚洲a一级免费视频| 久久久久久久91精品免费观看| 亚洲精品无码av片| 男人的天堂亚洲一区二区三区 | 久久国产精品免费网站| 久久亚洲精品无码AV红樱桃| 4hu四虎最新免费地址| 亚洲精品无码专区在线播放| 内射无码专区久久亚洲| 国产一区二区免费| 国产精品亚洲精品| 亚洲AⅤ永久无码精品AA| 日韩免费在线视频| 亚洲日韩国产欧美一区二区三区| 免费又黄又硬又爽大片| 久久午夜夜伦鲁鲁片无码免费| 亚洲va在线va天堂成人| 亚洲毛片网址在线观看中文字幕 | 日本一道本不卡免费 | 欧亚一级毛片免费看| 久久亚洲国产午夜精品理论片| 亚洲一区免费视频| 日本黄页网址在线看免费不卡| 亚洲人成网址在线观看| 日韩一级免费视频| 久久99精品国产免费观看| 国产成人亚洲综合在线|