1. 程式人生 > >web開發模式小結:頁面亂碼和跳轉

web開發模式小結:頁面亂碼和跳轉

ati 字符 -- 默認 htm *** 亂碼 控制 ram

本文由付老師總結書寫

java開發模式:
(1)第一種開始模式:javaBean+jsp :
優點:可以為web程序在jsp中減少java代碼量

適用於該開發模式的jsp的動作元素:<jsp:usebean id= class=> :相當於實例化bean對象
<%= id.get/set%>

<jsp:setProperty property="" name="usebean中的id" value param> :value和param不能共存
<jsp:getProperty property="" name="usebean中的id">

缺點:
不利於分工;不利於代碼重用


(2)第二種開發模型:MVC開發模型
MVC分別代表:
M :model(模型) javaBean
V :view(視圖層) jsp
C :control(控制層) servlet(目前)


----------------------
總結所有不同出處亂碼的問題:
(1)解決中文文件亂碼問題:
tomcat-》 conf->server.xml -><connect protocol="http1.1" port="8080" URIEncoding ="UTF-8">

(2)表單form請求時中文亂碼,(表單請求默認為get請求,一般method請求寫為:post)
post請求時:在被請求的頁面(jsp/servlet):request.setCharactEnconing("utf-8");

get請求時: String oldStr=“中文”;
//解析後生成新的字符串:
String newStr = new String(oldStr.getByte("ISO-8859-1"),"utf-8");


(3)servlet或者jsp響應到瀏覽器出現亂碼的問題:
response.setCharactEnconing("utf-8");
response.setcontentType("text/html charset=utf-8");


(4)在使用Cookie對象的時候出現中文解析亂碼:
Cookie c1 = new Cookie("name","URLEncoder.encode(中文value,"utf-8")");--加碼

獲取cookie : request.getCookies
在獲取cookie的時候需要對中文的值進行解碼: URLDecoder.decode(中文value,"utf-8");

(5)本身頁面的編碼格式:確定為UTF-8

***************跳轉方式的總結**********
前端交互後端的幾種方式:
(1)表單請求:<form action="jsp/servlet" method="get/post">
(2) location.href="jsp/servlet" (該請求一般都是get請求)
(3)超鏈接標簽:<a href="jsp/servlet" (該請求一般都是get請求)"> </a>

後端交互到前端:
(1)request.getRquestDispacther("jsp/servlet(路徑問題)").forward(request,response) :請求轉發的頁面地址欄不改變,路徑後面可以跟參數
(2)重定向跳轉:response.sendRedirect(jsp/servlet(路徑問題));
// 重定向頁面地址欄改變。


web開發模式小結:頁面亂碼和跳轉