这种情况是,jsp页面的中文正常显示,数据的中文也是正常显示,但是在Controller层接收到的中文是乱码,如下图所示: 解决方法:在Controller层对前台传递的中文乱码进行处理,将它转换成utf-8,转换代码: String name = new String(username.getBytes("iso-8859-1"),"UTF-8");并且需要加try/catch进行异常处理,修改后的代码如下图所示: 乱码在红色箭头处被转换成功…
在正文之前,说明下Filter的作用: 过滤器顾名思义就是进行过滤的,可以实现代码的定向执行和预处理.通俗点说法filter相当于加油站,request是条路,response是条路,目的地是servlet,这个加油站设在什么地方对什么数据操作可以由你来控制.备注:过滤器可以再请求和响应之前做一部分预处理,有效的过滤掉不需要的内容,而且过滤器可以被复用,节省了大量的复用代码,提高了java的代码执行效率 java的Controller层接收App的请求时,请求的参数是中文,服务器端接收到的是乱码…
Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype (MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则Spring MVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合.以下列举接收List<String>.List<User>.List<Map<String,Object>&g…
写JSP程序时,在Servlet中取请求参数时出现了乱码,当然,这种乱码问题再简单不过了.由于在JSP中使用了GBK作用页面的编码,那么提交的中文信息自然也会被按着GBK进行编码,为%xx格式的GBK编码.    要解决这个问题可以说是方法多多.最简单的就是使用request.setCharacterEncoding方法设置编码格式,如下面的代码所示: request.setCharacterEncoding("GBK"); 在设置完编码格式之后,就可以直接通过request.getP…
今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post'  action='xxx' 调用submit方法提交,后台是springMVC的Controller接收请求,结果得到的参数值都是乱码. 解决方法:为form表单再设置一个属性 enctype=‘mutipart/form-data’   ,此时后台接收到的值就没有乱码了. 分析如下: enctype属性如果不设置,默认…
记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑 结论 给心急的人. 直接在Controller的成员变量上使用@Autowire声明HttpServletRequest,这是线程安全的! @Controller public class TestController{ @Autowire HttpServletRequest request; @RequestMapping("/") public void test(){…
楼主一直习惯使用public,偶尔手误也可能使用private,但是发觉也没啥区别,都能调用service层,注入bean. 后来做一个新项目时,发觉自己以前的写的部分功能报错,当时有点懵逼,,找了半天都没发现哪里写错了,代码啥的都确定无错(这种时候最蛋疼,因为报错不太准确),以前写好的啥都没改,突然报错,经过蛋疼的排除,发现service层的注入都是null,但是还是一脸懵逼,我一直以为无区别,感觉自己的代码无错,经过长时间找寻(我感觉自己快要崩溃了),然后发现自己另一个类有相似的方法,就用的…
接收表单数据有3种方式. 1.使用简单类型接收表单数据(绑定简单数据类型) 表单: <form action="${pageContext.request.contextPath}/userController/handler" method="post"> 用户名:<input name="username" type="text" /><br /> 密码:<input name=&…
spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring-servlet.xml文件中配置如下代码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&quo…
最近学习SpringMVC时,想要做一个登录页面Login.jsp,发现Tomcat服务器默认进入的页面是WEB-INF/index.jsp,查询资料发现如果修改默认页面,还需要修改Tomcat文件目录,所有打算不修改默认页面,而是采用从默认页面"index.jsp"跳转到登录页面"Login.jsp"的方式 通过网上查阅资料,经测试学习到了两种方法能够完成要求 文件结构如上,index.jsp在webapp/WEB-INF/目录下,而Login.jsp在webap…