`

过滤器 解决中文乱码

阅读更多
[/align][/size]
本文主要讲解在网站开发中两个方面的问题,一是中文乱码,二是 css 的控制:比如标题栏按钮按下的颜色控制等,例如优酷的标题栏,处在哪个标题下该标题颜色就会加深。涉及到了jsp的动作标签<jsp:include page=""><jsp:param name="" value="" /> [color=red]注意:所涉及的css只要在web-inf下建个css文件夹在建一个空css文件把我给的代码拷进去就可以了[/color]
[[size=x-large]
[/color][align=center]

1.设计较为简单,主要涉及两个jsp页面。其中的一个包含另一个并向其传递参数(中文参数)为了解决中文乱码问题而使用filter.当然也可以不传递中文,主要是为了学习一下fiter的使用并检验一下。
2. [color=orange]第一个jsp页面为head.jsp代码如下
<%@ 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 -->
3.第二个jsp test.jsp 代码如下
<%@ 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: info@url.com" />
    <meta name="copyright" lang="en" content="Webdesign: Nuvio [www.nuvio.cz]; e-mail: ahoj@nuvio.cz" />

    <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;
}

}
4.配置xml文件
<?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的代码如下
代码压缩文件上传不上去,有需要和我联系villain564@sina.com
分享到:
评论
1 楼 hechenhui1983 2008-09-23  
http://www.abab123.com/bbs/down.asp?html=1042745

相关推荐

    使用过滤器解决中文乱码问题

    ### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...

    jsp用过滤器解决中文乱码问题的方法.docx

    jsp 用过滤器解决中文乱码问题的方法 jsp(JavaServer Pages)是一种广泛应用于Web开发的技术,但是在实际开发中,我们经常会遇到中文乱码问题。为了解决这个问题,我们可以使用jsp过滤器来实现编码设置。我今天要...

    过滤器解决中文乱码(项目)

    本项目"过滤器解决中文乱码"旨在提供一种有效的方法来处理这个问题。下面将详细介绍这个项目的相关知识点。 首先,我们要了解什么是过滤器(Filter)。在Java Web中,过滤器是Servlet API的一部分,它允许我们在...

    jsp 过滤器——解决中文乱码问题

    ### jsp过滤器——解决中文乱码问题 #### 背景介绍 在Web应用开发过程中,特别是使用Java Server Pages (JSP)进行中文字符处理时,经常遇到的一个问题是中文字符显示为乱码。这主要是因为客户端与服务器端之间存在...

    如何配置Filter过滤器处理JSP中文乱码

    【如何配置Filter过滤器处理JSP中文乱码】 在开发Java Web应用时,尤其是在处理包含中文字符的请求时,可能会遇到中文乱码的问题。解决这个问题的一种常见方法是使用Filter过滤器。以下是配置Filter过滤器处理JSP...

    jsp用过滤器解决中文乱码问题的方法

    总的来说,使用过滤器解决中文乱码问题是一种标准化且可维护的解决方案。它不仅可以确保所有的请求和响应都使用相同的字符编码,还能减少代码重复,提高代码的可读性和可维护性。因此,了解并掌握过滤器的使用对于...

    java里中文乱码的解决篇之过滤器

    要使用过滤器解决中文乱码,我们需要创建一个实现了javax.servlet.Filter接口的类。以下是一个简单的过滤器示例: ```java import javax.servlet.*; import java.io.IOException; public class ...

    java配置过滤器,解决乱码

    总结来说,Java配置过滤器解决乱码问题的核心在于确保请求和响应的编码与预期一致。通过设置请求的字符编码和响应的Content-Type,可以有效地防止乱码的产生,提升用户体验。在实际开发中,理解字符编码的工作原理,...

    JSP利用过滤器解决request中文乱码问题

    在JSP中使用过滤器来解决中文乱码问题的步骤大致如下: 首先,要创建一个过滤器类,该类需要实现javax.servlet.Filter接口。在该过滤器类中,必须重写init()、destroy()和doFilter()这三个方法。其中,doFilter()...

    jsp 过滤器中文乱码的处理

    通过这种方式,过滤器不仅可以解决中文乱码问题,还可以作为预防性措施,防止不安全的数据进入系统。 总结来说,JSP中的中文乱码问题可以通过设定请求的字符编码来解决,而过滤器提供了一种全局、高效的方式来处理...

    利用过滤器解决JavaWeb(JSP)的乱码问题

    除了上述基本的过滤器解决方案,还可以根据实际项目需求进行更复杂的编码管理,例如,针对不同的请求路径或HTTP方法设置不同的编码,或者在处理文件上传时考虑文件名的编码问题。 此外,对于"中文乱码问题.txt"这样...

    JSP利用过滤器解决request中文乱码问题.docx

    JSP利用过滤器解决request中文乱码问题 ...使用过滤器解决request中文乱码问题是JSP中解决中文乱码问题的一种有效方法。通过设置过滤器,可以确保中文字符被正确地读取和处理。这对JSP开发者来说非常重要。

    servlet过滤器解决乱码问题

    ### Servlet过滤器解决乱码问题 在Web应用开发过程中,字符编码问题经常出现,尤其是在处理中文等多字节字符时。如果不正确地设置字符编码,可能会导致页面显示乱码。本文将详细介绍如何通过Servlet过滤器来解决这...

    拦截器解决中文乱码问题

    "拦截器解决中文乱码问题"这个主题,主要关注的是如何通过使用拦截器(Interceptor)这一技术手段来预防或解决乱码现象。拦截器是Spring MVC框架中的一个重要组件,它可以对HTTP请求进行预处理和后处理,从而在数据...

    用过滤器解决oracle中文乱码问题

    ### 用过滤器解决Oracle中文乱码问题 在开发基于Web的应用程序时,尤其是在使用Java Servlet技术进行开发的过程中,我们经常会遇到从Oracle数据库读取中文数据时出现乱码的情况。这种情况不仅会影响用户体验,还会...

    JSP用过滤器解决request getParameter中文乱码问题.docx

    总的来说,通过在过滤器中设置合适的字符编码,我们可以有效地解决JSP应用中请求参数中文乱码的问题。需要注意的是,选择哪种字符编码取决于你的应用需求,不同的编码可能会适用于不同的环境和用户群体。此外,如果...

    jsp中文乱码过滤器

    在解决中文乱码问题上,过滤器可以设置合适的字符编码,确保数据在传输过程中的正确性。 **三、JSP中文乱码过滤器的实现** 1. **创建Filter类**:首先,我们需要创建一个实现了`javax.servlet.Filter`接口的类,并...

    java中文过滤器消除乱码问题

    为了有效解决这个问题,开发者通常会使用“中文过滤器”(或者叫做字符编码过滤器)。本篇将详细讲解如何利用这种过滤器来消除Java Web中的乱码问题。 首先,我们需要理解乱码产生的原因。在Java Web应用中,乱码...

Global site tag (gtag.js) - Google Analytics