锘??xml version="1.0" encoding="utf-8" standalone="yes"?>色窝窝亚洲AV网在线观看,亚洲精品国精品久久99热,亚洲欧洲免费无码http://www.tkk7.com/kangdy/category/47762.html鎴戝氨鍍廇K47閲屾墦鍑哄幓鐨勫瓙寮廣傜洰鏍嘥MD姘歌繙鍦ㄥ墠鏂廣傛垜鍙兘TMD鎷煎懡鍚戝墠銆?/description>zh-cnSat, 07 Jan 2012 12:59:02 GMTSat, 07 Jan 2012 12:59:02 GMT60(杞澆)鍏充簬paramsPrepareParamsStackhttp://www.tkk7.com/kangdy/archive/2011/11/16/363973.htmlAK47AK47Wed, 16 Nov 2011 07:39:00 GMThttp://www.tkk7.com/kangdy/archive/2011/11/16/363973.htmlhttp://www.tkk7.com/kangdy/comments/363973.htmlhttp://www.tkk7.com/kangdy/archive/2011/11/16/363973.html#Feedback0http://www.tkk7.com/kangdy/comments/commentRss/363973.htmlhttp://www.tkk7.com/kangdy/services/trackbacks/363973.htmlhttp://hi.baidu.com/%CC%AB%C6%BD%D1%F31986/blog/item/110b13b1384e805e08230259.html
杞創

paramsPrepareParamsStack鍦⊿truts 2.0涓槸涓涓緢濂囧鐨刬nterceptor stack錛屼互鑷充簬寰堝浜虹枒闂負浣曚笉灝嗗叾璁劇疆涓洪粯璁ょ殑interceptor stack銆俻aramsPrepareParamsStack涓昏瑙e喅浜哅odelDriven鍜孭reparable鐨勯厤鍚堥棶棰橈紝浠庡瓧闈笂鐞嗚В鏉ヨ錛?榪欎釜stack鐨勬嫤鎴櫒璋冪敤鐨勯『搴忎負錛氶鍏坧arams錛岀劧鍚巔repare錛屾帴涓嬫潵modelDriven錛屾渶鍚庡啀params銆係truts 2.0鐨勮璁′笂瑕佹眰modelDriven鍦╬arams涔嬪墠璋冪敤錛岃屼笟鍔′腑prepare瑕佽礋璐e噯澶噈odel錛屽噯澶噈odel鍙堥渶瑕佸弬鏁幫紝榪欏氨闇瑕佸湪 prepare涔嬪墠榪愯params鎷︽埅鍣ㄨ緗浉鍏沖弬鏁幫紝榪欎釜涔熷氨鏄垱寤簆aramsPrepareParamsStack鐨勫師鍥犮?/span>嫻佺▼濡備笅錛?br />    1. params鎷︽埅鍣ㄩ鍏堢粰action涓殑鐩稿叧鍙傛暟璧嬪鹼紝濡俰d  
   2. prepare鎷︽埅鍣ㄦ墽琛宲repare鏂規硶錛宲repare鏂規硶涓細鏍規嵁鍙傛暟錛屽id錛屽幓璋冪敤涓氬姟閫昏緫錛岃緗甿odel瀵硅薄
   3. modelDriven鎷︽埅鍣ㄥ皢model瀵硅薄鍘嬪叆value stack錛岃繖閲岀殑model瀵硅薄灝辨槸鍦╬repare涓垱寤虹殑
   4. params鎷︽埅鍣ㄥ啀灝嗗弬鏁拌祴鍊肩粰model瀵硅薄
   5. action鐨勪笟鍔¢昏緫鎵ц 渚濇嵁姝tack錛屼竴涓猘ction鐨勪唬鐮侀氬父濡備笅錛?

public class UserAction extends ActionSupport implements ModelDriven, Preparable {
    private User user;
    private int id;
    private UserService service; // user business service

    public void setId(int id) {
        this.id = id;
    }

    /**
     * create a new user if none exists, otherwise load the user with the
     * specified id
     */
    public void prepare() throws Exception {
        if (id == 0) {
            user = new User();
        } else {
            user = service.findUserById(id);
        }
    }

    public Object getModel() {
        return user;
    }

    /**
     * create or update the user and then view the created user
     */
    public String update() {
        if (id == 0) {
            service.create(user);
        } else {
            service.update(user);
        }
        return "redirect";
    }

    /**
     * delete the user and go to a default home page
     */
    public String delete() {
        service.deleteById(id);
        return "home";
    }

    /**
     * show the page allowing the user to view the existing data
     */
    public String view() {
        return "view";
    }

    /**
     * show the page allowing the user to view the existing data and change the
     * values
     */
    public String edit() {
        return "input";
    }

鍦ㄤ笂榪頒唬鐮佷腑錛宔dit鍜寁iew閮戒笉闇瑕佹牴鎹甶d鍐嶄負鐣岄潰鍑嗗鏁版嵁錛屽洜涓簆repare鏂規硶宸茬粡鍑嗗濂戒簡model錛岃繖浜涙柟娉曞緢綆鍗曘傚浜巙pdate 鏂規硶錛宲repare棣栧厛浼氫粠鏁版嵁搴撲腑鍔犺澆鏁版嵁錛岀劧鍚巔arams鎷︽埅鍣ㄤ細灝嗗弬鏁板間粯緇檓odel錛屽湪update鐩存帴鏇存柊灝卞彲浠ワ紝涓嶄細鍑虹幇鏁版嵁琚貢鏇存柊 鐨勬儏鍐點傝薄Hibernate妗嗘灦錛屼細鍒ゆ柇鍝簺瀛楁鏇存柊浜嗭紝鐒跺悗榪涜鏇存柊錛屾ц兘涔熶笉浼氭崯澶便?br /> 閫氳繃paramsPrepareParamsStack鍙互璁╂祦紼嬫洿鏄庣‘錛屼唬鐮佹洿綆媧侊紝涔熸洿鍒╀簬澶у鐨勪氦嫻併?/p>


AK47 2011-11-16 15:39 鍙戣〃璇勮
]]>
(杞澆) Struts 2鏉傝皥錛?錛夛細ValueStack瀵硅薄鐨勪紶閫佸甫鏈哄埗http://www.tkk7.com/kangdy/archive/2011/11/11/363543.htmlAK47AK47Fri, 11 Nov 2011 09:21:00 GMThttp://www.tkk7.com/kangdy/archive/2011/11/11/363543.htmlhttp://www.tkk7.com/kangdy/comments/363543.htmlhttp://www.tkk7.com/kangdy/archive/2011/11/11/363543.html#Feedback0http://www.tkk7.com/kangdy/comments/commentRss/363543.htmlhttp://www.tkk7.com/kangdy/services/trackbacks/363543.htmlStruts 2鏉傝皥錛?錛夛細ValueStack瀵硅薄鐨勪紶閫佸甫鏈?/strong>鍒?/div>浣滆咃細nokiaguy  鍘熸枃鍦板潃錛?a >http://blog.csdn.net/nokiaguy/article/details/4684750
杞創
   浼楁墍鍛ㄧ煡錛孲trut 2鐨凙ction綾婚氳繃灞炴у彲浠ヨ幏寰楁墍鏈夌浉鍏崇殑鍊鹼紝濡傝姹傚弬鏁般丄ction閰嶇疆鍙傛暟銆佸悜鍏朵粬Action浼犻掑睘鎬у鹼紙閫氳繃chain緇撴灉錛夌瓑絳夈傝鑾峰緱 榪欎簺鍙傛暟鍊鹼紝鎴戜滑瑕佸仛鐨勫敮涓涓浠朵簨灝辨槸鍦ˋction綾諱腑澹版槑涓庡弬鏁板悓鍚嶇殑灞炴э紝鍦⊿truts 2璋冪敤Action綾葷殑Action鏂規硶錛堥粯璁ゆ槸execute鏂規硶錛変箣鍓嶏紝灝變細涓虹浉搴旂殑Action灞炴ц祴鍊箋?br />     瑕佸畬鎴愯繖涓姛鑳斤紝鏈夊緢澶х▼搴︿笂錛孲truts 2瑕佷緷璧栦簬ValueStack瀵硅薄銆傝繖涓璞¤瘡絀挎暣涓狝ction鐨勭敓鍛藉懆鏈燂紙姣忎釜Action綾葷殑瀵硅薄瀹炰緥浼氭嫢鏈変竴涓猇alueStack瀵硅薄錛夈傚綋 Struts 2鎺ユ敹鍒頒竴涓?action鐨勮姹傚悗錛屼細鍏堝緩绔婣ction綾葷殑瀵硅薄瀹炰緥錛屽茍涓斿皢Action綾葷殑瀵硅薄瀹炰緥鍘嬪叆ValueStack瀵硅薄涓紙瀹為檯 涓婏紝ValueStack瀵逛簬鐩稿綋涓涓爤錛夛紝鑰孷alueStack綾葷殑setValue鍜宖indValue鏂規硶鍙互璁劇疆鍜岃幏寰桝ction瀵硅薄鐨勫睘鎬?鍊箋係truts 2涓殑鏌愪簺鎷︽埅鍣ㄦ鏄氳繃ValueStack綾葷殑setValue鏂規硶鏉ヤ慨鏀笰ction綾葷殑灞炴у肩殑銆傚params鎷︽埅鍣ㄧ敤浜庡皢璇鋒眰鍙傛暟鍊兼槧灝勫埌鐩?搴旀垚Action綾葷殑灞炴у箋傚湪params鎷︽埅鍣ㄤ腑鍦ㄨ幏寰楄姹傚弬鏁板煎悗錛屼細浣跨敤setValue鏂規硶璁劇疆鐩稿簲鐨凙ction綾葷殑灞炴с?br />     浠庤繖涓鐐瑰彲浠ョ湅鍑猴紝ValueStack瀵硅薄灝辮薄涓涓紶閫佸甫錛屽綋瀹㈡埛绔姹?action鏃訛紝Struts 2鍦ㄥ垱寤虹浉搴旂敤Action瀵硅薄鍚庡氨灝咥ction瀵硅薄鏀懼埌浜哣alueStack浼犻佸甫涓婏紝鐒跺悗ValueStack浼犻佸甫浼氬甫鐫Action瀵硅薄緇忚繃 鑻ュ共鎷︽埅鍣紝鍦ㄦ瘡涓鎷︽埅鍣ㄤ腑閮藉彲浠ラ氳繃ValueStack瀵硅薄璁劇疆鍜岃幏寰桝ction瀵硅薄涓殑灞炴у箋傚疄闄呬笂錛岃繖浜涙嫤鎴櫒灝辯浉褰撲簬嫻佹按綰夸綔涓氥傚鏋滆瀵?Action瀵硅薄榪涜鏌愰」鍔犲伐錛屽啀鍔犱竴涓嫤鎴櫒鍗沖彲錛屽綋涓嶉渶瑕佽繘琛岃繖欏瑰伐浣滄椂錛岀洿鎺ュ皢璇ユ嫤鎴櫒鍘繪帀鍗沖彲銆?/span>
    涓嬮潰鎴戜滑浣跨敤涓涓緥瀛愭潵婕旂ず榪欎釜榪囩▼銆傚湪榪欎釜渚嬪瓙涓疄鐜頒簡涓涓嫤鎴櫒錛岃鎷︽埅鍣ㄧ殑鍔熻兘鏄皢涓涓睘鎬ф枃浠朵腑鐨刱ey-value瀵規槧灝勬垚鐩稿簲鐨勫睘鎬х殑鍊箋傚涓嬮潰鏄竴涓睘鎬ф枃浠剁殑鍐呭錛?br />
    name = 瓚呬漢
    price = 10000

    鎴戜滑鍙互鍦ˋction綾諱腑瀹氫箟name鍜宲rice灞炴э紝鍦ˋction涓紩鐢ㄨ繖涓嫤鎴櫒鍚庯紝灝變細鑷姩涓哄睘鎬ц祴鍊箋?br />     鍦ㄤ嬌鐢ㄨ鎷︽埅鍣ㄦ湁濡備笅瑙勫垯錛?br />     1.  鎷︽埅鍣ㄨ鍙栫殑灞炴ф枃浠惰礬寰勭敱path鍙傛暟鎸囧畾銆?br />     2.  灞炴ф枃浠剁殑緙栫爜鏍煎紡鐢眅ncoding鍙傛暟鎸囧畾錛岄粯璁ゅ兼槸UTF-8銆?br />     3.  濡傛灉鏌愪釜key涓寘鍚湁“.”錛堣絎﹀彿涓嶈兘鍑虹幇鍦ㄦ爣璇嗙涓級錛屽垯鏈夊涓嬪鐞嗘柟娉曪細
    錛?錛夊皢Action綾葷殑灞炴у悕瀹氫箟涓哄幓鎺?#8220;.”鐨刱ey銆備緥濡傦紝key涓簆erson.name錛岃屽睘鎬у悕鍙畾涔変負personname銆?br />     錛?錛夊皢Action綾葷殑灞炴у悕瀹氫箟涓哄皢“.”鏇挎崲鎴愬叾浠栧瓧絎︾殑琛ㄧず絎﹀彿銆備緥濡傦紝key涓簆erson.name錛岃屽睘鎬у悕鍙畾涔変負person_name錛屽叾涓?#8220;_”鐢眘eparator鍙傛暟鎸囧畾銆?br />     4.  濡傛灉key澶暱錛屼篃鍙互鐩存帴浣跨敤Action鍙傛暟榪涜鏄犲皠錛屼緥濡傦紝key涓篶ountry.person.name錛屽彲鍋氬涓嬫槧灝勶細
      <param name="countrypersonname">name</param>
      瑕佹敞鎰忕殑鏄紝name灞炴у間笉鑳藉寘鍚?#8220;.”錛屽洜姝わ紝搴斿皢key鍊間腑鐨?#8220;.”鍘繪帀銆傜幇鍦ㄥ氨鍙互鐩存帴鍦ˋction綾諱腑瀹氫箟鍚嶄負name鐨勫睘鎬х殑錛宯ame灞炴х殑鍊間細涓巏ey鍊肩浉鍚屻?br />     5.  涓婇潰鎵鏈夌殑瑙勫垯鍙互鍚屾椂浣跨敤銆?br />
鎷︽埅鍣ㄧ殑婧愪唬鐮侊細

package interceptors;

import java.util.Enumeration;
import java.util.Map;
import java.util.Properties;
import java.io.InputStream;
import java.io.FileInputStream;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import com.opensymphony.xwork2.util.ValueStack;

public class PropertyInterceptor extends AbstractInterceptor
{
    
private static final String DEFAULT_PATH_KEY = "path";
    
private static final String DEFAULT_ENCODING_KEY = "encoding";
    
private static final String DEFAULT_SEPARATOR_KEY = "separator";

    
protected String pathKey = DEFAULT_PATH_KEY;
    
protected String encodingKey = DEFAULT_ENCODING_KEY;
    
protected String separatorKey = DEFAULT_SEPARATOR_KEY;

    
public void setPathKey(String pathKey) 
    {
        
this.pathKey = pathKey;
    }

    
public void setEncodingKey(String encodingKey)
    {
        
this.encodingKey = encodingKey;
    }

    
public void setSeparatorKey(String separatorKey)
    {
        
this.separatorKey = separatorKey;
    }

    @Override
    
public String intercept(ActionInvocation invocation) throws Exception
    {
        ActionConfig config 
= invocation.getProxy().getConfig();

        Map
<String, String> parameters = config.getParams();
        
if (parameters.containsKey(pathKey))
        {
            String path 
= parameters.get(pathKey);
            String encoding 
= parameters.get(encodingKey);
            String separator 
= parameters.get(separatorKey);
            
if (encoding == null)
                encoding 
= "UTF-8";
            
if (separator == null)
                separator 
= "";
            path 
= invocation.getAction().getClass().getResource(path)
                    .getPath();
            Properties properties 
= new Properties();
            InputStream is 
= new FileInputStream(path);
            java.io.Reader reader 
= new java.io.InputStreamReader(is, encoding);
            
            properties.load(reader);
            ActionContext ac 
= invocation.getInvocationContext();
            ValueStack stack 
= ac.getValueStack();
            System.out.println(stack.hashCode());
            Enumeration names 
= properties.propertyNames();
            
while (names.hasMoreElements())
            {
                
//  涓嬮潰浼氫嬌鐢╯etValue鏂規硶淇敼ValueStack瀵硅薄涓殑鐩稿簲灞炴у?/span>
                String name = names.nextElement().toString();
                
if (!name.contains("."))
                    stack.setValue(name, properties.get(name)); 

                String newName 
= null;
                newName 
= parameters.get(name.replaceAll("//."""));
                
if (newName != null)
                    stack.setValue(newName, properties.get(name));

                
if (!separator.equals(""))
                {
                    newName 
= name.replaceAll("//.""");
                    stack.setValue(newName, properties.get(name));
                }               
                newName 
= name.replaceAll("//.", separator);
                stack.setValue(newName, properties.get(name));
            } 
        }
        
return invocation.invoke();
    }
}

鐢ㄤ簬嫻嬭瘯鐨凙ction綾葷殑婧愪唬鐮侊細

package actions;

public class MyAction
{
    
private String name;
    
private Integer price;
    
private String log4jappenderstdout;
    
private String log4j_rootLogger;
    
private String conversionPattern;

    
public String getName()
    {
        
return name;
    }

    
public void setName(String name)
    {
        
this.name = name;
    }

    
public Integer getPrice()
    {
        
return price;
    }

    
public void setPrice(Integer price)
    {
        
this.price = price;
    }

    
public String getLog4jappenderstdout()
    {
        
return log4jappenderstdout;
    }

    
public void setLog4jappenderstdout(String log4jappenderstdout)
    {
        
this.log4jappenderstdout = log4jappenderstdout;
    }

    
public String getLog4j_rootLogger()
    {
        
return log4j_rootLogger;
    }

    
public void setLog4j_rootLogger(String log4j_rootLogger)
    {
        
this.log4j_rootLogger = log4j_rootLogger;
    }

    
public String getConversionPattern()
    {
        
return conversionPattern;
    }

    
public void setConversionPattern(String conversionPattern)
    {
        
this.conversionPattern = conversionPattern;
    }

    
public String execute()
    {
        System.out.println(
"name:" + name);
        System.out.println(
"price:" + price);
        System.out.println(
"log4jappenderstdout:" + log4jappenderstdout);
        System.out.println(
"log4j_rootLogger:" + log4j_rootLogger);
        System.out.println(
"conversionPattern:" + conversionPattern);
        
return null;
    }
}

Action綾葷殑閰嶇疆浠g爜濡傦細

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd"
>
<struts>
    
<package name="struts" extends="struts-default">

        
<interceptors>
            
<interceptor name="property"
                class
="interceptors.PropertyInterceptor" />
            
<interceptor-stack name="myStack">
                
<interceptor-ref name="defaultStack" />
                
<interceptor-ref name="property" />
            
</interceptor-stack>
        
</interceptors>
        
<action name="test" class="actions.MyAction">
            
<interceptor-ref name="myStack" />
            
<param name="path">/log4j.properties</param>
            
<param name="encoding">UTF-8</param>
            
<param name="separator">_</param>
            
<param name="log4jappenderstdoutlayoutConversionPattern">
                conversionPattern
            
</param>

        
</action>
    
</package>
</struts>

  璇峰皢log4j.properties鏂囦歡澶嶅埗鍒癢EB-INF/classes鐩綍錛屽茍鍦ㄨ鏂囦歡涓姞鍏ame鍜宲rice灞炴с?br />
嫻嬭瘯緇撴灉錛?br />
name:涓浗
price:
34
log4jappenderstdout:org.apache.log4j.ConsoleAppender
log4j_rootLogger:error
, stdout
conversionPattern:%d{ABSOLUTE} %5p %c{
1}:%L - %m%n

    鐢變簬property鎷︽埅鍣ㄥ湪defaultStack鍚庡紩鐢紝鍥犳錛屽湪璇ユ嫤鎴櫒涓緗殑灞炴у兼槸鏈緇堢粨鏋滐紝濡傛灉灝唒roperty鎷︽埅鍣ㄦ斁鍦?defaultStack鍓嶉潰錛堝皢涓や釜<interceptor-ref>鍏冪礌鎺夋崲涓涓嬶級錛屽氨鍙互閫氳繃鍚屽悕鑳淎ction閰嶇疆鍙傛暟鎴栬姹傚弬鏁?鏉ュ共棰勬渶緇堢┒杈撳嚭緇撴灉浜嗐?


AK47 2011-11-11 17:21 鍙戣〃璇勮
]]>
(杞創)Struts2鏁版嵁浼犺緭鐨勮儗鍚庢満鍒訛細ValueStack錛堝兼爤錛?/title><link>http://www.tkk7.com/kangdy/archive/2011/11/11/363537.html</link><dc:creator>AK47</dc:creator><author>AK47</author><pubDate>Fri, 11 Nov 2011 08:19:00 GMT</pubDate><guid>http://www.tkk7.com/kangdy/archive/2011/11/11/363537.html</guid><wfw:comment>http://www.tkk7.com/kangdy/comments/363537.html</wfw:comment><comments>http://www.tkk7.com/kangdy/archive/2011/11/11/363537.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kangdy/comments/commentRss/363537.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kangdy/services/trackbacks/363537.html</trackback:ping><description><![CDATA[     鎽樿: 錛堣漿錛塖truts2鏁版嵁浼犺緭鐨勮儗鍚庢満鍒訛細ValueStack錛堝兼爤錛夊師鏂囧湴鍧 錛歨ttp://blog.csdn.net/li_tengfei/article/details/6098134杞澆 1.     鏁版嵁浼犺緭鑳屽悗鏈哄埗錛歏alueStack(鍊兼爤)   鍦ㄨ繖涓鍒囩殑鑳屽悗錛屾槸鍥犱負鏈変簡ValueStack錛堝兼爤錛夛紒   Valu...  <a href='http://www.tkk7.com/kangdy/archive/2011/11/11/363537.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/kangdy/aggbug/363537.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kangdy/" target="_blank">AK47</a> 2011-11-11 16:19 <a href="http://www.tkk7.com/kangdy/archive/2011/11/11/363537.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>structs2閰嶇疆UrlRewriteFilter http://www.tkk7.com/kangdy/archive/2011/11/09/363318.htmlAK47AK47Wed, 09 Nov 2011 09:22:00 GMThttp://www.tkk7.com/kangdy/archive/2011/11/09/363318.htmlhttp://www.tkk7.com/kangdy/comments/363318.htmlhttp://www.tkk7.com/kangdy/archive/2011/11/09/363318.html#Feedback0http://www.tkk7.com/kangdy/comments/commentRss/363318.htmlhttp://www.tkk7.com/kangdy/services/trackbacks/363318.html杞澆姣忎釜緗戦〉鎴栬姹傞兘鏄竴涓猽rl鍦板潃錛屼竴鑸紝榪欎釜鍦板潃鍙兘鏄?do,.page,.action涔嬬被鐨勫茍鍔犱笂'?'鍙楓?&'鍙鋒煡璇覆絳夋瀯鎴愮殑涓涓暱闀跨殑鐨剈rl銆傚緢urgly銆?

涓鑸殑url----------------------------------------------------------杈冨ソ鐨剈rl
http://www.xxx.net/user/profile.do?id=20001   ====> http://www.xxx.net/user/20001
http://www.xxx.net/forum/board.do?name=java   ====> http://www.xxx.net/forum/java
http://www.xxx.net/forum/thread.do?id=29923   ====> http://www.xxx.net/thread/29923

鍚庤呮槑鏄捐緝涓虹洿瑙傚拰婕備寒銆?

浣跨敤url rewrite鍙互寰堝ソ鐨勬敼鍠勮繖涓姸鍐點傜綉绔檜rl rewrite搴旂敤鏄潪甯稿箍娉涚殑錛岃壇濂界殑url璁捐緇欑敤鎴峰甫鏉ョ殑闈炲父濂界殑浣撻獙錛屽悓鏃朵篃鑳藉惛寮曟悳绱㈠紩鎿庣殑娉ㄦ剰銆?/fieldset>鍘熸枃鍦板潃錛?a >http://www.iteye.com/topic/53834
浣跨敤鏂瑰紡錛?/strong>
1 閰嶇疆web.xml鏂囦歡
鏍蜂緥錛?/strong>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter>
        <filter-name>osivFilter</filter-name>
        <filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <listener>
        <listener-class>
            org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>
    <filter-mapping>
        <filter-name>osivFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!--閰嶇疆UrlRewriteFilter榪囨護鍣?->
    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>*.html</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter>
        <filter-name>struts-prepare</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
        <init-param>
            <param-name>actionPackages</param-name>
            <param-value>com.secneo.action.*.*</param-value>
        </init-param>
    </filter>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter>
        <filter-name>struts-execute</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
    </filter>
    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <!--鍦╯tructs2涓嬌鐢║rlRewriteFilter榪囨護鍣?->
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.tld</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.tag</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>struts-prepare</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-prepare</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-prepare</filter-name>
        <url-pattern>*.tld</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>struts-execute</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-execute</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-execute</filter-name>
        <url-pattern>*.tld</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>*.tld</url-pattern>
    </filter-mapping>
    <listener>
        <listener-class>
            org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    </listener>
2  鍦╓EB-INF鐩綍涓嬫坊鍔爑rlrewrite.xml 鏂囦歡錛屾牴鎹叿浣撻渶瑕佸啓瑙勫垯銆?/span>
鏍蜂緥錛?/strong>
<?xml version="1.0" encoding="utf-8"?>
<urlrewrite>
    <rule>
        <from>^/(.*).html$</from>
        <to type="forward">/$1.action</to>
    </rule>
    <rule>
        <from>^/(.*).html?(.*)$</from>
        <to type="forward">/$1.action?$2</to>
    </rule>
</urlrewrite>


AK47 2011-11-09 17:22 鍙戣〃璇勮
]]>
structs2 filter鐨勬墽琛岄『搴?/title><link>http://www.tkk7.com/kangdy/archive/2011/11/09/363301.html</link><dc:creator>AK47</dc:creator><author>AK47</author><pubDate>Wed, 09 Nov 2011 07:44:00 GMT</pubDate><guid>http://www.tkk7.com/kangdy/archive/2011/11/09/363301.html</guid><wfw:comment>http://www.tkk7.com/kangdy/comments/363301.html</wfw:comment><comments>http://www.tkk7.com/kangdy/archive/2011/11/09/363301.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kangdy/comments/commentRss/363301.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kangdy/services/trackbacks/363301.html</trackback:ping><description><![CDATA[<div>鏍規嵁servlet2.3瑙勮寖filter鎵ц鏄寜鐓eb.xml閰嶇疆鐨刦ilter-mapping鍏堝悗欏哄簭榪涜鎵ц銆?br />鎵浠ヨ嚜宸遍厤緗殑榪囨護鍣ㄦ斁鍦╯tructs2鐨勮繃婊ゅ櫒涔嬪墠銆?/div><img src ="http://www.tkk7.com/kangdy/aggbug/363301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kangdy/" target="_blank">AK47</a> 2011-11-09 15:44 <a href="http://www.tkk7.com/kangdy/archive/2011/11/09/363301.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>structs2鎷︽埅鍣?/title><link>http://www.tkk7.com/kangdy/archive/2011/11/08/363205.html</link><dc:creator>AK47</dc:creator><author>AK47</author><pubDate>Tue, 08 Nov 2011 10:35:00 GMT</pubDate><guid>http://www.tkk7.com/kangdy/archive/2011/11/08/363205.html</guid><wfw:comment>http://www.tkk7.com/kangdy/comments/363205.html</wfw:comment><comments>http://www.tkk7.com/kangdy/archive/2011/11/08/363205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kangdy/comments/commentRss/363205.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kangdy/services/trackbacks/363205.html</trackback:ping><description><![CDATA[<strong>娣卞叆struct2鎷︽埅鍣?/strong>  榪欑瘒鏂囩珷寰堝ソ錛岀粏鑷磋瑙d簡structs2鍜屾嫤鎴櫒鐨勫師鐞嗐?br /><div><a >http://zhanghong.iteye.com/blog/452465</a><br /><fieldset><legend>杞澆</legend><span>鍦ㄦ瘡嬈″浣犵殑 Action鐨?execute()鏂規硶璇鋒眰鏃訛紝緋葷粺浼氱敓鎴愪竴涓?ActionInvocation瀵硅薄錛岃繖涓璞′繚瀛樹簡 action鍜屼綘鎵閰嶇疆鐨勬墍鏈夌殑鎷︽埅鍣ㄤ互鍙婁竴浜涚姸鎬佷俊鎭傛瘮濡備綘鐨勫簲鐢ㄤ嬌鐢ㄧ殑鏄?defaultStack錛岀郴緇熷皢浼氫互鎷︽埅鍣ㄦ爤閰嶇疆鐨勯『搴忓皢姣忎釜鎷︽埅鍣ㄥ寘瑁呮垚涓涓釜 InterceptorMapping(鍖呭惈鎷︽埅鍣ㄥ悕瀛楀拰瀵瑰簲鐨勬嫤鎴櫒瀵硅薄 )緇勬垚涓涓?Iterator淇濆瓨鍦?ActionInvocation涓傚湪鎵ц ActionInvocation鐨?invoke()鏂規硶鏃朵細瀵硅繖涓?Iterator榪涜榪唬錛屾瘡嬈″彇鍑轟竴涓?InterceptorMapping錛岀劧鍚庢墽琛屽搴?Interceptor鐨?intercept(ActionInVocation inv)鏂規硶錛岃?intercept(ActionInInvocation inv)鏂規硶鍙堝寘鍚綋鍓嶇殑 ActionInInvcation瀵硅薄浣滀負鍙傛暟錛岃屽湪姣忎釜鎷︽埅鍣ㄤ腑鍙堜細璋冪敤 inv鐨?invoke()鏂規硶錛岃繖鏍峰氨浼氳繘鍏ヤ笅涓涓嫤鎴櫒鎵ц浜嗭紝榪欐牱鐩村埌鏈鍚庝竴涓嫤鎴櫒鎵ц瀹岋紝鐒跺悗鎵ц Action鐨?execute()鏂規硶 (鍋囪浣犳病鏈夐厤緗闂柟娉曪紝榛樿鎵ц Action鐨?execute()鏂規硶 )銆傚湪鎵ц瀹?execute()鏂規硶鍙栧緱浜?result鍚庡張浠ョ浉鍙嶇殑欏哄簭璧板嚭鎷︽埅鍣ㄦ爤錛岃繖鏃跺彲浠ュ仛浜涙竻鐞嗗伐浣溿傛渶鍚庣郴緇熷緱鍒頒簡涓涓?result錛岀劧鍚庢牴鎹?result鐨勭被鍨嬪仛榪涗竴姝ユ搷浣溿?/span></fieldset><br /><div><strong>閰嶇疆鎷︽埅鍣細</strong>Struts2涓彁渚涗簡澶ч噺鐨勬嫤鎴櫒錛屽涓嫤鎴櫒鍙互緇勬垚涓涓嫤鎴櫒鏍堬紝緋葷粺閰嶇疆浜嗕竴涓粯璁ょ殑鎷︽埅鍣ㄦ爤 defaultStack錛屽叿浣撳寘鎷偅浜涙嫤鎴櫒浠ュ強欏哄簭鍙互鍦╯truts-default.xml涓壘鍒般?br />1) <br /><package name="default" extends="struts-default"><br />   <interceptors><br />       <interceptor name="timer" class=".."/><br />       <interceptor name="logger" class=".."/><br />   </interceptors><br /><br />   <action name="login"<br />      class="tutorial.Login"><br />        <interceptor-ref name="timer"/><br />        <interceptor-ref name="logger"/><br />         <result name="input">login.jsp</result><br />         <result name="success"<br />            type="redirectAction">/secure/home</result><br />   </action><br /></package><br /><br />2)<br /><package name="default" extends="struts-default"><br />   <interceptors><br />        <interceptor name="timer" class=".."/><br />        <interceptor name="logger" class=".."/><br />        <interceptor-stack name="myStack"><br />           <interceptor-ref name="timer"/><br />           <interceptor-ref name="logger"/><br />       <interceptor-ref name="defaultStack"/>    <br />        </interceptor-stack><br />    </interceptors><br /><br /><action name="login"<br />     class="tutuorial.Login"><br />         <interceptor-ref name="myStack"/><br />         <result name="input">login.jsp</result><br />         <result name="success"<br />             type="redirectAction">/secure/home</result><br /></action><br /></package><br /><br /><strong>鎷︽埅鍣ㄦ墽琛岄『搴忥細</strong><br /><interceptor-stack name="xaStack"><br />  <interceptor-ref name="thisWillRunFirstInterceptor"/><br />  <interceptor-ref name="thisWillRunNextInterceptor"/><br />  <interceptor-ref name="followedByThisInterceptor"/><br />  <interceptor-ref name="thisWillRunLastInterceptor"/><br /></interceptor-stack><br /><br />鎵ц欏哄簭錛?br />thisWillRunFirstInterceptor<br />  thisWillRunNextInterceptor<br />    followedByThisInterceptor<br />      thisWillRunLastInterceptor<br />        MyAction1<br />        MyAction2 (chain)<br />        MyPreResultListener<br />        MyResult (result)<br />      thisWillRunLastInterceptor<br />    followedByThisInterceptor<br />  thisWillRunNextInterceptor<br />thisWillRunFirstInterceptor<br /><br /><br /><strong>鑷畾涔夋嫤鎴櫒:</strong>蹇呴』瀹炵幇 com.opensymphony.xwork2.interceptor.Interceptor 涔熷彲浠ョ戶鎵?AbstractInterceptor<br /><br /><span style="color: #ff0000;">鎷︽埅鍣ㄨ淇濊瘉綰跨▼瀹夊叏銆傚洜涓簊tructs2涓嫤鎴櫒浼氬湪璇鋒眰闂村叡浜?/span></div></div><img src ="http://www.tkk7.com/kangdy/aggbug/363205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kangdy/" target="_blank">AK47</a> 2011-11-08 18:35 <a href="http://www.tkk7.com/kangdy/archive/2011/11/08/363205.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>(杞創)struts2 宸ヤ綔鍘熺悊鍥?/title><link>http://www.tkk7.com/kangdy/archive/2011/11/08/363179.html</link><dc:creator>AK47</dc:creator><author>AK47</author><pubDate>Tue, 08 Nov 2011 07:10:00 GMT</pubDate><guid>http://www.tkk7.com/kangdy/archive/2011/11/08/363179.html</guid><wfw:comment>http://www.tkk7.com/kangdy/comments/363179.html</wfw:comment><comments>http://www.tkk7.com/kangdy/archive/2011/11/08/363179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kangdy/comments/commentRss/363179.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kangdy/services/trackbacks/363179.html</trackback:ping><description><![CDATA[     鎽樿: 鍘熻創鍦板潃錛歨ttp://blog.csdn.net/qjyong/article/details/1795833杞創 鏈榪戝涔爏truts2錛屽叾瀹炲畠灝辨槸webwork2.2鐨勫崌綰х増錛岀幇闄勪笂鍘熺悊鍥? 涓婂浘鏉ユ簮浜嶴truts2瀹樻柟绔欑偣錛屾槸Struts 2 鐨勬暣浣撶粨鏋勩備竴涓姹傚湪Struts2妗嗘灦涓殑澶勭悊澶ф鍒嗕負浠ヤ笅鍑犱釜姝ラ1 瀹㈡埛绔垵濮嬪寲涓涓寚鍚慡ervlet瀹瑰櫒錛堜緥濡俆omcat錛夌殑璇鋒眰2 ...  <a href='http://www.tkk7.com/kangdy/archive/2011/11/08/363179.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/kangdy/aggbug/363179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kangdy/" target="_blank">AK47</a> 2011-11-08 15:10 <a href="http://www.tkk7.com/kangdy/archive/2011/11/08/363179.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Structs鐨勭嚎紼嬪畨鍏ㄩ棶棰?/title><link>http://www.tkk7.com/kangdy/archive/2009/10/29/300201.html</link><dc:creator>AK47</dc:creator><author>AK47</author><pubDate>Thu, 29 Oct 2009 08:26:00 GMT</pubDate><guid>http://www.tkk7.com/kangdy/archive/2009/10/29/300201.html</guid><wfw:comment>http://www.tkk7.com/kangdy/comments/300201.html</wfw:comment><comments>http://www.tkk7.com/kangdy/archive/2009/10/29/300201.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kangdy/comments/commentRss/300201.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kangdy/services/trackbacks/300201.html</trackback:ping><description><![CDATA[<p>浠ュ墠鍋氳繃Structs 鐨勯」鐩?鍙槸涓鐩存病鍋氬お娣辯殑鐮旂┒,灝ゅ叾鏄叧浜庣嚎紼嬪畨鍏ㄧ殑<br /> 鍦ㄧ綉涓婃悳浜嗕竴涓嬪緢澶氳繖鏂歸潰鐨勮祫鏂?寮曠敤浜嗕竴浜?鎬葷粨浜嗕竴涓?</p> <fieldset><legend>鎬葷粨錛?/legend>Struts1 Action鏄崟渚嬫ā寮忓茍涓斿繀欏繪槸綰跨▼瀹夊叏鐨勶紝鍥犱負浠呮湁Action鐨勪竴涓疄渚嬫潵澶勭悊鎵鏈夌殑璇鋒眰銆傚崟渚嬬瓥鐣ラ檺鍒朵簡Struts1 Action鑳戒綔鐨勪簨錛屽茍涓旇鍦ㄥ紑鍙戞椂鐗瑰埆灝忓績銆侫ction璧勬簮蹇呴』鏄嚎紼嬪畨鍏ㄧ殑鎴栧悓姝ョ殑銆?br /> Struts2 Action鍙互浣跨敤鍘熷瀷妯″紡scope=prototype,榪欐牱瀵硅薄涓烘瘡涓涓姹備駭鐢熶竴涓疄渚嬶紝鍥犳娌℃湁綰跨▼瀹夊叏闂銆傦紙瀹為檯涓婏紝servlet瀹瑰櫒緇欐瘡涓姹備駭鐢熻澶氬彲涓㈠純鐨勫璞★紝騫朵笖涓嶄細瀵艱嚧鎬ц兘鍜屽瀮鍦懼洖鏀墮棶棰橈級</fieldset> <p> </p> <p>榪欑瘒鏂囩珷瀵逛粈涔堟槸綰跨▼瀹夊叏鐨勪唬鐮佸拰濡備綍浣跨敤綰跨▼瀹夊叏鐨勪唬鐮佸仛浜嗚緇嗛槓榪?br /> <a >http://hi.baidu.com/niujunkai/blog/item/021964adc130660a4a36d6ab.html</a><br /> 涓嬮潰鏄畠鍐呭鐨勫紩鐢?</p> <fieldset><legend>寮曠敤:</legend> <p>1.浠涔堟槸綰跨▼瀹夊叏鐨勪唬鐮?br /> 鍦ㄥ綰跨▼鐜涓嬭兘姝g‘鎵ц鐨勪唬鐮佸氨鏄嚎紼嬪畨鍏ㄧ殑銆?br /> 瀹夊叏鐨勬剰鎬濇槸鑳芥紜墽琛岋紝鍚﹀垯鍚庢灉鏄▼搴忔墽琛岄敊璇紝鍙兘鍑虹幇鍚勭寮傚父鎯呭喌銆?/p> <p>2.濡備綍緙栧啓綰跨▼瀹夊叏鐨勪唬鐮?br /> 寰堝涔︾睄閲岄兘璇︾粏璁茶В浜嗗浣曡繖鏂歸潰鐨勯棶棰橈紝浠栦滑涓昏璁茶В鐨勬槸濡備綍鍚屾綰跨▼瀵瑰叡浜祫婧愮殑浣跨敤鐨勯棶棰樸備富瑕佹槸瀵箂ynchronized鍏抽敭瀛楃殑鍚勭鐢ㄦ硶錛屼互鍙婇攣鐨勬蹇點侸ava1.5涓篃鎻愪緵浜嗗璇誨啓閿佽繖綾葷殑宸ュ叿綾匯傝繖浜涢兘闇瑕佽緝楂樼殑鎶宸э紝鑰屼笖鐩稿闅句簬璋冭瘯銆?/p> <p>浣嗘槸錛岀嚎紼嬪悓姝ユ槸涓嶅緱浠ョ殑鏂規硶,鏄瘮杈冨鏉傜殑,鑰屼笖浼氬甫鏉ユц兘鐨勬崯澶便傜瓑鏁堢殑浠g爜涓紝涓嶉渶瑕佸悓姝ュ湪緙栧啓瀹規槗搴﹀拰鎬ц兘涓婁細鏇村ソ浜涖?br /> 鎴戣繖閲屽己璋冪殑鏄粈涔堜唬鐮佹槸濮嬬粓涓虹嚎紼嬪畨鍏ㄧ殑銆佹槸涓嶉渶瑕佸悓姝ョ殑銆傚涓?<br /> 1)甯擱噺濮嬬粓鏄嚎紼嬪畨鍏ㄧ殑錛屽洜涓哄彧瀛樺湪璇繪搷浣溿?br /> 2)瀵規瀯閫犲櫒鐨勮闂?new 鎿嶄綔)鏄嚎紼嬪畨鍏ㄧ殑錛屽洜涓烘瘡嬈¢兘鏂板緩涓涓疄渚嬶紝涓嶄細璁塊棶鍏變韓鐨勮祫婧愩?br /> 3)鏈閲嶈鐨勬槸:灞閮ㄥ彉閲忔槸綰跨▼瀹夊叏鐨勩傚洜涓烘瘡鎵ц涓涓柟娉曪紝閮戒細鍦ㄧ嫭绔嬬殑絀洪棿鍒涘緩灞閮ㄥ彉閲忥紝瀹冧笉鏄叡浜殑璧勬簮銆傚眬閮ㄥ彉閲忓寘鎷柟娉曠殑鍙傛暟鍙橀噺銆?br /> struts user guide閲屾湁錛?br /> Only Use Local Variables - The most important principle that aids in thread-safe coding is to use only local variables, not instance variables , in your Action class.<br /> 璇?鍙嬌鐢ㄧ敤灞閮ㄥ彉閲忋?-緙栧啓綰跨▼瀹夊叏鐨勪唬鐮佹渶閲嶈鐨勫師鍒欏氨鏄紝鍦ˋction綾諱腑鍙嬌鐢ㄥ眬閮ㄥ彉閲忥紝涓嶄嬌鐢ㄥ疄渚嬪彉閲忋?/p> <p><br /> 鎬葷粨錛?br /> 鍦↗ava鐨刉eb鏈嶅姟鍣ㄧ幆澧冧笅寮鍙戯紝瑕佹敞鎰忕嚎紼嬪畨鍏ㄧ殑闂銆傛渶綆鍗曠殑瀹炵幇鏂瑰紡灝辨槸鍦⊿ervlet鍜孲truts Action閲屼笉瑕佷嬌鐢ㄧ被鍙橀噺銆佸疄渚嬪彉閲忥紝浣嗗彲浠ヤ嬌鐢ㄧ被甯擱噺鍜屽疄渚嬪父閲忋傚鏋滄湁榪欎簺鍙橀噺錛屽彲浠ュ皢瀹冧滑杞崲涓烘柟娉曠殑鍙傛暟浼犲叆錛屼互娑堥櫎瀹冧滑銆?br /> 娉ㄦ剰涓涓鏄撴販娣嗙殑鍦版柟錛氳Servlet鎴朅ction璋冪敤鐨勭被涓?濡傚煎璞°侀鍩熸ā鍨嬬被)涓槸鍚﹀彲浠ュ畨鍏ㄧ殑浣跨敤瀹炰緥鍙橀噺錛熷鏋滀綘鍦ㄦ瘡嬈℃柟娉曡皟鐢ㄦ椂<br /> 鏂板緩涓涓 璞★紝鍐嶈皟鐢ㄥ畠浠殑鏂規硶錛屽垯涓嶅瓨鍦ㄥ悓姝ラ棶棰?--鍥犱負瀹冧滑涓嶆槸澶氫釜綰跨▼鍏變韓鐨勮祫婧愶紝鍙湁鍏變韓鐨勮祫婧愭墠闇瑕佸悓姝?--鑰孲ervlet鍜孉ction鐨勫疄渚嬪浜庡涓嚎紼嬫槸鍏變韓 鐨勩?br /> 鎹㈠彞璇濊錛孲ervlet鍜孉ction鐨勫疄渚嬩細琚涓嚎紼嬪悓鏃惰皟鐢紝鑰岃繃浜嗚繖涓灞?濡傛灉鍦ㄤ綘鑷繁鐨勪唬鐮佷腑娌℃湁鍙﹀鍚姩綰跨▼錛屼笖姣忔璋冪敤鍚庣畫涓氬姟瀵硅薄鏃墮兘鏄厛 鏂板緩涓涓疄渚嬪啀璋冪敤錛屽垯閮芥槸綰跨▼瀹夊叏鐨勩?/p> </fieldset> <p> </p> <p>濡傛灉鎯沖姞娣辯悊瑙ervlet鐨勫綰跨▼鍙互璇昏姝ゆ枃錛岄槓榪扮殑寰堣緇嗐?br /> <a >http://hi.baidu.com/platon/blog/item/64a20ff3f96e7fce0b46e031.html</a></p><img src ="http://www.tkk7.com/kangdy/aggbug/300201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kangdy/" target="_blank">AK47</a> 2009-10-29 16:26 <a href="http://www.tkk7.com/kangdy/archive/2009/10/29/300201.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://w9366.com" target="_blank">日韩精品无码永久免费网站</a>| <a href="http://www77753.com" target="_blank">亚洲人成在线播放网站岛国</a>| <a href="http://pj9xx6.com" target="_blank">国产免费一区二区三区VR</a>| <a href="http://taojin5.com" target="_blank">成年女人男人免费视频播放</a>| <a href="http://cao8080.com" target="_blank">999国内精品永久免费观看</a>| <a href="http://556228.com" target="_blank">91免费国产自产地址入</a>| <a href="http://99999pp.com" target="_blank">97免费人妻无码视频</a>| <a href="http://5g6z.com" target="_blank">无码日韩人妻av一区免费</a>| <a href="http://dcqzr.com" target="_blank">欧美日韩国产免费一区二区三区</a>| <a href="http://caocl1024liu.com" target="_blank">av免费不卡国产观看</a>| <a href="http://b2b-chinese.com" target="_blank">最近中文字幕免费mv视频7</a>| <a href="http://okbala.com" target="_blank">嫩草影院免费观看</a>| <a href="http://wwwby1385.com" target="_blank">日本19禁啪啪无遮挡免费动图</a>| <a href="http://918989b.com" target="_blank">青草草在线视频永久免费</a>| <a href="http://bjlfggcm.com" target="_blank">国产精品成人免费综合</a>| <a href="http://dd99com.com" target="_blank">免费真实播放国产乱子伦</a>| <a href="http://shaolingtongluo.com" target="_blank">免费一级特黄特色大片在线</a>| <a href="http://gayhh.com" target="_blank">亚洲精品美女久久久久99小说</a>| <a href="http://socgl.com" target="_blank">国产亚洲成归v人片在线观看</a>| <a href="http://thinkchating.com" target="_blank">伊人久久大香线蕉亚洲五月天</a>| <a href="http://w7759.com" target="_blank">亚洲国产精品特色大片观看完整版</a>| <a href="http://jiajuco.com" target="_blank">亚洲三级电影网站</a>| <a href="http://aiwoqi.com" target="_blank">中文字幕在线观看亚洲视频</a>| <a href="http://dajiaody.com" target="_blank">亚洲成AV人影片在线观看</a>| <a href="http://4p5e.com" target="_blank">日韩在线一区二区三区免费视频</a>| <a href="http://517qq.com" target="_blank">成人免费av一区二区三区</a>| <a href="http://changfafangzhi.com" target="_blank">无码AV片在线观看免费</a>| <a href="http://w7768.com" target="_blank">999久久久免费精品国产</a>| <a href="http://sdcwpfw.com" target="_blank">国产一区视频在线免费观看 </a>| <a href="http://xxyy66.com" target="_blank">jizz在线免费观看</a>| <a href="http://shnisda.com" target="_blank">a级毛片高清免费视频</a>| <a href="http://508009.com" target="_blank">最近中文字幕2019高清免费</a>| <a href="http://tzkanglong.com" target="_blank">免费无码肉片在线观看</a>| <a href="http://5shitou.com" target="_blank">波多野结衣一区二区免费视频</a>| <a href="http://sdzntg.com" target="_blank">亚洲精品国产成人片</a>| <a href="http://cnpc1002.com" target="_blank">中文字幕亚洲精品资源网</a>| <a href="http://455zx.com" target="_blank">亚洲日韩国产二区无码</a>| <a href="http://caocl1024liu.com" target="_blank">免费激情网站国产高清第一页</a>| <a href="http://ddhlj.com" target="_blank">国产精品99精品久久免费</a>| <a href="http://boyonet.com" target="_blank">国产精品无码免费播放</a>| <a href="http://www621f.com" target="_blank">久久精品国产亚洲精品</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>