• 静态资源的映射
  • 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. Win10下安装Java JDK 1.8 配置环境变量

    1.下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 2.双击运行,下一步.下一步-- 3.新建变量名:JAVA_ ...

  2. 攻防世界 gametime 使用IDA pro+OD动调

    自学犟种琢磨动调的一个记录,算是第一次动调的新手向,大佬请飘过 题目 准备工作--IDA pro(32X) 下载得到一个exe文件,首先丢到PE里面--无壳,32bit 丢到IDA pro(x32)里 ...

  3. KingbaseES 统计信息收集器没有响应问题分析

    统计信息收集器没有响应/Stats collector is not responding 问题现象: kingbase数据库日志提示:统计信息收集器没有响应/Stats collector is n ...

  4. KingbaseES V8R6 集群环境备库不结束旧事务快照将影响主库的vacuum操作

    前言 昨天同事遇到了一个有关vacuum的典型问题. V8R6读写分离集群环境,一主多备. 版本:kingbaseesv008r006c004 问题现象: 主库日常巡检发现日志大量记录: waring ...

  5. #排列组合,背包#CF232B Table

    题目 有一个 \(n\times m\) 的矩阵,求使得每个 \(n\times n\) 的矩阵中都有正好 \(k\) 个点的方案数. 分析 考虑到如果确定了前 \(n\) 列的选点个数,那么对于一列 ...

  6. 刘潇翔:基于OpenHarmony的仿生四足狗开发分享

     说起人工智能机器人界的网红,那就不得不提到--"机器狗".此前,著名机器人公司波士顿动力制造的"Spot"机器狗.国内知名科技企业蔚蓝科技自主设计研发的&qu ...

  7. Docker学习路线12:开发者体验

    到目前为止,我们只讨论了使用Docker来部署应用程序.然而,Docker也是一个极好的用于开发应用程序的工具.可以采用一些不同的建议来改善开发体验. 在应用程序中使用docker-compose以方 ...

  8. Numpy广播功能

    广播(Broadcast)是对不同形状(shape)的数组进行数值计算的方式. 广播规则: 如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补1: 如果两个数组的形状在任何一个维度都不匹配 ...

  9. Linux 编译 libjpeg-9e

    jpeg的库有两个:一个是官方的 libjpeg  还有一个是 libjpeg-turbo JPEG库(libjpeg-turbo):https://libjpeg-turbo.org/ Libjpe ...

  10. 多线程-多个子线程执行结果插入List集合

    业务场景:将多个子线程的执行结果存入List,但是总会出现List集合的长度小于子线程的执行数的情况 1.错误示例(多个线程同时操作同一个List对象,List是线程不安全) package unit ...