为什么spring mvc model传值mvc 传值会乱码

SpringMVC传值乱码解决办法
我的图书馆
SpringMVC传值乱码解决办法
在web.xml里面加入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& &&/filter& &&filter-mapping& && & &filter-name&CharacterEncodingFilter&/filter-name& && & &url-pattern&/*&/url-pattern& &&/filter-mapping&并且server.xml:&Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8088" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/&&Connector中添加两个设置useBodyEncodingForURI="true" //设置POST和GET使用相同编码URIEncoding="UTF-8" //对URI使用utf-8编码处理
发表评论:
TA的最新馆藏[转]&[转]&spring&mvc实现下载并解决中文名称乱码问题
package com.bj.qlswt.
import java.io.BufferedInputS
import java.io.BufferedOutputS
import java.io.F
import java.io.FileInputS
import java.io.IOE
import java.io.InputS
import java.io.OutputS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.slf4j.L
import org.slf4j.LoggerF
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import com.bj.qlswt.util.ReadP
@Controller
public class DowloadExcelController {
&//日志管理
&private static Logger logger =
LoggerFactory.getLogger(DowloadExcelController.class);
&//文件下载
&@RequestMapping(value =
"/download.dox")&&
&public void down(HttpServletRequest
request,HttpServletResponse response) throws IOException
response.setContentType("application/vnd.ms-excel");&
String fileName = "上传手机号模板.xls";
&//当前文件路径&
D:\apache-tomcat-6.0.20\apache-tomcat-6.0.20\webapps\BJSWT\\file\上传手机号板.xls
&String nowPath =
request.getSession().getServletContext().getRealPath("/")+"
&&& String
contextPath = request.getContextPath();// /BJSWT
String serveltPath =
request.getServletPath();&& //
/download.dox
File file = new File(nowPath);&
// 清空response&
response.reset();&
// 设置response的Header&
response.addHeader("Content-Disposition",
"filename="+new
String(fileName.getBytes("gbk"),"iso-8859-1"));&
//转码之后下载的文件不会出现中文乱码
response.addHeader("Content-Length", "" +
file.length());&
//以流的形式下载文件&
InputStream fis = new BufferedInputStream(new
FileInputStream(nowPath));&
byte[] buffer = new byte[fis.available()];&
fis.read(buffer);&
fis.close();&
&&&&&&&&&&
OutputStream toClient = new
BufferedOutputStream(response.getOutputStream());&
toClient.write(buffer);&
toClient.flush();&
toClient.close();&
}catch(Exception e){&
e.printStackTrace();&
中文下载文件名是乱码的问题:
poi-3.8-.jar;poi-examples-3.8-.jar;poi-excelant-3.8-.jar;
poi-ooxml-3.8-.jar;poi-ooxml-schemas-3.8-.jar;poi-scratchpad-3.8-.jar
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
@RequestMapping("getExpressMemberIntegral")public ModelAndView getExpressMemberIntegral(ModelMap model,HttpServletRequest request){ String v_member_id=URLEncoder.encode("先在后台编码","utf-8"); return new ModelAndView("redirect:regiter.html?handleResult="+v_member_id);}前台接收当前URL地址,进行解码var thisURL = document.URL;var thisURLindex= thisURL.indexOf('handleResult',0);if(thisURLindex&0){ thisURLindex=thisURLindex+13; var handleResult = thisURL.substring(thisURLindex, thisURL.length); var decodeURIhandleResult=decodeURI(decodeURI(handleResult)); alert(decodeURIhandleResult);}
阅读(2856)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'spring MVC环境 后台使用URL重定向传值,前台URL显示乱码,解决办法',
blogAbstract:'后台代码:@RequestMapping(\"getExpressMemberIntegral\")public ModelAndView getExpressMemberIntegral(ModelMap model,HttpServletRequest request){ String v_member_id=URLEncoder.encode(\"先在后台编码\",\"utf-8\"); return new ModelAndView(\"redirect:regiter.html?handleResult=\"+v_member_id);',
blogTag:'编码,解码,decode',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:4,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}& request.getParameter(“参数名”) 中文乱码解决方法
在 开发中,如果框架搭建的不完善或者初学者在学习过程中,出现中文是经常的事儿(哈。谁让发明java语言的不是中国人呢)
今天跟大家分享几个解决java 中,request.getParameter()获取URL中文参数乱码的解决办法
解决问题,先要研究问题,URL传中文参数为什么会出现乱码?
原因:Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(造成中文乱码)
解决办法:我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流
String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8");
这是通过转码的方式处理乱码问题,我们也可以通过Tomcat配置文件,设置URL编码集(URIEncoding)设置编码,这种方法也是一劳永逸的,
修改Tomcat/conf 目录下 server.xml
&Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
useBodyEncodingForURI="true" URIEncoding="UTF-8"/&
重点在 userBodyEncodingForURI 和 URIEncoding 这两个属性
下面来解释一下这两个属性的意义
useBodyEncodingForURI参数表示是否用request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false。
URIEncoding参数指定对所有GET方式请求进行统一的重新编码(解码)的编码。
URIEncoding和useBodyEncodingForURI区别是,
URIEncoding是对所有GET方式的请求的数据进行统一的重新编码,
而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码,不同的页面可以有不同的重新编码的编码
还有一种方法,通过重写getParameter方法,设置解码/方式来解决乱码问题,请参照: 修改。
本站文章除注明转载外,均为本站原创或编译 欢迎任何形式的转载,但请务必以链接形式注明出处,请尊重他人劳动成果 本作品采用 [] 进行许可。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
上一篇: 下一篇:
相关文章:
没有看到评论?
还没有Trackback
by 九州套图by Iricby Feeey个人博客by 留笔记博客by 九州套图
本博客文章仅供学习和参考,如侵犯到您的权益,请联系站长删除! (C)
本站采用[]进行许可
技术构建,主题基于 修改
x 如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
微信 支付宝 QQ钱包

我要回帖

更多关于 springmvc传值到jsp 的文章

 

随机推荐