<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    2017年6月19日

    jsp傳遞中文亂碼解決方法

    request.setCharacterEncoding("UTF-8")頁面也需要設(shè)置轉(zhuǎn)碼的:
    頁面:(.jsp)
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    response.setContentType("text/html;charset=UTF-8");

    處理文件:(.java)
    轉(zhuǎn)碼的三種方法:
    A 接受參數(shù)時進行編碼轉(zhuǎn)換

    String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 這樣的話,每一個參數(shù)都必須這樣進行轉(zhuǎn)碼。很麻煩。但確實可以拿到漢字。

    B 在請求頁面上開始處,執(zhí)行請求的編碼代碼, request.setCharacterEncoding("UTF-8"),把提交內(nèi)容的字符集設(shè)為UTF-8。這樣的話,接受此參數(shù)的頁面就不必在轉(zhuǎn)碼了。直接使用
    String str = request.getParameter("something");即可得到漢字參數(shù)。但每頁都需要執(zhí)行這句話。

    這個方法也就對post提交的有效果,對于get提交和上傳文件時的enctype="multipart/form-data"是無效的。稍后下面單獨對這個兩個的亂碼情況再進行說明。

    C 為了避免每頁都要寫request.setCharacterEncoding("UTF-8"),建議使用過濾器對所有jsp進行編碼處理。

    新手可以暫時不考慮過濾器的方法,過濾器一般都會涉及到配置開發(fā),要修改web.xml,還算是比較麻煩的,建議接觸java一段時間后再考慮使用過濾器的方法。或者如果應用了struts框架,可以查看struts的轉(zhuǎn)碼過濾器配置。
    實際例子:
    <%request.setCharacterEncoding("UTF-8")%>放在jsp<head></head>之間
    jspforward.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <% request.setCharacterEncoding("UTF-8");%> </head> <body> <jsp:forward page="/forwardresult.jsp"> <jsp:param name="name" value="李海"></jsp:param> <jsp:param name="age" value="29"></jsp:param> </jsp:forward> </body> </html>
    jspresult.jsp
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <%=request.getParameter("name")%> <%=request.getParameter("age")%> </body> </html>


    posted @ 2017-06-19 14:46 藍胖 閱讀(325) | 評論 (0)編輯 收藏

    jsp訪問mysql數(shù)據(jù)庫 class not found

    遇到問題:com.mysql.jdbc.Driver class not found 我在項目中的WEB-INF/lib中添加mysql-connector-java-5.6-bin jar包后在eclipse中選中項目刷新,在lib中選中mysql-connector-java-5.6-bin jar右鍵點擊addbulidPath成功解決問題 完整的代碼如下:

    <%@page import="java.sql.DriverManager" import="java.sql.Connection" import="java.sql.Statement" 
    import="java.sql.ResultSet" %>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
    Statement stmt=conn.createStatement();
    String sql="select * from person ";
    ResultSet rs=stmt.executeQuery(sql);
    %>
    <table bgcolor="green" border="1">
    <tr>
    <td>id</td>
    <td>name</td>
    <td>sex</td>
    <td>age</td>
    </tr>
    <%
    while(rs.next()){
    %>
    <tr>
    <td><%=rs.getString("id") %></td>
    <td><%=rs.getString("name") %></td>
    <td><%=rs.getString("sex") %></td>
    <td><%=rs.getString("age")%></td>
    </tr>
    <% }%>
    </table>
    </body>
    </html>

    posted @ 2017-06-19 14:46 藍胖 閱讀(218) | 評論 (0)編輯 收藏

    Eclipse 一直提示 loading descriptor for 解決

    第一次沒有找到所以截圖下來
    你Eclipse左側(cè)的Project Explorer 最右上角有一個小鈕,鼠標移上去時提示"View Menu".




    你點一下,在彈出的上下文菜單中選擇"Customize View..." 彈出一個對話框.



    你選擇: Content 選項卡,在里面把沒用的去掉就行了 J2EE WEB loading descriptor .

    posted @ 2017-06-19 14:45 藍胖 閱讀(498) | 評論 (0)編輯 收藏

    解決MyEclipse吃內(nèi)存,讓MyEclipse速度飛起來

    前言:MyEclipse5.5 大小 139M;MyEclipse6.5 大小 451M;MyEclipse7.0 大小 649M!下載服務(wù)器又是國外的。。。下載速度累人也就罷了,只要你工作性能一流。不幸的是,MyEclipse 屬于狂吃內(nèi)存的主,特別是 MyEclipse7.0 運行起來,基本上不用干其他工作了,它是一會Quick update,一會 updating indexes ,你耐著性子等它 update 完,它老人家又開始自動 validation 了!

    實在忍無可忍,作者收集了一些關(guān)于解決 MyEclipse 的耗內(nèi)存的辦法,經(jīng)本人測試非常有效,共享出來,希望可以方便更多的朋友。

    1 老是彈出Quick update error 、關(guān)閉myeclipse的Quick Update自動更新功能


    這個問題的解決辦法是關(guān)閉自動更新

    Windows > Preferences > MyEclipse Enterprise Workbench > Community Essentials, 
    把選項 "Search for new features on startup"的前勾去掉即可。

    2 關(guān)閉updating indexes

    Window > Preferences > Myeclipse Enterprise Workbench > Maven4Myeclipse > Maven>禁用Download repository index updates on startup 。

    3 關(guān)閉MyEclipse的自動validation

    validation有一堆,什么xml、jsp、jsf、js等等,我們沒有必要全部都去自動校驗一下,只是需要的時候才會手工校驗一下,速度立馬提升好幾個檔次

    windows > perferences > myeclipse > validation 
    將Build下全部勾取消

    如果你需要驗證某個文件的時候,我們可以單獨去驗證它。方法是,在需要驗證的文件上( 右鍵 -> MyEclipse -> Run Validation 。

    4 啟動優(yōu)化,關(guān)閉不需要使用的模塊

    一個系統(tǒng)20%的功能往往能夠滿足80%的需求,MyEclipse也不例外,我們在大多數(shù)時候只需要20%的系統(tǒng)功能,所以可以將一些不使用的模塊禁止 加載啟動。

    Window > Preferences > General > Startup andy Shutdown 在這里列出的是MyEclipse啟動時加載的模塊 我這里只讓它加載tomcat5 勾選 MyEclipse EASIE Tomcat 5 。

    怎樣才能知道哪些啟動項有用呢?我現(xiàn)在把我知道的啟動項用處說一下,還有很多不懂的,希望大家懂的回復在下面?。?nbsp;
    WTP :一個跟myeclipse差不多的東西,主要差別是 WTP 是免費的,如果使用myeclipse,這個可以取消 
    Mylyn:組隊任務(wù)管理工具,類似于 CVS ,以任務(wù)為單位管理項目進度,沒用到的可以取消 
    Derby:一種保存成 jar 形式的數(shù)據(jù)庫,我沒用到,取消 
    一大排以 MyEclipse EASIE 打頭的啟動項:myeclipse 支持的服務(wù)器,只選自己用的,其他取消,比如我只選了tomcat 。

    5 去掉MyEclipse的拼寫檢查(如果你覺的有用可以不去)

    拼寫檢查會給我們帶來不少的麻煩,我們的方法命名都會是單詞的縮寫,他也會提示有錯,所以最好去掉,沒有多大的用處

     Window > perferences > General >  Editors > Text Editors > Spelling > 將Enable spell checking復選框的勾選去掉。

    6 去掉MyEclipse繁雜的自帶插件自動加載項


     Window > perferences > General > Startup and Shutdown > 將Plug-ins activated on startup 中的復選框有選擇性的勾選去掉。

    7 修改MyEclipse編輯JSP頁面時的編輯工具  


     Window > perferences > General > Editors > File Associations > 
      在File types 中選擇 *.jsp > 在Associated editors 中將"MyEclipse JSP Editor"設(shè)置為默認。

    8 修改MyEclipse安裝目錄的eclipse.ini文件,加大JVM的非堆內(nèi)存

    具體內(nèi)容如下:
     -clean
     -showsplash
     com.genuitec.myeclipse.product.ide
     --launcher.XXMaxPermSize
     256m
     -vmargs
     -Xms128m
     -Xmx512m
     -Duser.language=en 
     -XX:PermSize=128M 
     -XX:MaxPermSize=256M

    把下面的那個 -XX:MaxPermSize 調(diào)大,比如 -XX:MaxPermSize=512M,再把 -XX:PermSize 調(diào)成跟 -XX:MaxPermSize一樣大

    posted @ 2017-06-19 14:43 藍胖 閱讀(1166) | 評論 (0)編輯 收藏

    an internal error occurred during building workspace錯誤

    Eclipse導入了一個比較大的項目,出現(xiàn)了an internal error occurred during building workspace錯誤。

    網(wǎng)上搜了一下,據(jù)說是內(nèi)存溢出問題??梢酝ㄟ^修改eclipse.ini文件解決,

     

    優(yōu)化之后的ini文件內(nèi)容:

    -startup
    plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
    -product
    org.eclipse.epp.package.java.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M

    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m

    --launcher.defaultAction
    openFile

    -vm
    C:\java\1.6\bin

    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx512m


    以下為查找得的一些資料,解釋我們在修改的參數(shù)是什么意思。


            1.堆(Heap)和非堆(Non-heap)內(nèi)存
    按照官方的說法:“Java 虛擬機具有一個堆,堆是運行時數(shù)據(jù)區(qū)域,所有類實例和數(shù)組的內(nèi)存均從此處分配。堆是在 Java 虛擬機啟動時創(chuàng)建的。”“在JVM中堆之外的內(nèi)存稱為非堆內(nèi)存(Non-heap memory)”。可以看出JVM主要管理兩種類型的內(nèi)存:堆和非堆。簡單來說堆就是Java代碼可及的內(nèi)存,是留給開發(fā)人員使用的;非堆就是JVM留給自己用的,所以方法區(qū)、JVM內(nèi)部處理或優(yōu)化所需的內(nèi)存(如JIT編譯后的代碼緩存)、每個類結(jié)構(gòu)(如運行時常數(shù)池、字段和方法數(shù)據(jù))以及方法和構(gòu)造方法的代碼都在非堆內(nèi)存中。

            2.堆內(nèi)存分配
           JVM初始分配的內(nèi)存-Xms指定,默認是物理內(nèi)存的1/64;JVM最大分配的內(nèi)存-Xmx指定,默認是物理內(nèi)存的1/4。默認空余堆內(nèi)存小于40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時,JVM會減少堆直到-Xms的最小限制。因此服務(wù)器一般設(shè)置-Xms、-Xmx相等以避免在每次GC 后調(diào)整堆的大小。

            3.非堆內(nèi)存分配
    JVM使用-XX:PermSize設(shè)置非堆內(nèi)存初始值,默認是物理內(nèi)存的1/64;由XX:MaxPermSize設(shè)置最大非堆內(nèi)存的大小,默認是物理內(nèi)存的1/4。

            4.JVM內(nèi)存限制(最大值)
    首先JVM內(nèi)存限制于實際的最大物理內(nèi)存,假設(shè)物理內(nèi)存無限大的話,JVM內(nèi)存的最大值跟操作系統(tǒng)有很大的關(guān)系。簡單的說就32位處理器雖然可控內(nèi)存空間有4GB,但是具體的操作系統(tǒng)會給一個限制,這個限制一般是2GB-3GB(一般來說Windows系統(tǒng)下為1.5G-2G,Linux系統(tǒng)下為2G-3G),而64bit以上的處理器就不會有限制了。

            舉例說明含義:
            -Xms128m 表示JVM Heap(堆內(nèi)存)最小尺寸128MB,初始分配
            -Xmx512m 表示JVM Heap(堆內(nèi)存)最大允許的尺寸256MB,按需分配。

        說明:如果-Xmx不指定或者指定偏小,應用可能會導致java.lang.OutOfMemory錯誤,此錯誤來自JVM不是Throwable的,無法用try...catch捕捉。

            PermSize和MaxPermSize指明虛擬機為java永久生成對象(Permanate generation)如,class對象、方法對象這些可反射(reflective)對象分配內(nèi)存限制,這些內(nèi)存不包括在Heap(堆內(nèi)存)區(qū)之中。
            -XX:PermSize=64MB 最小尺寸,初始分配 
             -XX:MaxPermSize=256MB 最大允許分配尺寸,按需分配
             過小會導致:java.lang.OutOfMemoryError: PermGen space
              MaxPermSize缺省值和-server -client選項相關(guān)。-server選項下默認MaxPermSize為64m
              -client選項下默認MaxPermSize為32m

            PS:不同廠家的jdk垃圾回收算法不一樣。在sun的jdk下,Xms和Xmx設(shè)置一樣,可以減輕伸縮堆大小帶來的壓力,但在ibm的jdk下面,設(shè)置為一樣會增大堆碎片產(chǎn)生的幾率。

            下面再簡單的整理一下優(yōu)化MyEclipse速度的主要方法:
            1.修改myeclipse.ini。
            2.取消自動validation
            3.勾掉無用插件。
            4.修改啟動加載模塊
     下面附上詳細的優(yōu)化MyEclipse速度方法:(轉(zhuǎn)載
            http://yufenfei.javaeye.com/blog/376464
            http://blog.csdn.net/defonds/archive/2009/07/10/4338782.aspx
            http://zhangpengshou.javaeye.com/blog/198476

    posted @ 2017-06-19 14:38 藍胖 閱讀(286) | 評論 (0)編輯 收藏

    jsp鏈接mysql數(shù)據(jù)庫

    遇到問題:com.mysql.jdbc.Driver class not found 我在項目中的WEB-INF/lib中添加mysql-connector-java-5.6-bin jar包后在eclipse中選中項目刷新,在lib中選中mysql-connector-java-5.6-bin jar右鍵點擊addbulidPath成功解決問題 完整的代碼如下:

    <%@page import="java.sql.DriverManager" import="java.sql.Connection" import="java.sql.Statement" 
    import="java.sql.ResultSet" %>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    Class.forName("com.mysql.jdbc.Driver");
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","123456");
    Statement stmt=conn.createStatement();
    String sql="select * from person ";
    ResultSet rs=stmt.executeQuery(sql);
    %>
    <table bgcolor="green" border="1">
    <tr>
    <td>id</td>
    <td>name</td>
    <td>sex</td>
    <td>age</td>
    </tr>
    <%
    while(rs.next()){
    %>
    <tr>
    <td><%=rs.getString("id") %></td>
    <td><%=rs.getString("name") %></td>
    <td><%=rs.getString("sex") %></td>
    <td><%=rs.getString("age")%></td>
    </tr>
    <% }%>
    </table>
    </body>
    </html>

    posted @ 2017-06-19 14:33 藍胖 閱讀(158) | 評論 (0)編輯 收藏

    僅列出標題  
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人综合久久精品免费| 国产成人精品亚洲精品| 国产精品亚洲а∨天堂2021| 精品国产亚洲一区二区在线观看 | 蜜桃传媒一区二区亚洲AV| 久久er国产精品免费观看2| 91亚洲导航深夜福利| 亚在线观看免费视频入口| 久久综合久久综合亚洲| 亚洲爽爽一区二区三区| 亚洲日韩在线中文字幕综合| 毛片免费在线观看网址| 亚洲综合亚洲国产尤物| 蜜臀AV免费一区二区三区| 韩国亚洲伊人久久综合影院| 亚洲AV永久无码精品水牛影视| 成人免费一区二区三区| 亚洲伦理中文字幕| 国产精品视频免费一区二区| h视频在线观看免费| 亚洲伊人久久大香线焦| 国产亚洲av人片在线观看| www.黄色免费网站| 免费无码又爽又刺激一高潮| 伊人久久综在合线亚洲2019| 四虎永久在线精品免费观看地址| 久久国产精品免费观看| 亚洲国产精品专区| 妞干网免费视频在线观看| 日韩免费电影网站| 九九全国免费视频| 国产亚洲综合成人91精品| 日本免费人成视频播放| 亚洲免费在线观看视频| 2020亚洲男人天堂精品| 国产日产成人免费视频在线观看| 一级毛片免费在线观看网站| 亚洲AV无码久久精品色欲| 成人免费视频69| 男人的天堂网免费网站| 亚洲人成电影在线观看青青|