锘??xml version="1.0" encoding="utf-8" standalone="yes"?>超碰在线人人,国产aⅴ综合色,99视频有精品高清视频http://www.aygfsteel.com/yuxh/category/42821.htmlwayzh-cnThu, 31 May 2012 00:33:34 GMTThu, 31 May 2012 00:33:34 GMT60Builder妯″紡http://www.aygfsteel.com/yuxh/archive/2012/05/30/379576.htmlyuxhyuxhWed, 30 May 2012 09:44:00 GMThttp://www.aygfsteel.com/yuxh/archive/2012/05/30/379576.htmlhttp://www.aygfsteel.com/yuxh/comments/379576.htmlhttp://www.aygfsteel.com/yuxh/archive/2012/05/30/379576.html#Feedback0http://www.aygfsteel.com/yuxh/comments/commentRss/379576.htmlhttp://www.aygfsteel.com/yuxh/services/trackbacks/379576.htmltelescoping constructor錛夈傝繖縐嶆柟妗堢殑闂鏄紝褰撴瀯寤哄璞$殑鏃跺欏緢瀹規槗鎶婂叾涓袱涓弬鏁扮殑浣嶇疆鏀懼弽銆傘傘傘?span style="color: red;">錛堥毦鍙戠幇鐨刡ug錛?/span>銆?
鍙︿竴縐嶈В鍐蟲柟妗堟槸JavaBean 妯″紡錛屽厛璋冪敤鏃犲弬鏋勯犲嚱鏁板啀璋冪敤鍚勪釜set鏂規硶鏉ョ粍瑁呭璞°傝繖縐嶆柟妗堢殑闂鏄笉鑳藉己鍒朵竴鑷存с傚鏋滄病鏈塻et鏌愪簺蹇呴』鐨勫弬鏁扮殑璇濓紝瀵硅薄鍙兘澶勪簬涓嶄竴鑷達紙
inconsistent錛夌殑鐘舵?span style="color: red;">錛堥毦鍙戠幇鐨刡ug錛?/span>銆傚彟澶栦竴涓己鐐規槸JavaBean妯″紡涓嶈兘璁╃被immutable錛岄渶瑕佺▼搴忓憳棰濆宸ヤ綔淇濊瘉綰跨▼瀹夊叏銆?/div>絎笁縐嶆柟寮忓氨鏄疊uilder璁捐妯″紡銆傝繖縐嶆柟寮忔販鍚堜簡telescoping constructor妯″紡鐨勫畨鍏ㄦу拰JavaBean妯″紡鐨勫彲璇繪с傚鎴風璋冪敤鏈夋墍鏈夊繀濉弬鏁扮殑鏋勯犲櫒錛堟垨闈欐佸伐鍘傦級錛屽緱鍒頒竴涓猙uilder瀵硅薄銆傜劧鍚庤皟鐢╞uilder瀵硅薄鐨勬柟娉曞幓set鍚勪釜閫夊~鍙傛暟銆傛渶鍚庤皟鐢ㄦ棤鍙傜殑build鏂規硶浜х敓涓涓猧mmutable鐨勫璞″疄渚嬨俰mmutable瀵硅薄鏈夐潪甯稿浼樼偣鑰屼笖鍙兘寰堟湁鐢ㄣ俠uilder鐨剆et鏂規硶閮芥槸榪斿洖builder鏈韓錛屾墍浠ヨ皟鐢ㄤ篃鏄彲浠hained銆傚錛?br />
  GoogleCredential credentialNew = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
                    .setJsonFactory(JSON_FACTORY).setClientSecrets(clientSecrets)
                    .addRefreshListener(
new CredentialStoreRefreshListener(userID, new DBCredentialStore())).build()
                    .setAccessToken(accessToken).setRefreshToken(refreshToken)
瀹㈡埛绔唬鐮佸緢濂藉啓錛屾洿閲嶈鐨勬槸鏄撹銆侭uilder妯″紡妯℃嫙浜嗗湪Ada鍜孭ython璇█閲岀殑鍛藉悕鍙夊弬鏁幫紙named optional parameters錛夈?br />鍚屾椂Builder綾昏緗負static涔熸槸瀵笽tem 22錛欶avor static member classes over nonstatic鐨勫疄璺?/div>

yuxh 2012-05-30 17:44 鍙戣〃璇勮
]]>HttpServletRequestWrapper鐩稿叧http://www.aygfsteel.com/yuxh/archive/2009/11/22/303262.htmlyuxhyuxhSun, 22 Nov 2009 14:30:00 GMThttp://www.aygfsteel.com/yuxh/archive/2009/11/22/303262.htmlhttp://www.aygfsteel.com/yuxh/comments/303262.htmlhttp://www.aygfsteel.com/yuxh/archive/2009/11/22/303262.html#Feedback0http://www.aygfsteel.com/yuxh/comments/commentRss/303262.htmlhttp://www.aygfsteel.com/yuxh/services/trackbacks/303262.html搴旂敤涓錛氳В鍐?span style="font-family: Times New Roman">tomcat涓嬩腑鏂囦貢鐮侀棶棰橈紙鍏堟潵涓畝鍗曠殑錛?nbsp;

鍦?span style="font-family: Times New Roman">tomcat涓嬶紝鎴戜滑閫氬父榪欐牱鏉ヨВ鍐充腑鏂囦貢鐮侀棶棰橈細

榪囨護鍣ㄤ唬鐮侊細

  1. package filter;  
  2.   
  3. import java.io.*;  
  4. import javax.servlet.*;  
  5. import javax.servlet.http.*;  
  6. import wrapper.GetHttpServletRequestWrapper;  
  7.   
  8. public class ContentTypeFilter implements Filter {  
  9.   
  10.     private String charset = "UTF-8";  
  11.     private FilterConfig config;  
  12.       
  13.     public void destroy() {  
  14.         System.out.println(config.getFilterName()+"琚攢姣?);  
  15.         charset = null;  
  16.         config = null;  
  17.     }  
  18.   
  19.     public void doFilter(ServletRequest request, ServletResponse response,  
  20.             FilterChain chain) throws IOException, ServletException {  
  21.         //璁劇疆璇鋒眰鍝嶅簲瀛楃緙栫爜  
  22.         request.setCharacterEncoding(charset);  
  23.         response.setCharacterEncoding(charset);  
  24.           
  25.         HttpServletRequest req = (HttpServletRequest)request;  
  26.           
  27.           
  28.         System.out.println("----璇鋒眰琚?+config.getFilterName()+"榪囨護");  
  29.         //鎵ц涓嬩竴涓繃婊ゅ櫒錛堝鏋滄湁鐨勮瘽,鍚﹀垯鎵ц鐩爣servlet錛?/span>  
  30.         chain.doFilter(req, response);  
  31.           
  32.         System.out.println("----鍝嶅簲琚?+config.getFilterName()+"榪囨護");  
  33.   
  34.     }  
  35.   
  36.     public void init(FilterConfig config) throws ServletException {  
  37.             this.config = config;  
  38.             String charset = config.getServletContext().getInitParameter("charset");    
  39.             if( charset != null && charset.trim().length() != 0)  
  40.             {  
  41.                 this.charset = charset;  
  42.             }  
  43.     }  
  44.   
  45. }  

web.xml涓繃婊ゅ櫒閰嶇疆
<!--灝嗛噰鐢ㄧ殑瀛楃緙栫爜閰嶇疆鎴愬簲鐢ㄥ垵濮嬪寲鍙傛暟鑰屼笉鏄繃婊ゅ櫒縐佹湁鐨勫垵濮嬪寲鍙傛暟鏄洜涓哄湪JSP鍜屽叾浠栧湴鏂逛篃鍙兘闇瑕佷嬌鐢?->
 <context-param>
   <param-name>charset</param-name>
   <param-value>UTF-8</param-value>
 </context-param>

 <filter>
  <filter-name>ContentTypeFilter</filter-name>
  <filter-class>filter.ContentTypeFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>ContentTypeFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

equest.setCharacterEncoding(charset); 蹇呴』鍐欏湪絎竴嬈′嬌鐢╮equest.getParameter()涔嬪墠錛岃繖鏍鋒墠鑳戒繚璇佸弬鏁版槸鎸夌収宸茬粡璁劇疆鐨勫瓧絎︾紪鐮佹潵鑾峰彇銆?br /> response.setCharacterEncoding(charset);蹇呴』鍐欏湪PrintWriter out = request.getWriter()涔嬪墠錛岃繖鏍鋒墠鑳戒繚璇乷ut鎸夌収宸茬粡璁劇疆鐨勫瓧絎︾紪鐮佹潵榪涜瀛楃杈撳嚭銆?/p>

閫氳繃榪囨護鍣紝鎴戜滑鍙互淇濊瘉鍦⊿ervlet鎴朖SP鎵ц涔嬪墠灝辮緗ソ浜嗚姹傚拰鍝嶅簲鐨勫瓧絎︾紪鐮併?/p>

浣嗘槸榪欐牱騫朵笉鑳藉畬鍏ㄨВ鍐充腑鏂囦貢鐮侀棶棰橈細

瀵逛簬post璇鋒眰錛屾棤璁烘槸“鑾峰彇鍙傛暟鐜妭”榪樻槸“杈撳嚭鐜妭"閮芥槸娌¢棶棰樼殑錛?/p>

瀵逛簬get璇鋒眰錛?杈撳嚭鐜妭"娌℃湁闂錛屼絾鏄?鑾峰彇鍙傛暟鐜妭"渚濈劧鍑虹幇涓枃涔辯爜錛屾墍浠ュ湪杈撳嚭鏃剁洿鎺ュ皢涔辯爜杈撳嚭浜嗐?/p>

 

鍘熷洜鏄痯ost璇鋒眰鍜実et璇鋒眰瀛樻斁鍙傛暟浣嶇疆鏄笉鍚岀殑錛?/p>

post鏂瑰紡鍙傛暟瀛樻斁鍦ㄨ姹傛暟鎹寘鐨勬秷鎭綋涓?get鏂瑰紡鍙傛暟瀛樻斁鍦ㄨ姹傛暟鎹寘鐨勮姹傝鐨刄RI瀛楁涓紝浠ワ紵寮濮嬩互param=value&parame2=value2鐨勫艦寮忛檮鍔犲湪URI瀛楁涔嬪悗銆傝宺equest.setCharacterEncoding(charset); 鍙娑堟伅浣撲腑鐨勬暟鎹搗浣滅敤錛屽浜嶶RI瀛楁涓殑鍙傛暟涓嶈搗浣滅敤錛屾垜浠氬父閫氳繃涓嬮潰鐨勪唬鐮佹潵瀹屾垚緙栫爜杞崲錛?/p>

 String paramValue = request.getParameter("paramName");
paramValue = new String(paramValue.trim().getBytes("ISO-8859-1"), charset);

浣嗘槸姣忔榪涜榪欐牱鐨勮漿鎹㈠疄鍦ㄦ槸寰堥夯鐑︼紝鏈夋病鏈夌粺涓鐨勮В鍐蟲柟妗堝憿錛?/p>

瑙e喅鏂規1: 鍦╰omcat_home"conf"server.xml 涓殑Connector鍏冪礌涓緗甎RIEncoding灞炴т負鍚堥傜殑瀛楃緙栫爜

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8"
     />

榪欐牱鍋氱殑緙虹偣鏄紝鍚屼竴涓猼omcat涓嬬殑鍏朵粬搴旂敤涔熷皢鍙楀埌褰卞搷銆傝屽叾姣忔閮ㄧ講鏃墮兘闇瑕佺被淇敼閰嶇疆涔熷緢楹葷儲銆?/p>

瑙e喅鏂規2:鑷畾涔夎姹傚寘瑁呭櫒鍖呰璇鋒眰錛屽皢瀛楃緙栫爜杞崲鐨勫伐浣滄坊鍔犲埌getParameter()鏂規硶涓?br />

 

package wrapper;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;

public class GetHttpServletRequestWrapper extends HttpServletRequestWrapper {

    
private String charset = "UTF-8";

    
public GetHttpServletRequestWrapper(HttpServletRequest request) {
        
super(request);
    }


    
/**
     * 鑾峰緱琚楗板璞$殑寮曠敤鍜岄噰鐢ㄧ殑瀛楃緙栫爜
     * 
     * 
@param request
     * 
@param charset
     
*/

    
public GetHttpServletRequestWrapper(HttpServletRequest request,
            String charset) 
{
        
super(request);
        
this.charset = charset;
    }


    
/**
     * 瀹為檯涓婂氨鏄皟鐢ㄨ鍖呰鐨勮姹傚璞$殑getParameter鏂規硶鑾峰緱鍙傛暟錛岀劧鍚庡啀榪涜緙栫爜杞崲
     
*/

    
public String getParameter(String name) {
        String value 
= super.getParameter(name);
        value 
= value == null ? null : convert(value);
        
return value;
    }


    
public String convert(String target) {
        System.out.println(
"緙栫爜杞崲涔嬪墠錛?/span>" + target);
        
try {
            
return new String(target.trim().getBytes("ISO-8859-1"), charset);
        }
 catch (UnsupportedEncodingException e) {
            
return target;
        }

    }

}


淇敼榪囨護鍣ㄧ殑doFilter鏂規硶 浠g爜濡備笅錛?br />

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) 
throws IOException, ServletException {
        
// 璁劇疆璇鋒眰鍝嶅簲瀛楃緙栫爜
        request.setCharacterEncoding(charset);
        response.setCharacterEncoding(charset);
        
// 鏂板鍔犵殑浠g爜
        HttpServletRequest req = (HttpServletRequest) request;

        
if (req.getMethod().equalsIgnoreCase("get")) {
            req 
= new GetHttpServletRequestWrapper(req, charset);
        }


        System.out.println(
"----璇鋒眰琚?/span>" + config.getFilterName() + "榪囨護");
        
// 浼犻掔粰鐩爣servlet鎴杍sp鐨勫疄闄呬笂鏃跺寘瑁呭櫒瀵硅薄鐨勫紩鐢紝鑰屼笉鏄師濮嬬殑HttpServletRequest瀵硅薄
        chain.doFilter(req, response);

        System.out.println(
"----鍝嶅簲琚?/span>" + config.getFilterName() + "榪囨護");
    }

 

 

榪欐牱涓鏉ワ紝鍦╯ervlet涓皟鐢ㄥ寘瑁呭櫒鐨刧etParameters鏂規硶鏉ヨ幏鍙栧弬鏁幫紝灝卞凡緇忓畬鎴愪簡瀛楃緙栫爜鐨勮漿鎹㈣繃紼嬶紝鎴戜滑灝變笉闇瑕佸湪姣忔鑾峰彇鍙傛暟鏃舵潵榪涜瀛楃緙栫爜杞崲浜嗐?br /> 鎬葷粨錛氳嚜宸卞啓綾葷戶鎵縃ttpServletRequestWrapper錛孒ttpServletRequestWrapper瀹炵幇浜咹ttpServletRequest鎺ュ彛銆傜湅tomcat鐨勬簮浠g爜鍙互鍙戠幇錛孲ervletRequest浣滀負涓涓狢omponent 錛孲ervletRequestWrapper浣滀負涓涓瘮杈冩爣鍑嗙殑Decorator 錛屽疄鐜癝ervletRequest鎺ュ彛騫舵妸ServletRequest褰撲綔鎴愬憳鍙橀噺錛屽叾浠栫戶鎵緿ecorator 鐨勭被錛堟瘮濡傛湰渚嬩腑鐨凣etHttpServletRequestWrapper 錛夊氨鍙互寰堝ソ鐨勬搷鎺ervletRequest鍙婂叾瀛愮被錛堟瘮濡傛湰渚嬩腑鐨凥ttpServletRequest錛夛紝HttpServletRequest鐨勫緢澶氭柟娉曞氨鍙互鏍規嵁鎴戜滑鐨勯渶姹傚仛鏀瑰彉錛屾瘮濡傝緗瓧絎︼紝鍘繪帀絀烘牸銆?/span>
鍙傝冿細
http://www.javaeye.com/topic/483158
http://fishhappy365.javaeye.com/blog/484185
http://www.javaeye.com/topic/220230

yuxh 2009-11-22 22:30 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 大余县| 九龙城区| 潜山县| 托里县| 贺州市| 东乌| 桂阳县| 永仁县| 阜城县| 蒙城县| 会昌县| 项城市| 黎川县| 沁阳市| 梁山县| 福建省| 南丰县| 冀州市| 同仁县| 米易县| 乡城县| 临沭县| 吴桥县| 内江市| 镇江市| 丹棱县| 长岭县| 水富县| 泰州市| 中方县| 长子县| 西畴县| 河间市| 定南县| 崇左市| 八宿县| 镇坪县| 灯塔市| 海阳市| 织金县| 瓮安县|