- 浏览: 399898 次
- 性别:
- 来自: 昆明
文章分类
- 全部博客 (198)
- java (28)
- J2EE (19)
- struts (33)
- sping (13)
- hibernate (18)
- mybatis (15)
- connection pool (3)
- DB (26)
- SQL (21)
- html (13)
- js (7)
- json (3)
- jquery (2)
- document (17)
- linux (15)
- C# (1)
- url (2)
- eweb4j (1)
- Turbine (1)
- 框架 (11)
- jdbcTemplate (3)
- aop (2)
- windows (2)
- ubuntu (1)
- eclipse (11)
- JPA (8)
- svn (4)
- get 传值 (2)
- mysql (5)
- oracle (2)
- hadoop (1)
- MongoDB (2)
- spring (1)
- python (1)
最新评论
-
jcbingjc:
楼主,你好,按照上面的配置,我报如下错误:Missing Pe ...
[properJavaRDP]在网页中实现远程连接 -
sucful:
折腾了半天跑不通 ,要传就搞个完整的吧
Struts2 <sx:div/>实现页面模块异步刷新 -
Kattou:
你好! 看了你写的这个分页 感觉很好, 但是不怎么会用么,请指 ...
jsp分页控件 -
我叫PSB:
地址完全用不了
eclipse中的安装 jseclipse -
1111emotion:
我的工程里还是有乱码的情况,我该改的地方都改了。
Eclipse/MyEclipse更改默认字符集 设置UTF-8
package cn.org.du.Encode;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
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 EncodeFilter implements Filter {
private FilterConfig filterConfig = null;
public void destroy() {
this.filterConfig = null;
}
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest req, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String encoding = this.filterConfig.getInitParameter("encoding");
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse resp = (HttpServletResponse) response;
request.setCharacterEncoding(encoding);
resp.setContentType("text/html;charset="+encoding);
// System.out.println(request.getQueryString());
// 处理GET参数
if (request.getMethod().equalsIgnoreCase("get")) {
Map paramMap = req.getParameterMap();
String[] queryStringArray = { "" };
if (request.getQueryString() != null) {
queryStringArray = request.getQueryString().split("&");
}
for (int i = 0; i < queryStringArray.length; i++) {
queryStringArray[i] = queryStringArray[i].replaceAll("(.*)=(.*)", "$1");
}
Set<String> keySet = paramMap.keySet();
for (String key : keySet) {
// check where param from
boolean isFromGet = false;
for (String paramFromGet : queryStringArray) {
if (key.equals(paramFromGet)) {
isFromGet = true;
}
}
if (!isFromGet) {
continue;
}
String[] paramArray = (String[]) paramMap.get(key);
for (int i = 0; i < paramArray.length; i++) {
paramArray[i] = new String(paramArray[i].getBytes("iso-8859-1"), encoding);
}
}
}
chain.doFilter(req, resp);
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
}
}
-----------------web.xml配置---------------------
<filter>
<filter-name>encodeFilter</filter-name>
<filter-class>cn.org.du.Encode.EncodeFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
发表评论
-
quartz 时间配置规则
2016-05-28 02:19 0quartz 时间配置规则 格式: [秒] [分] [小时 ... -
Struts2.1.8升级到Struts2.3.15.1的时候遇到了问题
2013-08-09 10:14 2012我把原来的Struts2.1.8升级到Struts2.3. ... -
J2EE RMI搭建
2012-10-08 13:21 1731RMI接口: package com.ynitil.sinf ... -
struts2 url传值中文乱码解决方案
2012-09-21 16:21 1419HttpServletRequest request = Ac ... -
关于JAVA中URL传递中文参数,取值是乱码的解决办法
2012-07-03 14:04 1428今天遇到一个问题就是在Action当中把一条中文信息绑定在UR ... -
JSP的九个隐含对象,EL表达式中的11个隐含对象,JSP的6个基本动作
2012-07-03 09:37 1603一、page 对象 page对 ... -
使用struts2中的ognl表达式调用类方法
2012-04-19 09:35 1367struts标签中value都会被解析,如,<s:pro ... -
使用struts2中的ognl表达式调用类方法(转)
2012-04-15 16:54 1285struts标签中value都会被解析,如,<s:pro ... -
struts2 url传值中文乱码解决方案
2012-04-15 15:51 1514HttpServletRequest request ... -
java.lang.OutOfMemoryError: Java heap space 解决方法
2012-04-09 11:12 1026java.lang.OutOfMemoryError: Jav ... -
SmartUpload 下载文件
2012-04-01 18:51 1244<%@ page contentType="t ... -
struts2 result type 介绍
2012-03-23 09:14 1166在默认时,<result>标签的type属性值是“ ... -
Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效
2012-03-08 17:43 1956问题:在Struts2中<jsp:forward pag ... -
Struts2整合Spring、JPA
2012-02-27 09:46 1919一直觉得JPA很神秘,最近抽空看了下,下面贴出刚才做的St ... -
JAVA三大框架的各自作用
2011-11-25 00:04 3200一、Spring Spring是 ... -
面向对象设计的SOLID原则
2011-11-26 00:15 1192S.O.L.I.D是面向对象设计和编程(OOD& ... -
使用SSH到底是为了快速开发,还是为了标准?
2011-11-25 00:00 2471使用SSH到底是为了快速开发,还是为了标准? 使用S ... -
Struts2、Spring、Hibernate 高效开发的最佳实践
2011-11-26 00:16 1270引言 SSH(Struts2+Spring+Hi ... -
Struts2与urlrewrite整合
2011-11-24 00:15 3349Struts2与URL Rewrite整合注意的地方 ... -
SiteMesh模板应用与struts2整合
2011-11-23 09:23 1734SiteMesh是一个非常优秀 ...
相关推荐
在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`<Connector>`标签,添加`URIEncoding="UTF-8"`属性。这将强制...
总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
`FilterDome`是一个具体的Filter实现,通常用来解决字符编码问题,即乱码过滤器。在处理中文或其他多语言字符时,乱码问题时常出现,`FilterDome`就是为了解决这个问题而设计的。下面将详细介绍`FilterDome`的工作...
综上所述,解决Struts2中文乱码问题的方法主要包括设置JSP页面编码、配置Struts2国际化编码、修改web.xml配置、使用POST请求方式以及自定义过滤器等。开发者可以根据项目的具体情况选择合适的方法来解决中文乱码问题...
对于使用Struts2标签创建的表单,无论GET还是POST,JSP页面都应使用UTF-8编码,并且不应使用getBytes("ISO8859-1")转换,同时无需使用中文过滤器。 接下来,我们探讨Servlet中的中文乱码处理。在GET请求中,JSP页面...
- 为了更灵活地控制编码,可以编写自定义过滤器来处理特定场景下的乱码问题。 - 示例代码: ```java public class CustomEncodingFilter implements Filter { private String encoding; @Override public ...
5. **Struts执行过程**:Struts2的工作流程包括:请求到达过滤器,过滤器拦截请求并转发给Struts2核心,核心解析请求,找到匹配的Action,执行Action,然后根据配置结果转发到相应的视图。 6. **namespace**:...
此配置确保了Struts2内部处理时使用GBK编码,与过滤器保持一致。 #### HTTP请求中的编码问题 HTTP请求根据其方法(GET/POST)的不同,编码的处理方式也有所不同: 1. **GET请求**:参数通过URL传递,浏览器默认...
- 在`web.xml`中,添加一个Struts2的清理过滤器(`struts-cleanup`),并确保其处理所有URL: ```xml <filter-name>struts-cleanup <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp ...
Struts1通常通过在`web.xml`中配置Filter来解决中文乱码问题,但在Struts2中,由于其内置的过滤器(如`FilterDispatcher`)会先于自定义Filter执行,因此自定义Filter往往无法生效。 #### 解决方案:使用拦截器 ...
配置Struts2的开发环境,需要将Struts2的jar包放入`WEB-INF/lib`目录,然后在`web.xml`中配置Struts2过滤器。过滤器的配置如下: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.ng....
总结,"超强过滤器"是解决JSP-Servlet之间中文参数GET-POST传递问题的有效手段,通过统一设定请求的字符编码,确保在整个Web应用中中文数据能够正确无误地传输和处理。对于大型项目,这样的全局解决方案可以大大提升...
Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。...同时,要注意处理中文乱码问题,例如在过滤器中设置正确的字符编码,以及根据需要调整配置以适应不同的项目需求。
- 在`web.xml`文件中配置此过滤器,使其对所有请求生效。 - **示例代码**(部分): ```xml <filter-name>SetCharacterEncoding <filter-class>...
#### 一、Struts2中的乱码问题及解决方案 在Java Web开发中,尤其是使用Struts2框架时,经常会遇到中文乱码的问题。这些问题的出现通常与字符编码设置不当有关。下面详细介绍几种有效的解决方法。 #### 1. JSP页面...
在Struts1中,我们通常会通过自定义Filter来处理请求的编码问题,但在Struts2中,由于其自身的过滤器机制,单纯依赖Filter可能无法有效地解决乱码问题。本文将详细介绍如何使用Struts2的拦截器(Interceptor)来解决...
总的来说,处理Structs中的中文乱码需要从多个层面入手,包括但不限于设置过滤器、配置拦截器以及确保页面和URL的正确编码。通过这些方法,我们可以有效地避免和解决中文乱码问题,从而保证应用程序的正常运行和用户...
1. 在`web.xml`中设置字符编码过滤器,如`<filter>`标签内的`<filter-name>CharacterEncodingFilter</filter-name>`和`<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>`,并配置`...
对于GET方式的中文乱码问题,我们可以在Tomcat的配置文件`conf/server.xml`中的`Connector`元素上添加一个属性来指定URI编码。例如,如果希望使用GBK编码,可以这样修改: ```xml URIEncoding="GBK" ... /> ``` ...