1. 程式人生 > >過濾器 解決中文亂碼

過濾器 解決中文亂碼

[align=center][/align][size=x-large][/size]
[color=green]本文主要講解在網站開發中兩個方面的問題,一是中文亂碼,二是 css 的控制:比如標題欄按鈕按下的顏色控制等,例如優酷的標題欄,處在哪個標題下該標題顏色就會加深。涉及到了jsp的動作標籤<jsp:include page=""><jsp:param name="" value="" /> [color=red]注意:所涉及的css只要在web-inf下建個css資料夾在建一個空css檔案把我給的程式碼拷進去就可以了[/color][/color]
[[size=x-large][/size][color=darkblue][/color][align=center][/align]
1.設計較為簡單,主要涉及兩個jsp頁面。其中的一個包含另一個並向其傳遞引數(中文引數)為了解決中文亂碼問題而使用filter.當然也可以不傳遞中文,主要是為了學習一下fiter的使用並檢驗一下。
2. [color=orange]第一個jsp頁面為head.jsp程式碼如下[/color]
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- Header -->
<div id="header">
<h1 id="logo">
<a href="./" title="[Go to homepage]"><img src="tmp/logo.gif" alt="" /></a>
</h1>
<hr class="noscreen" />

<!-- Navigation -->
<div id="nav">
<a href="#" id="nav-active">Homepage</a><span>|</span>
<a href="#">About us</a><span>|</span>
<a href="#">Support</a><span>|</span>
<a href="#">Contact</a>
</div>
<!-- /nav -->
</div>
<!-- /header -->

<!-- Tray -->
<div id="tray">

<ul>
<c:if test="${param.page eq '主頁'}">
<li id="tray-active"><a href="#">個人中心</a></li>
</c:if>
<c:if test="${param.page ne '主頁''}">
<li><a href="#">個人中心</a></li>
</c:if>
<c:if test="${param.page eq '第二頁'}">
<li id="tray-active"><a href="#">個人資訊維護</a></li>
</c:if>
<c:if test="${param.page ne '第二頁'}">
<li><a href="#">個人資訊維護</a></li>
</c:if>
<c:if test="${param.page eq 'jobinfo'}">
<li id="tray-active"><a href="#">就業資訊維護</a></li>
</c:if>
<c:if test="${param.page ne 'jobinfo'}">
<li><a href="#">就業資訊維護</a></li>
</c:if>
</ul>

<!-- Search -->
<div id="search" class="box">
<form action="#" method="get">
<div class="box">
<div id="search-input">
<span class="noscreen">Search:</span>
<input type="text" size="30" name="" value="Search" />
</div>
<div id="search-submit">
<input type="image" src="design/search-submit.gif" value="OK" />
</div>
</div>
</form>
</div>
<!-- /search -->

<hr class="noscreen" />
</div>
<!-- /tray -->
[color=orange]3.第二個jsp test.jsp 程式碼如下[/color]
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="content-language" content="en" />
<meta name="robots" content="all,follow" />

<meta name="author" lang="en" content="All: Your name [www.url.com]; e-mail:
[email protected]
" />
<meta name="copyright" lang="en" content="Webdesign: Nuvio [www.nuvio.cz]; e-mail: [email protected]" />

<meta name="description" content="..." />
<meta name="keywords" content="..." />

<link rel="stylesheet" media="screen,projection" type="text/css" href="css/reset.css" />
<link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css" />
<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="css/main-msie.css" /><![endif]-->
<link rel="stylesheet" media="screen,projection" type="text/css" href="css/style.css" />
<link rel="stylesheet" media="print" type="text/css" href="css/print.css" />

<title>Impress</title>
</head>

<body>

<div id="main">
<!-- Header -->
<jsp:include page="include/stdHead.jsp">
<jsp:param name="page" value="主頁"/> //此處的value值自己變動看效果
</jsp:include>
</div>
</body>
</html>
3.EncodingFiter.java的程式碼如下
package com.czg.common;

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;

public class EncodingFilter implements Filter {

protected FilterConfig filterConfig;
protected String targetEncoding = null;

public void destroy() {

this.filterConfig = null;

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

System.out.println("使用"+ targetEncoding + "編碼");

HttpServletRequest request2 = (HttpServletRequest)request;
request2.setCharacterEncoding(targetEncoding);
chain.doFilter(request, response);

}

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;
this.targetEncoding = filterConfig.getInitParameter("enconding");


}



public void setFilterConfig(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}

}
[color=orange]4.配置xml檔案[/color]
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.czg.common.EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>
5.css的程式碼如下
程式碼壓縮檔案上傳不上去,有需要和我聯絡
[email protected]

相關推薦

web.xml 新增過濾器解決中文亂碼

<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilt

springmvc過濾器解決中文亂碼問題

前端傳送請求中文亂碼問題,在web.xml檔案中配置過濾器修改編碼格式 <!-- 解決中文亂碼問題,使用過濾器 --> <!--配置編碼格式--> <filter> <filter-name>c

過濾器 解決中文亂碼

[align=center][/align][size=x-large][/size][color=green]本文主要講解在網站開發中兩個方面的問題,一是中文亂碼,二是 css 的控制:比如標題欄按鈕按下的顏色控制等,例如優酷的標題欄,處在哪個標題下該標題顏色就會加深。涉及

用java過濾器解決中文亂碼_百度文庫

java中文亂碼過濾器2010-10-14 10:56:07| 分類: java | 標籤: |字號大 中 小 訂閱 package filters; import java.io.IOException; import javax.servlet.Filter; i

SSH設定字符集過濾器解決中文亂碼問題

web.xml配置(必須放在struts2配置之前): <!-- 字元編碼過濾器配置--> <filter> <filter-name>CharEncodingFilter</filter-name> <filte

零xml配置Spring MVC過濾器解決中文引數亂碼

由於JSP預設的字元編碼為ISO-8859-1,如果request中有中文的話會出現亂碼,因此可以使用過濾器設定request的編碼 Spring MVC中提供了一個CharacterEncodingFilter,顧名思義就是用來做字元編碼的過濾器。因此可以自

解決中文亂碼過濾器

1.新建一個類 CndoFilter package com.cndo.cndoFilter.filter; import java.io.IOException; import javax.servlet.Filter;import javax.servlet.Filt

json傳輸數據解決中文亂碼問題

.ajax https servle set encode url todo except uri 1.Ajax在url帶參數(中文):    encodeURI(encodeURI(expireDesc))//設置編碼 2.後臺接收需要轉碼:   URLDecoder.d

XAMPP下的MYSQL解決中文亂碼問題

png mysql 使用 sql 數據庫 div 剛才 個數 中文 相信有很多朋友都跟我一樣,使用XAMPP集成的MYSQL,因為它操作起來實在太方便了。但是它默認不是支持UTF-8的,需要我們手動去修改配置文件my.ini 打開XAMPP的控制面板,並打開配置文件

centos6.7下安裝mysql5.6.22同時解決中文亂碼問題

系統服務 iptable nod -- 1.7 亂碼問題 dport 5.6 復制 1.下載 http://dev.mysql.com/downloads/mysql/ 或者使用wget下載: wget http://dev.mysql.com/get/Do

[Visual studio code 常見問題解決] ——中文亂碼

cnblogs visual 亂碼 中文 odi 描述 pan 設置 開始 中文亂碼問題解決 描述:剛開始安裝VScode要打開含中文的文件,都會出現亂碼,這時只要點擊右下方的“UTF-8”改成“GB2312”即可。但每次都改是很麻煩的,所以要使得VScode默認支持GB2

Curl之解決中文亂碼

ram 添加 編碼格式 下載 utf 命令 spa 文件轉換 targe 利用iconv命令 curl http://www.baidu.com | iconv -f gb2312 -t utf-8 iconv命令可以將一種已知的字符集文件轉換成另一種已知的字符集

pdfmake實現中文支持,解決中文亂碼問題

亂碼 build cnblogs js模塊 fonts字體 修改配置 打開 命令 覆蓋 引言:當初自己為了在項目中bootstrap-table中實現導出pdf,使用的pdfmake,但是pdfmake默認使用的不是中文字體,實現pdfmake使用中文字體主要就是編譯新的v

zabbix 3.2.6 解決中文亂碼問題

zabbix在C:\Windows\Fonts下找一個喜歡的字體安裝一個上傳下載工具lrzsz[[email protected]/* */ /]# yum -y install lrzsz選一個字體上傳至服務器[[email protected]/* */ /]# cd /var/w

Tomcat解決中文亂碼

bsp 字節 for after 查詢參數 utf-8 his blog 屬性 一、中文亂碼原因 Tomcat默認是按ISO-8859-1進行URL解碼,ISO-8859-1並未包括中文字符,中文字符不能被正確解析了。 二、配置編碼 在tomcat的conf/serve

解決中文亂碼問題

get clas pretty ram int ring byte pre getpara // 解決中文亂碼的問題 String name = new String((request.getParameter("name")).getBytes("ISO-8859-1")

CentOS6.5解決中文亂碼與設置字符集

解決中文亂碼 fig 編碼 font 了解 生效 命令 說明 windows 1)說明: Windows的默認編碼為GBK,Linux的默認編碼為UTF-8。在Windows下編輯的中文,在Linux下顯示為亂碼。為了解決此問題,修改Linux的默認編碼為GBK。2)查看支

IDEA解決中文亂碼問題

全局 idea class 也有 分享 alt odin 亂碼問題 遇到 idea在使用過程中經常會遇到各種亂碼問題,網上也有很多解決辦法,今天所講的就是終極解決辦法: (1)首先,全局搜索文件 idea64.exe.vmoptions 找到之後,將該行代碼復制進去即可

mysql 解決中文亂碼

字符編碼 mage 符號 HP l數據庫 兩條命令 出現 方法 兩種 首先: 用show variables like “%colla%”;show varables like “%char%”;這兩條命令查看數

如何使用過濾器處理中文亂碼

圖片 context port over insert except 技術 DDU 入參 如果瀏覽器提交數據給Servlet的時候含中文參數,那麽在Servlet中就要處理中文亂碼。如果有多個Servlet都要同時接收中文參數,那麽在Servlet中處理中文亂碼就比較麻煩。