国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

請(qǐng)求轉(zhuǎn)發(fā)jsp頁(yè)面亂碼問(wèn)題的快速解決方法

2024-09-05 00:22:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

•在最近的項(xiàng)目中 使用了jsp+servlet來(lái)開(kāi)發(fā)項(xiàng)目,但是由于后臺(tái)的不太熟練 導(dǎo)致了困難重重。所幸 學(xué)習(xí)能力還可以 一邊做一遍學(xué)吧。

•今天的問(wèn)題:請(qǐng)求轉(zhuǎn)發(fā)后頁(yè)面的亂碼問(wèn)題

•由于特殊原因——圖片上傳的form表單無(wú)法通過(guò)ajax提交 因此必須使用form表單直接提交。但是這樣會(huì)導(dǎo)致一個(gè)問(wèn)題:前后臺(tái)交互的時(shí)候效果不好。為什么效果不好?這里說(shuō)的不是功能的問(wèn)題。作為web開(kāi)發(fā)者,客戶的體驗(yàn)我們要放在第一位。因此,我們必須將對(duì)客戶的信息反饋放在一個(gè)比較重要的地位。說(shuō)白了,就是上傳個(gè)圖片成沒(méi)成功?我發(fā)布的信息是否成功的上傳了?如果你上傳東西的時(shí)候網(wǎng)頁(yè)沒(méi)反應(yīng),或者直接就跳轉(zhuǎn)到其他頁(yè)面,他會(huì)以為可以了,但是實(shí)際上沒(méi)有上傳到服務(wù)器上,原因可能很多,比如說(shuō)是我現(xiàn)在的網(wǎng)絡(luò)不好,或者文件太大了,或者是你的文件不支持,但是這作為不懂代碼的用戶來(lái)說(shuō)是很難理解的,他們會(huì)認(rèn)為你的網(wǎng)站做的實(shí)在是太垃圾了。

•因此,我們才會(huì)費(fèi)盡心思的去為客戶去思考,把他們想知道的信息傳達(dá)給他們。

•理所當(dāng)然,ajax很實(shí)用,但是在文件流的情況下是無(wú)法通過(guò)ajax上傳數(shù)據(jù)的。

•于是 request.getRequestDispacher('url').forward請(qǐng)求轉(zhuǎn)發(fā)和重定向派上了用場(chǎng)。而重定向是無(wú)法共享數(shù)據(jù)的,因此只能使用請(qǐng)求轉(zhuǎn)發(fā)。

•在此,文件為uploadServlet和user.jsp頁(yè)面。當(dāng)上傳購(gòu)物的信息時(shí)候,我所有信息已經(jīng)插入到后臺(tái),需要為用戶返回信息說(shuō),你成功了。那么傳統(tǒng)的方式,request.setAttribute()很實(shí)用,在jsp頁(yè)面上用request獲取值判斷是否成功就可以了。

•但是 轉(zhuǎn)發(fā)回來(lái)之后 頁(yè)面亂碼了。。。

•經(jīng)多方查找資料,終于找到解決方案;

•過(guò)濾器 配置成過(guò)濾所有的文件。

•現(xiàn)粘貼如下:

package com.java.Filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class EncodingFilter implements Filter{ public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest req, ServletResponse resp,  FilterChain chain) throws IOException, ServletException {  HttpServletRequest request = (HttpServletRequest) req;  HttpServletResponse response = (HttpServletResponse) resp;  request.setCharacterEncoding("utf-8");  response.setCharacterEncoding("utf-8");  response.setContentType("text/html;charset=UTF-8");  chain.doFilter(request, response); } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub }}

•web.xml配置:

<filter>  <filter-name>EncodingFilter</filter-name>  <filter-class>com.java.Filter.EncodingFilter</filter-class> </filter> <filter-mapping>  <filter-name>EncodingFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>

以上這篇請(qǐng)求轉(zhuǎn)發(fā)jsp頁(yè)面亂碼問(wèn)題的快速解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JSP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建宁县| 凤庆县| 谢通门县| 正镶白旗| 嘉黎县| 大方县| 济南市| 高尔夫| 克拉玛依市| 富民县| 涿州市| 山东省| 天长市| 邵武市| 塔河县| 辽阳县| 东丽区| 若羌县| 西昌市| 额尔古纳市| 黑山县| 疏勒县| 昌乐县| 威远县| 榆社县| 广昌县| 蒙自县| 九龙坡区| 旅游| 武邑县| 泾川县| 屏东县| 石渠县| 桓台县| 兴海县| 小金县| 工布江达县| 磴口县| 武城县| 鹿邑县| 威信县|