SpringMVC学习三(日期参数/数据保存/重定向/乱码问题)

  • 静态资源的映射
  • Springmvc完成ajax功能
  • SpringMVC返回中文到ajax乱码问题解决方式

1.静态资源映射

对于之前web.xml配置文件中的

先做出如下更改,不可写“/*”因为有区别

“/”代表所有请求都需要经过此拦截器(之前学习中的list.do也可以写成list即可),但我们发现即使设置了此拦截,通过后却依然不能显示图片等等,即.jsp/.png等后缀的静态资源文件

解决此问题的方法需要在spring配置文件中加入有着 释放静态资源 作用的代码 <mvc:default-servlet-handler/>

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc"
 6     xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
 7         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 8         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
 9
10     <!-- 1.包扫描:扫描注解所在的包,controller类所在的包 -->
11     <context:component-scan base-package="com.zhiyou100.zhl.controller"></context:component-scan>
12
13     <!-- 2.开启注解驱动AnnotationHandlerMapping -->
14     <mvc:annotation-driven/>
15
16     <!-- 释放静态资源 -->
17     <mvc:default-servlet-handler/>
18
19     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
20         <property name="prefix" value="/WEB-INF/views/"></property>
21         <property name="suffix" value=".jsp"></property>
22     </bean>
23
24 </beans>

释放完成后

 2.Springmvc完成ajax功能

此部分需要三个jackson的jar包,目的是把java对象转化为json对象,所以需要jackson的jar包

[点击下载https://github.com/suyirulan/putao/tree/master/jackson_jar]

导包完成后即可编写

@Controller
@RequestMapping("ajax")
/*@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})*/
public class AjaxController {

    @RequestMapping("Ajax1")
    @ResponseBody    //把"hello"作为内容返回给调用函数,而不会成为hellow.jsp,把中文"俺啊倒萨打算爱"返回给调用函数
    public String ajax1(String name) {
        System.out.println(name);
        return "俺啊倒萨打算爱";
    }

    @RequestMapping("Ajax2")
    @ResponseBody    //把java对象转化为json对象,需要jackson的jar包
    public Users ajax2(String name) {
        Users users=new Users("dsf","fdsg",32,"sdf","sdf");
        return users;
    }

    @RequestMapping("Ajax3")
    @ResponseBody
    public List<Users> ajax3(String name) {
        Users users=new Users("阿三打撒ds1f","fdsg",32,"sdf","sdf");
        Users users2=new Users("撒旦ds2f","fdsg",32,"sdf","sdf");
        Users users3=new Users("ds3f","fdsg",32,"sdf","sdf");
        Users users4=new Users("撒旦ds4f","fdsg",32,"sdf","sdf");
        List<Users> list=new ArrayList<Users>();
        list.add(users);
        list.add(users2);
        list.add(users3);
        list.add(users4);
        return list;
    }
}

jsp页面进行接收即可

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="/SpringMVC09_03/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
    $.post("ajax/Ajax2",{"name":"zs"},function(data){
        alert(data.uname);
        alert(data.password);
        alert(data.age);
        alert(data.sex);
        alert(data.address);
    }); 

    $.post("ajax/Ajax1",{"name":"zs"},function(data){
        alert(data);
    });

    $.post("ajax/Ajax3",{"name":"zs"},function(data){
        $.each(data,function(i,n){
            alert(n.uname);
        } )
    });
</script>
</head>
<body>

</body>
</html>

Tips:SpringMVC返回中文到ajax乱码问题解决方式

1.编写注解@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})

@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})

2.修改配置文件,在驱动中加入代码如下

参考步骤(通过org.springframework.web.servlet.view.InternalResourceViewResolver的有参构造函数进行设置编码):

原文地址:https://www.cnblogs.com/murmansk/p/11456374.html

时间: 2024-10-11 05:23:48

SpringMVC学习三(日期参数/数据保存/重定向/乱码问题)的相关文章

springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互 springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 添加json转换的依赖 配置json转换器 json交互测试 输入json串输出是json串 输入keyvalue输出是json串 本文主要介绍如何在springmvc中进行json数据的交互,先是环境准备和配置,然后分别展示了"输入json串,输出是json串"和"输入key/value,输出是json串"两种情况下

【学习总结】iOS 数据保存几种方式总结

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题.将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好.下面介绍一下数据保存的方式: NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码. NSUserDefaults:用来保存应用

SpringMVC学习(三)——SpringMVC的配置文件

读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后,想必都会写写SpringMVC的入门小程序,在这个小程序中,SpringMVC的核心配置文件——springmvc.xml为: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu

SpringMVC学习三、RestFul风格与结果跳转

RestFul 风格 概念 Restful就是一个资源定位及资源操作的风格.不是标准也不是协议,只是一种风格.基于这个风格设计的软件更简洁,更有层次,更易于实现缓存等机制. 功能 资源:互联网所有事物都可以被抽象为资源 资源操作:使用POST.DELETE.PUT.GET,使用不同的方法对资源进行操作 分别对应 添加.删除.修改.查询. 传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post和get http://127.0.0.1/item/queryltem.action?id

springmvc 4.x 处理json 数据时中文乱码

原因: springmvc在处理请求时,默认采用的是 ISO-8859-1 编码格式,具体原因不了解,个人觉得是还没有来得及更改,所以在处理一些json格式的时候,会出现中文乱码. org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码. 解决办法,只需在配置文件中加入如下代码: <!-- 处理请求时返回json字符串的中

springMVC学习总结(三) --springMVC重定向

根据springMVC学习总结(一) --springMVC搭建搭建项目 在com.myl.controller包下创建一个java类WebController. 在jsp子文件夹下创建一个视图文件index.jsp.final.jsp. 配置web.xml 配置springmvc-servler.xml 创建项目结构如下: WebController.java代码如下 package com.myl.controller; import org.springframework.stereoty

SpringMVC学习(五)——SpringMVC的参数绑定

SpringMVC中的参数绑定还是蛮重要的,所以单独开一篇文章来讲解.本文所有案例代码的编写均建立在前文SpringMVC学习(四)——Spring.MyBatis和SpringMVC的整合的案例基础之上,因此希望读者能仔细阅读这篇文章. 默认支持的数据类型 现在有这样一个需求:打开商品编辑页面,展示商品信息.这是我对这个需求的分析:编辑商品信息,需要根据商品id查询商品信息,然后展示到页面.我这里假设请求的url为/itemEdit.action,由于我想要根据商品id查询商品信息,所以需要传

Jquery Easy UI初步学习(三)数据增删改

第二篇只是学了加载用datagrid加载数据,数据的增删改还没有做,今天主要是解决这个问题了. 在做增删改前需要弹出对应窗口,这就需要了解一下EasyUi的弹窗控件. 摘自:http://philoo.cnblogs.com/ 我的理解,就是panel有的属性Window.dialog都有,同时保留自己的扩展属性方法 , 所以主要展示pannel的属性. Pannel 属性 名称 类型 说明 默认值 title string 显示在Panel头部的标题文字. null iconCls strin

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定

springmvc学习笔记(11)-springmvc注解开发之简单参数绑定 springmvc学习笔记11-springmvc注解开发之简单参数绑定 spring参数绑定过程 默认支持的类型 简单类型 pojo绑定 自定义参数绑定实现日期类型绑定 springmvc和struts2的区别 本文主要介绍注解开发的简单参数绑定,包括简单类型.简单pojo以及自定义绑定实现类型转换 spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到contro