大魚

          JSP筆記

            1、關閉數(shù)據(jù)庫連接
            使用數(shù)據(jù)庫連接時,記住要在finally中關閉,如果用到了連接池的話,實際上關閉操作實際上把連接歸還給連接池;

                  2、從1開始
            在使用ResultSet讀取列值時,列是從左到右編號,第一列是1;比如"select id,name from student",可以使用rs.getString(2),也可以使用rs.getString("name")讀取,但是前一種速度快些,后面一種可維護性強些,并且第二種方法中使用列名作為參數(shù)的時候,列名是不區(qū)分大小寫的,所以也可是使用rs.getString("Name")讀取;另外在用PreparedStatement的設置參數(shù)的時候,也是從1開始的;

                    3、安全的提供文件下載
             在提供文件下載的時候,要防止盜連.內(nèi)容被盜的損失不計,還加重了自己服務器的負擔,而且還防止有人循環(huán)下載某一區(qū)間段的所有附件.解決問題的方法常見的有通過Apache Http Server來配置,只有滿足一定條件的HTTP請求才允許下載;另一種是服務器生成一個隨即的值,并放在Session對象中,當用戶下載的文件的時候,必須把該隨即值傳回到服務器端,服務器斷再判斷該隨即值是否和Session中的隨即值一致;

                 4、forword與sendRedirect的區(qū)別
            forword:RequestDispatcher dispatcher=request.getRequestDispatcher("/test.jsp");
              dispatcher.forword(request,response);
            sendRedirect:response.sendRedirect("/test.jsp");
            如果稱forword是一個導水渠,那么redirect則是一個指路人.forword將上一個流程的數(shù)據(jù)轉(zhuǎn)向下一個流程,而redirect只是提示瀏覽器需要訪問的下一個頁面.因此forword只可以在同一個context中使用;

                 5、Action與DispatchAction
            如果很多操作都是觸發(fā)同一個已定義的Action,只是所帶的method參數(shù)不同,這樣設計方便把功能類似的操作定義在同一個Action里面,然后根據(jù)不同的method參數(shù)調(diào)用不同的方法.在定義Action的時候繼承DispatchAction;而且在應用服務器中,每個Servlet就是一個線程,后一種辦法會導致系統(tǒng)中存在大量的處理用戶請求的線程,線程之間的切換的開銷回嚴重降低應用服務器的性能;

                 6、sesson的關閉
            一般情況下session都是存儲在內(nèi)存里,當服務器進程被停止或者重啟的時候,內(nèi)存里的session也會被清空.但是并不是瀏覽器關閉的時候session就消失了,這是不正確的.一般說來,session在下列情況下會被刪除:
             1)程序調(diào)用HttpSession.invalidate();
             2)距離上一次收到客戶端發(fā)送的session id時間間隔超過了session的超時限制;
             3)服務器進程被停止或者重啟;

                 7、java函數(shù)值傳遞還是引用傳遞?
            java數(shù)據(jù)類型有兩類:元數(shù)據(jù)類型和引用數(shù)據(jù)類型.在使用元數(shù)據(jù)類型進行傳遞的時候傳遞的是元數(shù)據(jù)類型本身的值,在傳遞引用數(shù)據(jù)類型的時候,傳遞的是這個引用對象的地址;


                ☆頁面編碼設置

          1、保證JSP向客戶端輸出時是采用中文編碼方式輸出的,JSP源代編中加入以下一行: 
            <%@page contentType="text/html; charset=gb2312"%>
          2、讓JSP能正確獲得傳入的參數(shù),在JSP源文件頭加入下面一句:
            <%request.setCharacterEncoding("GB2312");%>
          3、讓JSP編譯器能正確地解碼我們的含有中文字符的JSP文件,在JSP源文件中指定我們的JSP源文件的編碼格式
            <%@page pageEncoding="GB2312"%> 

          posted on 2009-10-20 13:37 大魚 閱讀(187) 評論(0)  編輯  收藏 所屬分類: jsp

          主站蜘蛛池模板: 门头沟区| 吉水县| 许昌县| 大厂| 松潘县| 安陆市| 连江县| 京山县| 集安市| 清丰县| 中宁县| 容城县| 修水县| 白朗县| 浦城县| 潜山县| 象山县| 临颍县| 建宁县| 五大连池市| 盱眙县| 梁山县| 乐山市| 漳州市| 临江市| 吴旗县| 安岳县| 扶沟县| 海城市| 保山市| 庆元县| 昌都县| 溧水县| 息烽县| 河津市| 荣成市| 百色市| 库车县| 承德市| 杨浦区| 肥西县|