Request和Response詳解

轉自:http://zhidao.baidu.com/link?url=8BI0cjlcFdBSJKHTZlpo874eqtbTJoZfrh3miQgM_05RvSER8skPiBc1wSPZtXT8OGGCHfVXFAzAosa6E5HBl_

內置對象
request:請求對象
request.getParameter("名字") 獲得客戶端輸入的信息***************
request.getParameterValues("名字") 獲得客戶端輸入的一組信息
request.getRequestDispatcher("url").forward(request,response): 轉到url頁面
response:響應對象
response.sednRedirect("url"):轉到url指定的頁面

轉自:http://blog.csdn.net/a859522265/article/details/7259115

web服務器收到客戶端的HTTP請求,會針對每一次請求分別創建一個用于代表請求的request對象和代表響應的response對象。

1.要得到客戶機提交過來的數據,只需要找request對象就行了。

2、要向客戶機輸出數據,只需要找response對象就行了。

?

一、response對象

1.1向客戶端發送數據,以字節為單位(一定要先設置編碼方式,再輸出)

?

[java]?view plaincopy
  1. String?data?=?"你好,中國1";??
  2. OutputStream?out?=?response.getOutputStream();??
  3. out.write(data.getBytes());//查找本機默認編碼進行編碼??

?

[java]?view plaincopy
  1. ????String?data?=?"你好,中國2";??
  2. OutputStream?out?=?response.getOutputStream();??
  3. out.write(data.getBytes("UTF-8"));//以UTF-8進行編碼??
  4. //告訴瀏覽器編碼方式??
  5. response.setHeader("Content-Type","text/html;charset=UTF-8"?);??

?

[java]?view plaincopy
  1. String?data?=?"你好,中國3";??
  2. OutputStream?out?=?response.getOutputStream();??
  3. out.write("<meta?http-equiv='Content-Type'?content='text/html;charset=UTF-8'>".getBytes());通過meta標簽模擬請求頭??
  4. out.write(data.getBytes("UTF-8"));//以UTF-8進行編碼??

?

[java]?view plaincopy
  1. String?data?=?"你好,中國4";??
  2. ????OutputStream?out?=?response.getOutputStream();??
  3. ????response.setContentType("text/html;charset=UTF-8");??
  4. ????out.write(data.getBytes("UTF-8"));//以UTF-8進行編碼??
[java]?view plaincopy
  1. ??

?

?

[java]?view plaincopy
  1. response.setContentType("text/html;charset=UTF-8");??

?

等價于下面兩句代碼的效果:

response.setCharacterEncoding("UTF-8");//更改服務器發送數據的默認編碼
response.setHeader("Content-Type","text/html;charset=UTF-8");//還要通知客戶端解碼方式

?

[java]?view plaincopy
  1. int?x=97;??
  2. OutputStream?out?=?response.getOutputStream();??
  3. out.write((x+"").getBytes());向客戶端發送數字??

1.2 以字符為單位向客戶端發送數據

?

? ? ? ? ? ? ? String data = "你是誰?";
? ? ? ? ? ? ? response.setCharacterEncoding("UTF-8"); //設置編碼為UTF-8
? ? ? ? ? ? ? response.setHeader("Content-Type", "text/html;charset=UTF-8");//告訴客戶端編碼方式
? ? ? ? ? ? ??
? ? ? ? ? ? ??
? ? ? ? ? ? ?// 第二種方法:相當于以上兩句代碼
? ? ? ? ? ? ? //response.setContentType("text/html;charset=UTF-8");
? ? ? ? ? ? ? PrintWriter writer = response.getWriter();//默認編碼是iso-8859-1 創建該對象前必須設置好編碼方式
? ? ? ? ? ? ??
? ? ? ? ? ? ? writer.write(data);
? ? ? ? ? ? ? System.out.println(response.getCharacterEncoding());
? ? ? ? ? ? ?
1.3?讓客戶端以下載方式打開文件,解決中文文件名亂碼問題(URLEncoder.encode(name, "UTF-8"))

?

[java]?view plaincopy
  1. //得到文件的真實路徑??
  2. String?realPath?=?getServletContext().getRealPath("/files/漂亮美眉.jpg");??
  3. //獲取文件名??
  4. String?name?=?realPath.substring(realPath.lastIndexOf("\\"));??
  5. ??
  6. //設置響應頭,通知客戶端以下載的方式打開文件??
  7. response.setHeader("Content-Disposition",?"attachment;filename="+URLEncoder.encode(name,?"UTF-8"));??
  8. ??
  9. //構建輸入流??
  10. ???InputStream?in?=?new?FileInputStream(realPath);??
  11. ?????
  12. ???//輸出到客戶端的流??
  13. ???OutputStream?out?=?response.getOutputStream();??
  14. ???int?len?=?-1;??
  15. ???byte?buf[]?=?new?byte[1024];??
  16. ???while((len=in.read(buf))!=-1)??
  17. ???{??
  18. ????out.write(buf,?0,?len);??
  19. ???}??
  20. ?????
  21. ???in.close();??


1.4?輸出隨機數字生成驗證碼圖片

?

?

[java]?view plaincopy
    1. ????????//設置不要緩存(3種方式,建議三種都設置,防止瀏覽器不支持)??
    2. ????????response.addHeader("Pragma",?"no-cache");???
    3. ????????response.setHeader("Cache-Control",?"no-cache");???
    4. ????????response.setHeader("Expires",?"0");??
    5. ??????????
    6. ????????//1.內存圖像?BufferedImage??
    7. ????????BufferedImage?image?=?new?BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);??
    8. ??????????
    9. ????????//2.創建畫筆??
    10. ????????Graphics?g?=?image.getGraphics();??
    11. ??????????
    12. ????????//2.1畫邊框??
    13. ????????g.setColor(Color.GRAY);//設置邊框顏色??
    14. ????????g.drawRect(0,?0,?WIDTH,?HEIGHT);//畫矩形邊框??
    15. ????????//2.2填充邊框??
    16. ????????g.fillRect(1,?1,?WIDTH-1,?HEIGHT-1);??
    17. ??????????
    18. ????????//2.3輸出驗證隨機數字4個??
    19. ????????Random?r?=?new?Random();??
    20. ????????g.setColor(Color.BLUE);??
    21. ????????int?x?=?5;??
    22. ????????for(int?i=0;i<4;i++)??
    23. ????????{??
    24. ??????????
    25. ????????????g.setFont(new?Font("宋體",Font.BOLD,20));??
    26. ????????????g.drawString(r.nextInt(10)+"",?x,?20);??
    27. ????????????x+=30;??
    28. ????????}??
    29. ??????????
    30. ????????//2.4畫干擾線??
    31. ????????g.setColor(Color.YELLOW);??
    32. ????????for(int?i?=?0;i<9;i++)??
    33. ????????{?????
    34. ??????????????
    35. ????????????g.drawLine(r.nextInt(WIDTH),r.nextInt(HEIGHT),?r.nextInt(WIDTH),?r.nextInt(HEIGHT));??
    36. ????????}??
    37. ??????????
    38. ????????//3?利用response輸出流輸出image??
    39. ????????ImageIO.write(image,"jpeg",response.getOutputStream());<pre?name="code"?class="java">???????//response.setHeader("Expires",?(System.currentTimeMillis()+24*3600*10*1000)+"");//緩存10天??
    40. ????????response.setDateHeader("Expires",System.currentTimeMillis()+10*24*1000*60*60);</pre><br>??
    41. <pre></pre>??
    42. <p></p>??
    43. <pre></pre>??
    44. 1.5?控制客戶端刷新時間??
    45. <p></p>??
    46. <p></p>??
    47. <pre?name="code"?class="java">???????//response.setHeader("Refresh",?"5;URL=/day05/default.html");//5秒后跳轉,url是跳轉的鏈接??
    48. ?????????response.getOutputStream().write("<meta?http-equiv=\"Refresh\"?content=\"3;URL=/day05/login.html\">".getBytes());</pre>1.6?控制客戶端緩存時間??
    49. <p></p>??
    50. <p></p>??
    51. <pre?name="code"?class="java">??????//response.setHeader("Expires",?(System.currentTimeMillis()+24*3600*10*1000)+"");//緩存10天??
    52. ????????response.setDateHeader("Expires",System.currentTimeMillis()+10*24*1000*60*60);</pre><br>??
    53. 1.7?用response實現請求重定向??
    54. <p></p>??
    55. <p><img?src="http://hi.csdn.net/attachment/201202/14/0_13292204202s0e.gif"?alt=""></p>??
    56. <p>特點:地址欄會變,發送兩次請求,增加服務器負擔。</p>??
    57. <p>實現方式:response.sendRedirect()<br>??
    58. 實現原理:302狀態碼和location頭即可實現重定向<br>??
    59. </p>??
    60. <pre?name="code"?class="java">???????????//response.sendRedirect("/day05/servlet/ResponseDemo5");//絕對路徑??
    61. ?注意??????//?response.sendRedirect("/servlet/ResponseDemo5");//相對路徑這里用是錯誤的,因為重定向是由客戶端發起的??
    62. ??????????response.setStatus(307);//302?或者?307都可??
    63. ??????????response.setHeader("location",?"http://localhost:8080/day05/servlet/ResponseDemo1");</pre><br>??
    64. 1.8?小細節??
    65. <p></p>??
    66. <p></p>??
    67. <pre?name="code"?class="java">??????????String??s1?=?"abc";??
    68. ??????????String??s2?=?"def";??
    69. ??????????response.getOutputStream().write(s1.getBytes());??
    70. ??????????//response.getWriter().write(s2);??
    71. ??????????//注:getOutputStream和getWriter這兩個方法互相排斥,??
    72. ??????????//調用了其中的任何一個方法后,就不能再調用另一方法,會拋異常。??
    73. ??????????//java.lang.IllegalStateException:???
    74. ??????????//getOutputStream()?has?already?been?called?for?this?response</pre><br>??
    75. <p><br>??
    76. </p>??
    77. <p>二、request(HttpServletRequest)對象</p>??
    78. <p>2.1.get方法</p>??
    79. <p></p><pre?name="code"?class="java">?????????String?locale?=?request.getLocalName();//傳輸協議??
    80. ?????????String?url?=?request.getRequestURL().toString();//請求的地址??
    81. ?????????String?uri?=?request.getRequestURI();//沒有主機名的地址??
    82. ?????????String?protocol?=?request.getProtocol();//獲取協議??
    83. ?????????String??add?=?request.getRemoteAddr();//客戶端IP??
    84. ?????????String?host?=?request.getRemoteHost();//客戶端主機名??
    85. ?????????String?port?=?request.getRemotePort()+"";//客戶端端口號??
    86. ?????????String?method?=?request.getMethod();//客戶端的請求方式??
    87. ?????????String?localAddr?=?request.getLocalAddr();//獲取服務器地址??
    88. ?????????String?username?=?request.getParameter("username");//地址后面?請求的參數??
    89. ?????????String?serverPort?=?request.getServerPort()+"";//服務器端口號??
    90. ?????????String?serverName?=?request.getServerName();//服務器名</pre><br>??
    91. 2.2?獲取客戶端請求頭<p></p>??
    92. <p></p><pre?name="code"?class="java">???????????response.setContentType("text/html;charset=UTF-8");??
    93. ??
    94. ???????????PrintWriter?out?=?response.getWriter();??
    95. ???????????//獲取單個請求頭的值??
    96. ???????????out.write(request.getHeader("Accept-Language")+"<br/>");??
    97. ???????????//獲取單個請求頭多個值??
    98. ???????????Enumeration??headers?=?request.getHeaders("user-agent");??
    99. ???????????while(headers.hasMoreElements())??
    100. ???????????{??
    101. ???????????????out.println(headers.nextElement()+"<hr/>");??
    102. ???????????}??
    103. ?????????????
    104. ???????????//獲取所有的請求頭名??
    105. ???????????Enumeration?names?=?request.getHeaderNames();??
    106. ???????????while(names.hasMoreElements())??
    107. ???????????{???//根據請求頭名得到對應的值??
    108. ???????????????String?name?=?(String)names.nextElement();??
    109. ???????????????out.println(name+"="+request.getHeader(name)+"<br/>");??
    110. ???????????}</pre><br>??
    111. 2.3獲取請求參數<p></p>??
    112. <p>String?usernameValue?=?request.getParameter("username");//參數不存在為null<br>??
    113. </p>??
    114. <p></p><pre?name="code"?class="java">String?names[]?=?request.getParameterValues("username");??
    115. ????????for(String?name:names)??
    116. ????????{??
    117. ????????????System.out.println(name);得到某個請求參數的所有值??
    118. ??????????????
    119. ????????}</pre><pre?name="code"?class="java">?????????????//獲取所有的請求參數名??
    120. ??
    121. ????????Enumeration?names?=?request.getParameterNames();??
    122. ??????????while(names.hasMoreElements())??
    123. ??????????{??//根據參數名得到值??
    124. ??????????????String?name?=?(String)names.nextElement();??
    125. ??????????????System.out.println(name+"------->"+request.getParameter(name));??
    126. ??????????}</pre><br>??
    127. 2.4?封裝到bean<br>??
    128. <pre?name="code"?class="java">public?class?Student?{??
    129. ???private?String[]?username;??
    130. ???private?String?password;??
    131. ??????
    132. ???public?String[]?getUsername()?{??
    133. ????????return?username;??
    134. ????}??
    135. ????public?void?setUsername(String[]?username)?{??
    136. ????????this.username?=?username;??
    137. ????}??
    138. ????public?String?getPassword()?{??
    139. ????????return?password;??
    140. ????}??
    141. ????public?void?setPassword(String?password)?{??
    142. ????????this.password?=?password;??
    143. ????}??
    144. ?????
    145. ?????
    146. }??
    147. ??
    148. </pre><pre?name="code"?class="java">//利用BeanUtils和?getParameterMap()將對象封裝到bean??
    149. ????private?void?test5(HttpServletRequest?request)?{??
    150. ????????//?TODO?Auto-generated?method?stub??
    151. ????????Map?map?=?request.getParameterMap();??
    152. ????????Student?s?=?new?Student();??
    153. ????????try?{??
    154. ????????????BeanUtils.populate(s,?map);??
    155. ????????}?catch?(IllegalAccessException?e)?{??
    156. ????????????//?TODO?Auto-generated?catch?block??
    157. ????????????e.printStackTrace();??
    158. ????????}?catch?(InvocationTargetException?e)?{??
    159. ????????????//?TODO?Auto-generated?catch?block??
    160. ????????????e.printStackTrace();??
    161. ????????}??
    162. ????????String[]?names?=?s.getUsername();??
    163. ????????System.out.println(names[0]);//aa??
    164. ????????System.out.println(names[1]);//bb??
    165. ????????System.out.println(s.getPassword());//123??
    166. ????}//從客戶端傳過來的值username兩個(假如是aa和bb)?和一個password值(假如是123)</pre><br>??
    167. 2.5?得到請求正文<br>??
    168. <pre?name="code"?class="java">??????//獲取請求正文??
    169. ????????InputStream?in?=?request.getInputStream();??
    170. ????????byte[]?buf?=new?byte[1024];??
    171. ????????int?len?=?-1;??
    172. ????????while((len=in.read(buf))!=-1)??
    173. ????????{??
    174. ????????????System.out.println(new?String(buf,0,len));??
    175. ????????}</pre><br>??
    176. 2.6解決請求參數的中文亂碼<p></p>??
    177. <p>?get方式:先按照原編碼得到原始字節碼,然后再重新編碼。如:name?=?new?String(name.getBytes("ISO-8859-1"),"UTF-8");</p>??
    178. <p>post方式:客戶端是什么編碼,發送的請求數據就是什么編碼,根據客戶端的編碼,告知服務器編碼方式。</p>??
    179. <p>如:request.setCharacterEncoding("UTF-8");//?只適合POST請求方式</p>??
    180. <p><br>??
    181. </p>??
    182. <p>2.7請求轉發?forward</p>??
    183. <p><span?style="white-space:pre"></span>RequestDispatcher?rd?=?request.getRequestDispatcher("path");//得到轉發器,path可以是相對路徑或者絕對路徑(因為是服務器發起的)<br>??
    184. <span?style="white-space:pre"></span>rd.forward(request,?response);<br>??
    185. </p>??
    186. <p><img?src="http://hi.csdn.net/attachment/201202/14/0_1329238218CM8E.gif"?alt=""><br>??
    187. </p>??
    188. <p>2.8?包含include</p>??
    189. <p><span?style="white-space:pre"></span>RequestDispatcher?rd?=?request.getRequestDispatcher("/servlet/RequestDemo9");<br>??
    190. <span?style="white-space:pre"></span>rd.include(request,?response);<br>??
    191. </p>??
    192. <p><img?src="http://hi.csdn.net/attachment/201202/14/0_1329238034rHHG.gif"?alt=""><br>??
    193. </p>??
    194. <p>三?、路徑的寫法:<br>??
    195. a、絕對路徑寫法:ServeltContext都必須用絕對路徑。“/”開始?(如ServletContext.getRequestDispatcher("path")?path必須是絕對路徑)<br>??
    196. b、相對路徑:其他情況都可以使用相對路徑,也可以使用絕對路徑<br>??
    197. <br>??
    198. <br>??
    199. c、在使用絕對路徑時,要不要加"/"或者是項目名:如果是服務器調用的,不用加項目名,用“/”就可以代表了當前應用根目錄<br>??
    200. 如果是客戶端調用的,必須加上項目名<br>??
    201. <br>??
    202. <br>??
    203. 1、轉發:request.getRequestDispather(String?url)<br>??
    204. 絕對路徑:url????/servlet/ServletDemo<br>??
    205. 2、重定向:response.sendRedirect(String?url)<br>??
    206. 絕對路徑:url????/day05/servlet/ServletDemo<br>??
    207. <br>??
    208. <br>??
    209. 3、超鏈接:<a?href="url"/><br>??
    210. 絕對路徑:url??/day05/servlet/ServletDemo<br>??
    211. 4、類加載文件的路徑<br>??
    212. web應用中只能用相對路徑,相對于classes目錄的<br>??
    213. 5、<fomr?action="url"/><br>??
    214. 絕對路徑:/day05/servlet/ServletDemo<br>??
    215. 6、頁面分幀(frame)<br>??
    216. 絕對路徑:/day05/servlet/ServletDemo<br>??
    217. 7、ServletContext.getRealPath(url)<br>??
    218. 絕對路徑:url????/servlet/ServletDemo<br>??
    219. <br>??
    220. <br>??
    221. URLEncoder.encode("name",?"UTF-8")//解決文件下載名中文亂碼</p>??
    222. <p><br>??
    223. </p>??
    224. <p></p>??
    225. ? ? ?

轉載于:https://www.cnblogs.com/name-hanlin/p/5059965.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373929.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373929.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373929.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

將Maven與Ivy集成

問題是&#xff1a;您在Ivy存儲庫中&#xff08;只有那里&#xff09;有一些資源&#xff0c;您想在基于Maven的項目中使用這些資源。 可能的解決方案&#xff1a; 由于Ivy可以輕松使用Maven風格的存儲庫&#xff08;因此&#xff0c;您的Ivy客戶端可以繼續使用Ivy并進行一些微…

用python下載辭典

用python下載詞源詞典Etymoline Online Etymology Dictionary是最好的 English 詞源詞典&#xff0c;現在來說沒有之一。但是&#xff0c;一直在PC上查單詞有時不是很方便&#xff0c;遂就想怎么才能在手機上使用。現在的手機上的詞典&#xff0c;除了BlueDict、MDict之外&…

程序員都用什么來記錄知識_1年前的小五都用 Python 來做什么?

↑ 點擊上方 “凹凸數據” 關注 星標 ~ 每天更新&#xff0c;干貨不斷 (多圖預警)注&#xff1a;這是小五一年前在知乎的回答&#xff0c;當時還只有凹凸數讀一個公眾號&#xff0c;所以很多圖片都會帶有數讀或者知乎的水印。作為一個菜鳥數據分析師&#xff0c;只會sqlpytho…

CSDN編程挑戰——《高斯公式》

高斯公式 題目詳情: 高斯在上小學時發明了等差數列求和公式:12..1005050。現在問題在于給你一個正整數n&#xff0c;問你他可以表示為多少種連續正整數之和&#xff1f;&#xff08;自身也算&#xff09;。 輸入格式&#xff1a; 多組數據&#xff0c;每組數據一行&#xff0c…

SQL-行轉列(PIVOT)實例1

--未旋轉之前的查詢結果 select s.Name ShiftName,h.BusinessEntityID,d.Name as DpartmentName from HumanResources.EmployeeDepartmentHistory h inner join HumanResources.Department d on h.DepartmentIDd.DepartmentIDinner join HumanResources.Shift s on s.ShiftIDh…

將MongoDB與Morphia結合使用

在過去的幾年中&#xff0c; NoSQL數據庫&#xff08;例如CouchDB&#xff0c;Cassandra和MongoDB&#xff09;在不需要運行傳統RDBMS的語義和開銷的應用程序中得到了普及。 我不會進入選擇NoSQL數據庫的設計決策&#xff0c;因為其他人已經做得很好&#xff0c;但是我將結合我…

webservice接口_webservice服務器端發票識別接口

關鍵詞&#xff1a;發票識別 私有云發票識別 發票識別API接口 webservice發票識別平臺發票&#xff0c;一個再也熟悉不過的財務往來憑證&#xff0c;錄入發票&#xff0c;一項讓多少財會人員頭疼的工作。過去錄入一張發票需要一個財會人員5分鐘的時間&#xff0c;那么這個人在工…

二叉樹學習——簡單入門題

入門題一&#xff1a; 輸入一顆二叉樹&#xff0c;你的任務是按從上到下、從左到右的順序輸出各個節點的值。每個節點都按照從根節點到它的移動序列給出 &#xff08;L表示左&#xff0c;R表示右&#xff09;。在輸入中&#xff0c;每個節點的左括號和右括號之間沒有空格&#…

java8-4 多態的練習以及題目

1、/* 多態練習&#xff1a;貓狗案例*/ 1 class Animal {2 public void eat(){3 System.out.println("吃飯");4 }5 }6 7 class Dog extends Animal {8 public void eat() {9 System.out.println("狗吃肉"); 10 } 11 12 public void lookDoor() { 13 Syste…

一個簡單的socket通信小demo

寫了一個socket的程序&#xff0c;可以和本地的服務器進行通信&#xff0c;要先和服務器建立鏈接&#xff0c;然后發送登錄信息&#xff0c;驗證成功&#xff0c;就可以和服務器通信了 1 頁面截圖 2 點擊鏈接服務器&#xff0c;可以鏈接服務器&#xff0c;服務器的ip地址為&…

Java并發教程– CountDownLatch

Java中的某些并發實用程序自然會比其他并發實用程序受到更多關注&#xff0c;因為它們可以解決通用問題而不是更具體的問題。 我們大多數人經常遇到執行程序服務和并發集合之類的事情。 其他實用程序不太常見&#xff0c;因此有時它們可??能會使我們逃脫&#xff0c;但是請記…

漢儀尚巍手書可以商用嗎_【商用車維修】夏天修空調可以撐起全年修車收入的一半,你會了嗎?...

更多精彩&#xff0c;請點擊上方藍字關注我們&#xff01;車載空調是炎熱的季節必不可少的利器&#xff0c;但用得多&#xff0c;毛病也多了起來&#xff0c;今天和大家分享一些空調系統的相關知識&#xff0c;助力修車師傅們來應對空調系統的相關故障問題。如何判斷制冷系統的…

CSDN編程挑戰——《-3+1》

-31 題目詳情: 有一個數列&#xff0c;所有的數都是非負整數&#xff0c;你可以進行如下方式進行一次操作&#xff08;注意一次完整的操作必須先后完成如下兩個步驟&#xff09;&#xff1a; &#xff08;1&#xff09; 任選一個不小于3的數&#xff0c;把它減少3。 &#xff…

游戲感悟

1.所謂游戲平衡&#xff0c;就是指玩家沒有最優解。 2.所謂公司的文化&#xff0c;就是指員工被公司洗腦的那些觀點(認知)。 3.人是能動的&#xff0c;擺脫平庸。轉載于:https://www.cnblogs.com/yangzhou33/p/5074509.html

Git 簡單使用

1.Git是什么 簡介&#xff1a;Git是 Linux 之父 Linus Trovalds&#xff0c;為管理 Linux 內核代碼而建立的&#xff0c;被認為是分布式版本控制工具中的頂級水準。智能、友好、強健、高效。 作用&#xff1a;新建一個分支&#xff0c;把服務器上最新版的代碼fetch下來&#x…

Vaadin附加組件和Maven

介紹 我喜歡Vaadin的 &#xff08;眾多&#xff09;一件事是它對Vaadin框架的“附加組件”社區-他們稱之為Vaadin目錄 。 “附加組件”是框架中社區貢獻的附加組件&#xff0c;可以是任何東西&#xff0c;例如從新的客戶端小部件到數據表的延遲加載容器。 我肯定會為Activiti看…

八皇后時間復雜度_【算法打卡】N皇后

難度&#xff1a;困難題目&#xff1a;n 皇后問題研究的是如何將 n 個皇后放置在 nn 的棋盤上&#xff0c;并且使皇后彼此之間不能相互攻擊。上圖為 8 皇后問題的一種解法。給定一個整數 n&#xff0c;返回 n 皇后不同的解決方案的數量。提示&#xff1a;皇后&#xff0c;是國際…

Android-Binder 簡析

前言 對于Android來說&#xff0c;Binder的重要性怎么說都不為過。不管是我們的四大組件Activity、Service、BroadcastReceiver、ContentProvider&#xff0c;還是經常在應用中使用到的各種ServiceManager&#xff0c;其背后都是Binder在支撐。然而Binder機制又不是三言兩語能夠…

CSDN編程挑戰——《進制轉換》

進制轉換 題目詳情: 我們通常用的十進制數包含0-9十個數字。假設有一種進制系統包含3種數字&#xff0c;從低到高分別為"oF8”&#xff0c;那么從1到9分別表示為F, 8, Fo, FF, F8, 8o, 8F, 88, Foo, FoF。給定一種進制的數和兩種進制的數字表&#xff0c;請把它從第一種進…

tplink 703刷固件

1.軟件下載: ImageBuilder鏈接 如果是全新刷機的話,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin 如果是系統升級的話,使用:http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/op…