• 静态资源的映射
  • 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的有参构造函数进行设置编码):

SpringMVC学习三(静态资源/AJAX功能/乱码问题)的更多相关文章

  1. SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)

    近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处 ...

  2. spring-mvc不拦截静态资源的配置

    spring-mvc不拦截静态资源的配置 标签: spring 2015-03-27 23:54 11587人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. &qu ...

  3. SpringMVC不能引入静态资源

    SpringMVC不能引入静态资源 问题:部署项目后程序加载或用浏览器访问时出现类似的警告, 2011-01-19 10:52:51,646 WARN [org.springframework.web ...

  4. springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给Dispatch ...

  5. 笔记32 SpringMVC中使用静态资源、处理中文乱码

    一.静态资源的使用 在WebConfig.java中有如下代码段 @Override // 配置静态资源处理 public void configureDefaultServletHandling(D ...

  6. JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

    在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置 ...

  7. springMVC学习三 注解开发环境搭建

    第一步:导入jar包 第二步:配置DispatcherServlet  前端控制器 因为此处把DsipatcherServlet的映射路径配置成了"/",代表除了.jsp文件之外, ...

  8. SpringMVC:处理静态资源

    方法1.采用<mvc:default-servlet-handler/> 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获WEB 容器的所有请 ...

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

    http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...

  10. springMVC中处理静态资源的几种方案

    处理静态资源方案一:在web.xml文件中配置如下: <!-- <!–解决静态资源方案–> <servlet-mapping> <servlet-name>d ...

随机推荐

  1. GWD:基于高斯Wasserstein距离的旋转目标检测 | ICML 2021

      论文详细描述了当前旋转目标检测的主要问题,提出将旋转回归目标定义为高斯分布,使用Wasserstein距离度量高斯分布间的距离用于训练.目前,常规目标检测也有很多将回归转化为概率分布函数的做法,本 ...

  2. KingbaseES V8R6运维案例之---MySQL和KingbaseES字符串排序规则对比

    案例说明: 相同数据排序后查询,在MySQL和KingbaseES下得到的排序顺序不一致,本案例从MySQL和KingbaseES的排序规则分析,两种数据库排序的异同点. 适用版本: Kingbase ...

  3. 初学STM32 CAN通信(一)

    # 初学STM32 CAN通信(一) 1. CAN协议简介 ​ CAN是控制器局域网络(Controller Area Network)的简称, 是国际上应用最广泛的现场总线之一 ,近年来,它具有的高 ...

  4. golang开发类库推荐

    gin star:74.6k 地址:https://github.com/gin-gonic/gin gin是最受开发者欢迎的 Web 框架,它有诸多的优点,性能高.轻量级和简洁的 API 设计,社区 ...

  5. #点分治#洛谷 4149 [IOI2011]Race

    题目 给一棵树,每条边有权.求一条简单路径,权值和等于 \(k\),且边的数量最小. 分析 点分治,记录一定权值的最小边数量, 每遍历一棵子树后统计答案 代码 #include <cstdio& ...

  6. Pandas高级教程之:Dataframe的重排和旋转

    目录 简介 使用Pivot 使用Stack 使用melt 使用Pivot tables 使用crosstab get_dummies 简介 使用Pandas的pivot方法可以将DF进行旋转变换,本文 ...

  7. SQline安装

    SQLite 安装 SQLite 的一个重要的特性是零配置的,这意味着不需要复杂的安装或管理.本章将讲解 Windows.Linux 和 Mac OS X 上的安装设置. 在 Windows 上安装 ...

  8. Mongoose介绍

    官网 Mongoose.js中文网 (mongoosejs.net) 基本使用 安装 最新的是mongoose8.0.0版本,基于Promise,以前的版本是基于回调函数. npm npm i mon ...

  9. 开发指导—利用CSS动画实现HarmonyOS动效(一)

     注:本文内容分享转载自HarmonyOS Developer官网文档 一. CSS语法参考 CSS是描述HML页面结构的样式语言.所有组件均存在系统默认样式,也可在页面CSS样式文件中对组件.页面自 ...

  10. 推荐一波微软家的浏览器:EDGE

    前段时间英雄联盟(LOL)队伍 EDG 夺冠成为热门事件,上了各大热搜,即使大家不玩英雄联盟,相信也多多少少有听说相关信息吧! 今天我们的主角并不是 EDG,而是微软的新版浏览器 EDGE !!! 微 ...