在java web开发过程中总是会碰到各种问题,最近做毕业设计的时候就遇到了,现在把我处理乱码问题统一下写出来。
1:首先是配置个过滤器,这样只要是通过form收集的收据一般都没有什么问题。
放入过滤器的步骤:
1.1:写入一个javabean文件,放在src目录下面:
代码如下:
public class CharacterEncodingFilter implements Filter {
/**
* 编码方式
*/
public String characterEncoding;
/**
*
*/
public boolean enabled;
/**
*
* Create date:2012-4-5 Method name:destroy Description: [方法描述]
*/
public void destroy() {
characterEncoding = null;
}
/**
*
* Create date:2012-4-5 Method name:doFilter Description: [方法描述]
*
* @param request
* @param response
* @param chain
* @throws IOException
* @throws ServletException
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (enabled || characterEncoding != null) {
request.setCharacterEncoding(characterEncoding);
response.setCharacterEncoding(characterEncoding);
}
chain.doFilter(request, response);
}
/**
*
* Create date:2012-4-5 Method name:init Description: [方法描述]
*
* @param config
* @throws ServletException
*/
public void init(FilterConfig config) throws ServletException {
characterEncoding = config.getInitParameter("characterEncoding");
enabled = "true".equalsIgnoreCase(config.getInitParameter("enabled")
.trim());
}
}
1.2 然后在web.xml中进行相应的配置:
<!-- 过滤器-->
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>com.xxx.xxx.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>characterEncoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>enabled</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- -->
2:如果是通过js,jquery传值的方式的话:
2.1:在js当中需要进行encodeURI,如下列代码:
//缴费确认
function payMentSure(){
var orderNo = $('#orderNo').text(); //受理单编号
var paytotal = $('#paytotal').text(); //支付总金额
if(window.confirm('确定要缴费吗?')){
document.forms[0].action = path
+ "/remainingPay.do?method=payMentSure&orderNo="
+ encodeURI(encodeURI(orderNo))+"&paytotal="+encodeURI(encodeURI(paytotal));
document.forms[0].submit();
}
}
2.2:在action里面接收js中传过来的值的时候,同时也需要用URLDecoder进行解码操作:
代码如下:
// 取得支付总金额
String temp2 = request.getParameter("paytotal");
String str = URLDecoder.decode(temp2, "UTF-8");
以上是我在开发过程中解决乱码问题,当然如果用到了tomcat7.0的话,就根本不需要这个进行处理乱码问题,tomcat7.0自带了解决乱码问题;当然你也可以在tomcat6.0或者更低的版本中设置成为UTF-8的模式解决乱码问题。
分享到:
相关推荐
《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》全面介绍了Java Web开发中的各种相关技术及知识。全书分为9篇,内容层次清晰,难度循序渐进。第1篇为入门篇,内容包括Java Web开发概述等;第2篇...
- 配置Struts2的过滤器。 - 示例配置: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* ...
同时,还需要在web.xml中配置过滤器和监听器来启动Struts 2和Spring的生命周期。 在实际开发中,开发者还需要掌握如何编写Action类、Service层、DAO层以及对应的Mapper XML文件,以实现业务逻辑和数据库操作。此外...
- **作用**:此过滤器用于清理Struts框架中的临时对象,确保每次请求都是干净的环境。 - **配置**:需在Struts2的核心过滤器配置之前完成,以确保正确清理。 **FilterDispatcher** ```xml <filter-name>struts ...
然后,配置Struts2的核心过滤器,并在web.xml中指定。 Spring的集成涉及到更多的配置。同样地,添加Spring的核心库和其他相关模块,如`spring-context`、`spring-web`、`spring-tx`、`spring-jdbc`和`spring-orm`等...
1. **Filter配置**:在web.xml中配置Struts2和Spring的过滤器,确保请求被正确处理。 2. **Action类的Spring管理**:将Action类声明为Spring的Bean,通过@Autowired进行依赖注入。 3. **ModelDriven模式**:Struts2...
为了支持Spring Web MVC,还需要在`web.xml`中配置一个过滤器,用于字符编码的转换: ```xml <filter-name>abc <filter-class>org.springframework.web.filter.CharacterEncodingFilter <param-name>encoding...
1. **配置Struts2**:在web.xml中配置Struts2的核心过滤器,设置Action的默认结果类型,以及自定义的拦截器等。 2. **配置Spring**:创建ApplicationContext配置文件,声明需要管理的Bean,包括业务服务、DAO、数据...
Struts2、Spring和iBatis是Java Web开发中经典的三大框架,它们组合在一起可以构建出高效、可维护的企业级应用程序。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求和控制应用程序流程;Spring作为...
- 在web.xml中添加的Struts核心过滤器是DispatcherServlet,它是整个框架的入口点,负责拦截请求并转发给Struts2处理。 2. **Spring3.0**: - Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(DI)...
配置Struts2需要在Web应用的web.xml文件中添加过滤器和监听器: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 ...
在Web.xml中,你需要配置Struts2的前端控制器,Spring的DispatcherServlet,以及可能的过滤器。在Spring的配置文件中,定义Bean并管理其依赖,包括Struts2的Action和Hibernate的SessionFactory。Hibernate的配置文件...
Struts、Hibernate和Spring是Java开发中常用的三个框架,它们分别负责表现层、持久层和业务层的管理。将这三个框架整合在一起可以实现一个高效、松耦合的企业级应用程序。 1. **Struts** 是一个MVC(Model-View-...
【房屋销售系统(Struts+Spring+Oracle+国际化)】是一个综合性的Web应用程序,它集成了多种技术,用于管理和操作待售房屋的信息以及销售员的数据。这个系统的主要目标是提供一个高效、用户友好的平台,方便房地产...
Struts2、Spring和iBATIS是三个非常重要的Java开发框架,它们的集成可以构建出高效、可维护的Web应用程序。下面将详细讲解这三个框架的基本概念、集成过程以及配置要点。 Struts2作为MVC(Model-View-Controller)...
2. **Spring**:Spring框架是Java平台的一个全面的、一站式的服务框架,它提供了依赖注入、面向切面编程、事务管理、JDBC封装等一系列服务,极大地简化了Java应用的开发过程。 3. **Hibernate**:Hibernate是一个...
3. **配置Web容器过滤器**:在`web.xml`中添加Struts2的过滤器配置。 ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher <filter-name>struts2 ...
1. 配置Struts2:在web.xml中配置Struts2的核心过滤器,定义全局结果类型,以及配置Struts2的配置文件位置。 2. 配置Spring:创建Spring的配置文件,定义Bean,包括业务服务、DAO和DAO的实现等,以及Spring的事务...
- **配置过滤器**:在`web.xml`中配置Struts2的过滤器以及其他必要的过滤器,例如字符编码过滤器。 ```xml <filter-name>SetCharacterEncoding <filter-class>...