SpringMVC学习三(静态资源/AJAX功能/乱码问题)
- 静态资源的映射
- 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功能/乱码问题)的更多相关文章
- SpringMVC+FreeMarker实现静态资源文件自动添加版本号(md5)
近日切换java开发,开始学习springframework.在实现静态资源文件自动计算版本号的实例时,因为不熟悉框架,走了不少弯路,好在最终解决了问题.这里写篇文章记录一下实现,也希望对大家有些用处 ...
- spring-mvc不拦截静态资源的配置
spring-mvc不拦截静态资源的配置 标签: spring 2015-03-27 23:54 11587人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. &qu ...
- SpringMVC不能引入静态资源
SpringMVC不能引入静态资源 问题:部署项目后程序加载或用浏览器访问时出现类似的警告, 2011-01-19 10:52:51,646 WARN [org.springframework.web ...
- springmvc、springboot静态资源访问配置
如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给Dispatch ...
- 笔记32 SpringMVC中使用静态资源、处理中文乱码
一.静态资源的使用 在WebConfig.java中有如下代码段 @Override // 配置静态资源处理 public void configureDefaultServletHandling(D ...
- JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术
在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置 ...
- springMVC学习三 注解开发环境搭建
第一步:导入jar包 第二步:配置DispatcherServlet 前端控制器 因为此处把DsipatcherServlet的映射路径配置成了"/",代表除了.jsp文件之外, ...
- SpringMVC:处理静态资源
方法1.采用<mvc:default-servlet-handler/> 若将 DispatcherServlet 请求映射配置为 /,则 Spring MVC 将捕获WEB 容器的所有请 ...
- (转)SpringMVC学习(三)——SpringMVC的配置文件
http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...
- springMVC中处理静态资源的几种方案
处理静态资源方案一:在web.xml文件中配置如下: <!-- <!–解决静态资源方案–> <servlet-mapping> <servlet-name>d ...
随机推荐
- 一秒变身艺术家!U2Net 跨界肖像画,让你的头像瞬间细节完美复刻,打造个性化头像新风潮!
效果 测试图片来自网络,如有侵权,联系删除. 项目 关注微信公众号,回复关键字:"一秒变身艺术家",获取程序! 模型信息 Inputs ---------------------- ...
- vue项目中添加水印效果
新建js文件:例如warterMark.js 'use strict' let watermark = {} let setWatermark = (str) => { let id = '1. ...
- AXI4的PL与PS联合设计
AXI4的PL与PS联合设计 1.实验原理 在前面的学习中,解决了如何利用一个缓冲寄存器控制另外一个寄存器的输入输出配置.接下来就是如何将PL设计直接导入到PS中实现资源互换.PS是可以通过AXI4总 ...
- JDBC访问KingbaseES数据库异常 -- 案例分析
应用使用jdbc访问KingbaseES数据库发生异常:SocketTimeoutException Read timed out 一.异常现象: 应用显示ERROR信息: Caused By: ja ...
- mybatis使用Hashmap传递参数
mapper 1 <!--传递map的key --> 2 <insert id="addUser2" parameterType="map"& ...
- 小师妹学JavaIO之:文件读取那些事
目录 简介 字符和字节 按字符读取的方式 按字节读取的方式 寻找出错的行数 总结 简介 小师妹最新对java IO中的reader和stream产生了一点点困惑,不知道到底该用哪一个才对,怎么读取文件 ...
- OpenHarmony社区运营报告(2023年6月)
本月快讯 • 6月12日,以"OpenHarmony共建开放,共享未来"为主题的2023开放原子全球开源峰会OpenAtom OpenHarmony(以下简称"Ope ...
- 【直播回顾】OpenHarmony知识赋能五期第五课——多媒体子系统之视频解读
5月19日晚上19点,知识赋能第五期第五节课<OpenHarmony标准系统多媒体子系统之视频解读>,在OpenHarmony开发者成长计划社群内成功举行. 本期课程,由深开鸿资深技术专家 ...
- 实践指南:EdgeOne与HAI的梦幻联动
在当今快速发展的数字时代,安全和速度已成为网络服务的基石.EdgeOne,作为腾讯云提供的边缘安全加速平台,以其全球部署的节点和强大的安全防护功能,为用户提供了稳定而高效的网络体验.而HAI(Hype ...
- Python队列----queue
import queue # 官网文档:https://docs.python.org/3/library/queue.html a1 = queue.Queue() # 先进先出队列 a2 = qu ...