解决: 推荐使用 Filter.
①. 使用 Filter.
public class EncodeFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
//从浏览器中的到的二进制数据用utf-8编码
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
在web.xml文件中配置filter:
<filter>
<filter-name>encoding</filter-name>
<filter-class>cn.itcase.strutsdemo.user.domain.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<servlet-name>action</servlet-name>
</filter-mapping>
②. 提供自定义的 ActionServlet
public class MyActionServlet extends ActionServlet {
private static final long serialVersionUID = 5165092497954010055L;
@Override
protected void process(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
super.process(request, response);
}
}
web.xml 文件中
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
改为
<servlet-class>cn.itcast.struts.servlet.MyActionServlet</servlet-class>
③. 提供自定义的 RequestProcessor
public class MyRequestProcessor extends RequestProcessor {
@Override
public void process(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
super.process(request, response);
}
}
在 struts-config.xml 文件中加入如下内容:
<controller processorClass="cn.itcast.struts.servlet.MyRequestProcessor"/>
分享到:
相关推荐
Struts中文乱码解决方案
关于StrutsPrepareAndExecuteFilter最新的过滤器,在Struts.xml定义常量<constant name="struts.i18n.encoding" value="UTF-8"/>无法解决post方式提交中文乱码问题。 关于Struts2各个版本、各种过滤器,用get方式...
struts,ajax乱码解决方案
Struts实现文件下载中文乱码解决方案收藏
该软件是在tomcat下解决乱码问题的解决方案。很详细的例子
乱码解决方案和过滤器的解决与用户的登陆error解决 乱码解决方案和过滤器的解决与用户的登陆error解决
struts2中文乱码解决方法 1. 在struts2里面,最好将所有字符都设成utf-8。 ; charset=UTF-8"%> <%@ page pageEncoding="UTF-8" %>1.1 在jsp页面设定字符编码。这边有必有说明的是如果是jsp+java bean+servlet的...
struts2中文乱码解决方案 1.在struts.xml文件中加入一个常量配置: <struts> <constant name="struts.i18n.encoding" value="GBK"/> </struts> 2.在web.xml文件中struts的filter之前加入 <filter> ...
解决:delete.action?title=()%>传到action类出现乱码的问题
解决方案:降低struts版本,由struts2.5降至struts2.2.1 2、源项目退出操作无响应 原因:源项目中集成shiro后只处理了登录未处理退出 解决方案:添加退出操作处理 3、解决源项目手机端无法访问问题 4、解决源项目...
struts2下载,下载文件名中文乱码解决方案
中文乱码问题及其解决方案 使用responseText处理返回的普通文本信息 实战技巧:数据校验 实战技巧:级联菜单 实战技巧:条目内容 实战技巧:级联下拉列表 使用responseXML处理返回的XML信息 实战技巧:获取元对象...
服务器等软件的配制 Jsp中文乱码解决方案 上传与下载 Hibernate 参数设置.txt MD5_Encoding.java Struts2中三种表达式符号的用法.txt
的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...
的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...
的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...
的基础架构采用世界上最先进流行的 web 编程组合 JAVA MySQL 实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。系统采用struts、hibernate框架及中间件的结合既实现了业务逻辑与控制逻辑的...
10.5.2.5 用Spring 2.0 的@Transactional标注解决事务提交问题(最佳方案) 251 10.5.2.6 使用 HibernateTemplate 实现分页查询 254 10.6 小结 255 10.7 参考资料 255 10.7.1 MyEclipse生成的Spring+Hibernate无法...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...