java基礎中實現存儲到實體對象中的方法

1. java基礎中實現存儲到實體對象中的方法

1.1. 通過Beanutils工具類實現對象的存儲

  1. 通過request.getParameterMap()的方法將請求端獲得的對象信息存儲到map集合中。
Map<String,String[]> properties=request.getParameterMap();
  1. 通過Beanutils工具類將獲取的集合對象存儲到實體對象中去,這個工具類能夠實現只要key值和實體對象名稱相同,就能自動封裝到實體中。
BeanUtils.populate(user,propertis);

1.2. java自動生成uuid

  1. uuid是唯一識別的id碼,具體請查找資料。
user.setUid(UUID.randomUUID().toString());

1.3. Servlet技術中爲什麼要回調doGet()方法

  1. doGet()方法和doPost()方法一樣,所以相互調用,可以減少代碼量,如果要修改代碼,只需要修改一處就行了,比較方便。

1.4. request獲取值得到亂碼的解決方案

  1. 在獲取對象參數前,進行request域對象的編碼設置,但是這種方法只適合post提交方式,request的默認查表是**ISO8859-1*這是一個歐洲字符集,沒有亞洲人的字符集。
request.getCharacterEncoding("UTF-8")
  1. 亂碼實現的過程

031701.png

  1. 亂碼解決的過程

031702.png

  1. 由上面兩張圖可以看出,前端寫的內容是以UTF-8的編碼形式寫的,request對象接收時卻以ISO8859-1的解碼形式解的,ISO8859-1不支持中文編碼因此出現了亂碼。當解碼時:需要將亂碼解釋成中文字符,我們要做的是先將亂碼翻譯成ISO8859-1的標準,然後將ISO8859-1的碼轉成UTF-8的頁面對UTF-8解析就成了中文字符形式。兩者正好反過來。

1.5. 地址重定向和轉發在Servlet技術中的使用

  1. 地址轉發

地址轉發是服務器內部的事情,比如你發送了一個請求,服務器將請求轉發給另一處進行處理,故用request

request.getRequestDispatcher("/login.jsp").forward(request,response);
  1. 重定向

重定向是客戶端先請求,服務器反應給客戶端,讓客戶端去另一個地址去處理事務。故用response

response.sendRedirect("/WEB15/login.jsp");

但是此方法有個問題,比如如果工程名修改成WEB13了,那麼這個重定向就會有問題,就會找不到login.jsp那麼如何處理這個問題?

request.sendRedirect(request.getContextPath()+"/login.jsp");

request.getContextPath()是能夠動態的獲取web應用的名稱。

1.6. DataSourceUtils工具類+C3P0連接池的誤解

QueryRunner runner=QueryRunner(DataSourceUtils.getDataSource());

誤解:我認爲DataSourceUtils.getDataSource只是獲取了連接池,並沒有獲取連接,其實,DataSourceUtils工具類自動獲取連接,自動關閉連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章