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

1.静态资源映射

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

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

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

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

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

释放完成后

 2.Springmvc完成ajax功能

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

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

导包完成后即可编写

  1. @Controller
  2. @RequestMapping("ajax")
  3. /*@RequestMapping(value="ajax",produces = {"text/html;charset=utf-8"})*/
  4. public class AjaxController {
  5.  
  6. @RequestMapping("Ajax1")
  7. @ResponseBody //把"hello"作为内容返回给调用函数,而不会成为hellow.jsp,把中文"俺啊倒萨打算爱"返回给调用函数
  8. public String ajax1(String name) {
  9. System.out.println(name);
  10. return "俺啊倒萨打算爱";
  11. }
  12.  
  13. @RequestMapping("Ajax2")
  14. @ResponseBody //把java对象转化为json对象,需要jackson的jar包
  15. public Users ajax2(String name) {
  16. Users users=new Users("dsf","fdsg",32,"sdf","sdf");
  17. return users;
  18. }
  19.  
  20. @RequestMapping("Ajax3")
  21. @ResponseBody
  22. public List<Users> ajax3(String name) {
  23. Users users=new Users("阿三打撒ds1f","fdsg",32,"sdf","sdf");
  24. Users users2=new Users("撒旦ds2f","fdsg",32,"sdf","sdf");
  25. Users users3=new Users("ds3f","fdsg",32,"sdf","sdf");
  26. Users users4=new Users("撒旦ds4f","fdsg",32,"sdf","sdf");
  27. List<Users> list=new ArrayList<Users>();
  28. list.add(users);
  29. list.add(users2);
  30. list.add(users3);
  31. list.add(users4);
  32. return list;
  33. }
  34. }

jsp页面进行接收即可

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>Insert title here</title>
  8. <script type="text/javascript" src="/SpringMVC09_03/js/jquery-3.2.1.min.js"></script>
  9. <script type="text/javascript">
  10. $.post("ajax/Ajax2",{"name":"zs"},function(data){
  11. alert(data.uname);
  12. alert(data.password);
  13. alert(data.age);
  14. alert(data.sex);
  15. alert(data.address);
  16. });
  17.  
  18. $.post("ajax/Ajax1",{"name":"zs"},function(data){
  19. alert(data);
  20. });
  21.  
  22. $.post("ajax/Ajax3",{"name":"zs"},function(data){
  23. $.each(data,function(i,n){
  24. alert(n.uname);
  25. } )
  26. });
  27. </script>
  28. </head>
  29. <body>
  30.  
  31. </body>
  32. </html>

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

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

  1. @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. KingbaseES 数据库逻辑优化规则

    SQL 优化的过程可以分为逻辑优化和物理优化两个部分.逻辑优化主要是基于规则的优化,简称 RBO(Rule-Based Optimization).物理优化会为逻辑查询计划中的算子选择某个具体的实现, ...

  2. [Unity3D] 使用LineRenderer实现尾迹与虚线效果

    Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRenderer组件 先创建一个3D对象,然后点击Add Component选项 搜索并添加LineRenderer组件 添 ...

  3. Jetty的https模块

    启用https模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=https 命令的输出,如下: INFO : https initial ...

  4. Seaborn结构化图形绘制(FacetGrid)

    结构化图形绘制(FacetGrid) 可实现多行多列个性化绘制图形. sns.FacetGrid( data, row=None, col=None, hue=None, col_wrap=None, ...

  5. C++调用Python-4:调用Python函数,传参数字

    # mytest.py def myadd(a, b): print("this is test python print add function") return a+b #i ...

  6. 如何监控容器或K8s中的OpenSearch

    概述 当前 OpenSearch 使用的越来越多, 但是 OpenSearch 生态还不尽完善. 针对如下情况: 监控容器化或运行在 K8s 中的 OpenSearch 我查了下, 官方还没有提供完备 ...

  7. 基于pdfbox实现的pdf添加文字水印工具

    简述 最近有个需求需要给pdf加文字水印,于是开始搜索大法,但是发现网络上的代码基本都是将字体文件直接放在jar包里面.个人强迫症发作(手动狗头),想要像poi一样直接加载系统字体,于是研究了一下午p ...

  8. HarmonyOS传感器开发指南

      HarmonyOS系统传感器是应用访问底层硬件传感器的一种设备抽象概念.开发者根据传感器提供的Sensor接口,可以查询设备上的传感器,订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用, ...

  9. 百度AIPNLP 文本相似度 文本审核

    效果不如有监督的bert文本相似度好 from aip import AipNlp APP_ID = "22216281" APT_KEY = "foEeYauuvnqW ...

  10. HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例

    介绍 本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据. 效果图预览 使用说明 进入页面,下拉列表触发刷新数据事件,等待数据刷新完成. 上滑列表到底部,触 ...