网站首页 > 基础教程 正文
如何访问静态资源
1.在配置文件中设置
springmvc.xml文件中加入
<mvc:annotation-driven></mvc:annotation-driven>
<!--**配置解释:** 将静态资源(图片,css,js,html)放入了webApp/static文件夹下! 直接访问DispatcherServlet会拦截出现404问题!-->
<!--location元素表示webapp目录下的static包下的所有文件;-->
<!--mapping元素表示将 location对应文件加下的资源对应到 /static路径下!-->
<!--该配置的作用是:DispatcherServlet不会拦截以/static开头的所有请求路径,并当作静态资源-->
<mvc:resources mapping="/static/**" location="/static/" ></mvc:resources>
静态资源是放在webapp/static/下面
访问
<img src="static/images/1.jpg" width="100" height="100" />
八. 怎么处理ajax请求的数据
@ResponseBody 注解
设置@ResponseBody 注解 返回的是内容 而不是转发页面
1.返回的是一个值
@RequestMapping("/checkUname")
@ResponseBody //注解 响应内容 不转发页面 直接返回内容
public String checkUname(String uname)
{
if(uname.equals("zhangsan"))
return "not ok";
else
return "ok";
}
测试案例
reg.jsp
<script src="static/js/jquery1.11.3.min.js"></script>
<script src="static/js/reg.js"></script>
用户名:<input type="text" name="uname" id="uname" /><span id="s1"></span>
AjaxController.java
@Controller
@RequestMapping("/ajax")
public class AjaxController {
@RequestMapping("/checkUname")
@ResponseBody //注解 响应内容 不转发页面 直接返回内容
public String checkUname(String uname)
{
if(uname.equals("zhangsan"))
return "not ok";
else
return "ok";
}
}
reg.js
$(function(){
$("#uname").blur(function(){
//1.获得输入的用户名
var uname=$(this).val();
//2.通过ajax将用户名传到服务器判断是否存在 并将结果返回
$.get("ajax/checkUname?uname="+uname,function(msg){
$("#s1").html(msg);
})
/* $.ajax({
"type":"get",
"url":"",
"data":"uname="+uname,
"success":function(msg){
}
})*/
})
})
2.需要返回多个值 则需要将其转换为json字符串
方式1: 用springmvc支持的 jar包 ,让前端控制器帮你转换为json 字符串
2.1 导入jar包
支持:
jackson : jackson-databind/jackson-annotations/jack-core
gson: gson
**注意: ** jackson需要三个jar包!如果使用maven引入jackson-databind会连带引入 core和annotations。
如果非maven项目,必须加入三个jar包!
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
? 2.2 添加配置
? springmvc.xml加入
<mvc:annotation-driven></mvc:annotation-driven>
? 2.3 在控制器使用
@Controller
@RequestMapping("/ajax")
public class AjaxController {
//会将list转换为json字符串
@RequestMapping("/selectUserList")
@ResponseBody
public List<User> selectUserList()
{
List<User> userList=new ArrayList<User>();
userList.add(new User("zhangsan1","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号")));
return userList; //直接返回list 不用返回json字符串
}
}
2.4 在js中接收
$("#span1").mouseover(function(){
$.getJSON("ajax/selectUserList",function(jsonarr){
$("#userList").empty();
$.each(jsonarr,function(k,v){
$("#userList").append("<li>"+v.uname+"</li>");
})
})
})
方式2: 用fastjson ,自己转换为json字符串
2.1 导入jar包
<!-- json依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
2.2 添加配置
? springmvc.xml加入
<mvc:annotation-driven></mvc:annotation-driven>
? 2.3 在控制器使用
@Controller
@RequestMapping("/ajax")
public class AjaxController {
//会将list转换为json字符串
@RequestMapping("/selectUserList")
@ResponseBody
public String selectUserList()
{
List<User> userList=new ArrayList<User>();
userList.add(new User("zhangsan1","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan2","123",23,new Address("湖北","武汉","汉口大道100号")));
userList.add(new User("zhangsan3","123",23,new Address("湖北","武汉","汉口大道100号")));
return JSON.toJSONString(userList); //返回json字符串
}
}
2.4 js接收:
$("#span1").mouseover(function(){
$.getJSON("ajax/selectUserList",function(jsonarr){
$("#userList").empty();
$.each(jsonarr,function(k,v){
$("#userList").append("<li>"+v.uname+"</li>");
})
})
})
猜你喜欢
- 2024-12-17 springboot:实现文件上传下载实时进度条功能【附带源码】
- 2024-12-17 我用ChatGPT做开发之小轻世界聊天系统
- 2024-12-17 electron聊天室|vue+electron-vue仿微信客户端|electron桌面聊天
- 2024-12-17 JavaScript检测用户是否在线! js判断用户是否登录
- 2024-12-17 深入了解EL表达式 什么是el表达式
- 2024-12-17 Vue虚拟DOM 什么是虚拟DOM?如何实现一个虚拟DOM 虚拟DOM原理
- 2024-12-17 SpringBoot系列——Jackson序列化
- 2024-12-17 箭头函数和常规函数之间的 5 个区别
- 2024-12-17 Vue合理配置WebSocket并实现群聊 vue建立websocket连接
- 2024-12-17 一、SpringBoo中Mybatis多数据源动态切换
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)