JSP struts2 url传参中文乱码解决办法
JSP struts2 url传参中文乱码解决办法
1.设置struts.xml
<constant name="struts.i18n.encoding" value="UTF-8" />
或是设置struts.properties(我自己没试过)
struts.i18n.encoding=UTF-8
2.在web.xml添加编码过滤器
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
上面用的是spring自带的,也可以自己写,核心语句就是request.setCharacterEncoding(this.encoding);
3.设置tomcat的配置
1和2都只能设置post方式提交数据的编码方式,如果url有中文的话就会有乱码,解决办法是在
tomcat的\conf\server文件的
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
加入 URIEncoding="UTF-8"。如果你正在使用eclipse,记得重启eclipse,把服务器的设置删除,重新设置。我就是因为没有这样做搞得配置文件没生效,调试了半天
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
JSP Struts过滤xss攻击的解决办法
JSP Struts过滤xss攻击的解决办法 本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决. 配置struts.xml <package name="default" namespace="/" extends="struts-default, json-default"> <!-- 配置拦截器 --> <interceptors> <!-- 定义xss拦截器 --> <i
-
jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案
前端页面功能模块化拆分 当一个系统的功能很多时,不可能所有功能模块的页面都写在一个页面里面,这时就需要将不同功能模块的页面拆分出去,就像模板一样,需要哪块的功能就调用哪块的页面,然后加载相应数据并展示到相应的页面. 本应用的使用spring+struts+mybatis+jsp的方式,用两种方案来完成前端页面功能的拆分. 方案一: 在JSP页面中,利用EL表达式或者Java代码的方式,在后台完成页面数据的填充.然后在js中来完成页面的切换. jsp代码: 业务详情模块页面:riskDetailI
-
jsp struts1 标签实例详解第1/2页
1,TagForm.java 复制代码 代码如下: package com.tarena.struts.tag.form; import org.apache.struts.action.*; import javax.servlet.http.*; import java.util.*; public class TagForm extends ActionForm { private int id; private String userName; private String passwo
-
JSP和Struts解决用户退出问题
在一个有密码保护的Web应用中,正确处理用户退出过程并不仅仅只需调用HttpSession的invalidate()方法.现在大部分浏览器上都有后退和前进按钮,允许用户后退或前进到一个页面.如果在用户在退出一个Web应用后按了后退按钮浏览器把缓存中的页面呈现给用户,这会使用户产生疑惑,他们会开始担心他们的个人数据是否安全.许多Web应用强迫用户退出时关闭整个浏览器,这样,用户就无法点击后退按钮了.还有一些使用javascript,但在某些客户端浏览器这却不一定起作用.这些解决方案都很笨拙且不能保
-
java+jsp+struts2实现发送邮件功能
以下总结是2016/3/23在做一个网站时遇到的一个功能模块,现在将总结从为知笔记上搬家到CSDN,与大家共享,欢迎指正. 0.准备工作 0.1先建立一个web项目,添加struts2开发包 0.2.需要另外导入一下两个jar包 mail.jar,activation.jar,可以自己网上下载,很多的! 以下为详细过程! 1.index.jsp页面 <%@ page language="java" import="java.util.*" pageEncodi
-
JSP 开发之Struts2内建自定义拦截器
JSP 开发之Struts2内建自定义拦截器 Struts2的自定义拦截器主要用于解析请求参数,将请求参数赋值给Action属性,执行数据校验,文件上传等等操作.当需要扩展Struts2的功能时,我们只需要提供相应的拦截器并将它配置到Struts2容器中即可:当我们不需要使用的时候,只需要取消它在Struts2容器中的配置就行了. 1>配置拦截器主要使用四个配置元素: :用于配置自定义拦截器 :用于引用拦截器或者拦截器栈 :用于配置自定义拦截器栈,一个拦截器栈由多个拦截器构成,也可以包含其他的拦
-
struts2+jsp实现文件上传的方法
本文实例讲述了struts2+jsp实现文件上传的方法.分享给大家供大家参考.具体如下: 1. java代码: package com.wang.test; import java.io.InputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionSupport; public cla
-
struts2+jsp+jquery+Jcrop实现图片裁剪并上传实例
今天有业务需要制作用户头像的需求,在网上找了个可以裁剪大图制作自己希望大小的图片的方法(基于Struts2).特此记录一下. 不废话,具体的步骤如下: <1> 使用html标签上传需要裁剪的大图. <2> 在页面呈现大图,使用Jcrop(Jquery)对大图进行裁剪,并且可以进行预览. <3> 选择好截取部分之后发送数据给Action,在服务器端使用 Java API 对大图进行裁剪. <4> 保存大图裁剪好的头像到指定目录,完成业务. 下面一步一步做: 第
-
STRUTS+AJAX+JSP 请求到后台乱码问题解决方法
在AJAX请求URL之前 把参数进行encodeURI()转码. 如: 复制代码 代码如下: var fileName=document.getElementById("filePath").value; if(null!=fileName){ //alert(fileName); //进行转码 不然后台会乱码 fileName=encodeURI(fileName); .........AJAX代码 }
-
JSP struts2 url传参中文乱码解决办法
JSP struts2 url传参中文乱码解决办法 1.设置struts.xml <constant name="struts.i18n.encoding" value="UTF-8" /> 或是设置struts.properties(我自己没试过) struts.i18n.encoding=UTF-8 2.在web.xml添加编码过滤器 <filter> <filter-name>characterEncodingFilter&
-
url 编码 js url传参中文乱码解决方案
1.配置文件web.config中 在节中加上整个网站的编码方式. <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/> 这样参数就以gb2312的中文编码方式传输了.而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收. string mm=Server.URLEncode(你); Res
-
Android中HTTP请求中文乱码解决办法
Android中HTTP请求中文乱码解决办法 编码参数 List<NameValuePair> formparams = new ArrayList<NameValuePair>(); // 请求参数 for (NameValuePair p : params) { formparams.add(p); } UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,HTTP.UTF_8); // 创建POST
-
数据库 MySQL中文乱码解决办法总结
MySQL中文乱码解决办法 前言: MySQL是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 create table user(name varchar(11)); # 创建user表 insert into table user("carl"); # 添加数据 select * from user; insert into user value(&
-
PHP 中文乱码解决办法总结分析
一.首先是PHP网页的编码 1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312″),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312″>,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文
-
Python中matplotlib中文乱码解决办法
Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码. matplotlib绘制图像有中文标注时会有乱码问题. 实例代码: import matplotlib import matplotlib.pyplot as plt #定义文本框和箭头格式 decisionNode =dict(boxstyle="sawtooth",fc="0.8") leafNode=dict(
-
ajax+php中文乱码解决办法
AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码.而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码. 解决方法之一就是在PHP文件中显示声明为GB2312 header("Content-Type:text/html;charset=GB2312"); 而对于发送到服务器的中文进行转码. 如下 $_POST["content"]=iconv(&
-
php PDO中文乱码解决办法
// 方法一: PDO::__construct($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';")); // 方法二: PDO::__construct($dsn, $user, $pass); PDO::exec("SET NAMES 'utf8';"); 两种方法都能解决问题, 原理一样的, 使用哪中看自己喜欢了
-
分享JSP中文乱码解决方法
一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language="java" import="java.util.*" %> <html> <head> <title>中文显示示例</title> </head> <body> 这是一个中文显示示例: <
-
JDBC连接mysql处理中文时乱码解决办法详解
JDBC连接mysql处理中文时乱码解决办法详解 近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb2312的编码,但是,直接使用jdbc操作,从库中读取出来的中文全都是乱码. 一开始,使用类似entity.setDepartName(new String(rs.getString("hg").getBytes("gbk"), &q
随机推荐
- VB编程基础课教程
- PowerShell小技巧之实现文件下载(类wget)
- SQL Server储过程加密和解密原理深入分析
- MySQL的事件调度器使用介绍
- Linux下使用inode删除指定文件方法示例
- 创建自定义的Java注解类的方法
- JavaScript事件处理器中的event参数使用介绍
- 10个超级有用值得收藏的PHP代码片段
- php将一维数组转换为每3个连续值组成的二维数组
- Python兔子毒药问题实例分析
- python计算N天之后日期的方法
- C++中如何实现回调的方法示例
- Mysql启动与数据库的创建方法[图文]
- MySQL5.6主从复制(mysql数据同步配置)
- jQuery 移动端artEditor富文本编辑器
- JavaScript实现班级随机点名小应用需求的具体分析
- JQuery实现倒计时按钮具体方法
- Lua获取网络时间(获取时间同步服务器的时间)
- MAC下MySQL初始密码忘记怎么办
- js实现带简单弹性运动的导航条