首页 > 其他分享 >访问静态资源和处理Ajax请求的数据

访问静态资源和处理Ajax请求的数据

时间:2022-10-24 23:57:02浏览次数:42  
标签:function userList 静态 ajax 访问 Ajax uname new public

如何访问静态资源
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>");
          })
   })
})

  

标签:function,userList,静态,ajax,访问,Ajax,uname,new,public
From: https://www.cnblogs.com/daimenglaoshi/p/16823500.html

相关文章

  • 对象的访问定位
    ​建立对象是为了使用对象,Java程序需要通过栈上的reference数据来操作堆上的具体对象。由于reference类型在Java虚拟机规范中只规定了一个指向对象的引用,并没有定义这个引......
  • 什么时候定义静态变量与实例变量
    publicclassTest1{publicstaticvoidmain(String[]args){//静态属性的调用-----"类名."System.out.println(Chinese.country);//......
  • 爬取js渲染或ajax加密的网页(万能方法)
    requests库Requests是Python的第三方库,它的安装非常简便,如下所示:python-mpipinstallrequestsRequests库是在urllib的基础上开发而来,它使用Python语言编写,并......
  • CPI 访问需验证的HTTP接口
    CPI访问外围系统接口时,有时需要先访问验证接口,获取AccessToken或得到账密,然后访问具体接口时,将获取到的验证结果传入具体接口进行访问1、OAuth2.0 AccessToken方式1.1、......
  • 静态资源目录
    1.在ResourceProperties类下privatestaticfinalString[]CLASSPATH_RESOURCE_LOCATIONS=newString[]{"classpath:/META-INF/resources/","classp......
  • ABB AC900F学习笔记155:显示访问1
    ABBAC900F学习笔记155:显示访问1_来自金沙江的小鱼_新浪博客(sina.com.cn)上面是我在新浪博客笔记的链接,为了避免可能的服务关闭,我在这里也记录一份在FreelanceOperatio......
  • mysql数据库指定ip远程访问(设置远程连接),赋权操作
    mysql数据库指定ip远程访问(设置远程连接)远程访问mysql报错,ip不允许链接的情况:错误号码1045Accessdeniedforuser'用户名'@'数据库地址'(usingpassword:YES) 查......
  • postman或curl访问https域名,报错unable to verify the first certificate,支付宝支付异
    postman或curl访问https域名,报错unabletoverifythefirstcertificate,支付宝支付异步回调,https不通问题  如上述问题,网上大部分的解决方法就是关闭postman的ssl验......
  • linux下开机启动443程序无法访问解决方法
    前言:最近,有一个项目需要用到开机自动启动程序,所以就研究了一下,环境为redhat8,程序是node,使用forever来进行node程序的持久化,程序使用的是443端口,开启的是https1.把no......
  • 博客园 首页 新随笔 联系 管理 .NET 5在Docker中访问MSSQL报错
    不知道你有没有在.NETCore/.NET5的Docker访问MSSQLServer数据库,如果有,那么很有可能会遇到这个错误。1SSL版本错误最近在公司用.NET5重构部分业务服务,由于之前老系......