2015年3月25日

          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ù)時(shí)進(jìn)行編碼轉(zhuǎn)換

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

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

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

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

          新手可以暫時(shí)不考慮過濾器的方法,過濾器一般都會(huì)涉及到配置開發(fā),要修改web.xml,還算是比較麻煩的,建議接觸java一段時(shí)間后再考慮使用過濾器的方法。或者如果應(yīng)用了struts框架,可以查看struts的轉(zhuǎn)碼過濾器配置。
          實(shí)際例子:
          <%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 @ 2015-03-25 14:25 張東亮 閱讀(237) | 評(píng)論 (0)編輯 收藏
           
          遇到問題:com.mysql.jdbc.Driver class not found 我在項(xiàng)目中的WEB-INF/lib中添加mysql-connector-java-5.6-bin jar包后在eclipse中選中項(xiàng)目刷新,在lib中選中mysql-connector-java-5.6-bin jar右鍵點(diǎn)擊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 @ 2015-03-25 14:15 張東亮 閱讀(134) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  
           
          主站蜘蛛池模板: 桑日县| 迁安市| 白城市| 禄丰县| 涪陵区| 重庆市| 河南省| 阿尔山市| 宿迁市| 井研县| 岢岚县| 衡东县| 阿克陶县| 安庆市| 大足县| 江达县| 洛隆县| 左贡县| 通渭县| 绥德县| 香河县| 阿巴嘎旗| 三门县| 乌拉特后旗| 张家口市| 长兴县| 浦城县| 竹山县| 淮南市| 灌阳县| 德化县| 康保县| 苍梧县| 昌黎县| 德昌县| 山阴县| 博罗县| 浮梁县| 米林县| 泰来县| 天气|