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 ...
随机推荐
- KingbaseES 数据库逻辑优化规则
SQL 优化的过程可以分为逻辑优化和物理优化两个部分.逻辑优化主要是基于规则的优化,简称 RBO(Rule-Based Optimization).物理优化会为逻辑查询计划中的算子选择某个具体的实现, ...
- [Unity3D] 使用LineRenderer实现尾迹与虚线效果
Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRenderer组件 先创建一个3D对象,然后点击Add Component选项 搜索并添加LineRenderer组件 添 ...
- Jetty的https模块
启用https模块,执行如下命令: java -jar $JETTY_HOME/start.jar --add-modules=https 命令的输出,如下: INFO : https initial ...
- Seaborn结构化图形绘制(FacetGrid)
结构化图形绘制(FacetGrid) 可实现多行多列个性化绘制图形. sns.FacetGrid( data, row=None, col=None, hue=None, col_wrap=None, ...
- C++调用Python-4:调用Python函数,传参数字
# mytest.py def myadd(a, b): print("this is test python print add function") return a+b #i ...
- 如何监控容器或K8s中的OpenSearch
概述 当前 OpenSearch 使用的越来越多, 但是 OpenSearch 生态还不尽完善. 针对如下情况: 监控容器化或运行在 K8s 中的 OpenSearch 我查了下, 官方还没有提供完备 ...
- 基于pdfbox实现的pdf添加文字水印工具
简述 最近有个需求需要给pdf加文字水印,于是开始搜索大法,但是发现网络上的代码基本都是将字体文件直接放在jar包里面.个人强迫症发作(手动狗头),想要像poi一样直接加载系统字体,于是研究了一下午p ...
- HarmonyOS传感器开发指南
HarmonyOS系统传感器是应用访问底层硬件传感器的一种设备抽象概念.开发者根据传感器提供的Sensor接口,可以查询设备上的传感器,订阅传感器数据,并根据传感器数据定制相应的算法开发各类应用, ...
- 百度AIPNLP 文本相似度 文本审核
效果不如有监督的bert文本相似度好 from aip import AipNlp APP_ID = "22216281" APT_KEY = "foEeYauuvnqW ...
- HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例
介绍 本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据. 效果图预览 使用说明 进入页面,下拉列表触发刷新数据事件,等待数据刷新完成. 上滑列表到底部,触 ...