异步调用-接收异步请求参数 01
电脑版发表于:2022/7/31 11:34
一、
二、
案例、
环境、
1、pom.xml的坐标
<!-- servlet规范--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- jsp --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <!-- spring--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!-- spring Mvc--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!-- spring Web--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.1.9.RELEASE</version> </dependency> <!--json的3个坐标--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.0</version> </dependency>
2、spring-mvc.xml的配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 扫描sprig的bean--> <context:component-scan base-package="com.itheima"/> <!-- mvc驱动--> <mvc:annotation-driven/> <!-- 放行静态资源--> <mvc:resources mapping="/js/**" location="/js/"/> </beans>
3、web.xml的配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <!--用于解决中文乱码--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--拦截--> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
4、ajax.jsp即Ajax的用法所在位置,注意:在用Ajax前要下载jQuery
<%@page pageEncoding="UTF-8" language="java" contentType="text/html;UTF-8" %> <a href="javascript:void(0) ; " id="testAjax">访问springmvc后台controller</a><br/> <a href="javascript:void(0) ;" id="testAjaxPojo">访问springmvc后台controller,传递Json格式PoJo</a><br/> <a href="javascript:void(0);" id="testAjaxList">访问springmvc后台controller,传递Json格式List</a><br/> <a href="javascript :void(0); " id="testCross">跨域访问</a><br/> <%--本地下载的jquery位置--%> <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.3.1.main.js"></script> <script type="text/javascript"> $(function () { // 为id="testAjax"的组件绑定点击事件 $("#testAjax").click(function () { //发送异步调用 $.ajax({ //请求方式: type: "POST", //请求的地址 url: "ajaxController", //请求参数(也就是请求内容) data: "ajax message", //响应正文类型 dataType: "text", //请求正文的MIME类型 contentType: "application/text" }); }); //为id="testAjaxPojo"的组件绑定点击事件 $("#testAjaxPojo").click(function () { $.ajax({ type: "POST", url: "ajaxPojoToController", data: '{"name":"Jock","age":39}', dataType: "text", contentType: "application/json", }); }); //为id="testAjaxList"的组件绑定点击事件 $("#testAjaxList").click(function () { $.ajax({ type: "POST", url: "ajaxListToController", data: '[{"name":"Jock","age":39},{"name":"Jock2","age":33}]', dataType: "text", contentType: "application/json", }); }); //为id="testAjaxReturnString"的组件绑定点击事件 $("#testAjaxReturnString").click(function () { //发送异步调用 $.ajax({ type: "POST", url: "ajaxReturnString", //回调函数 success: function (data) { //打印返回结果 alert(data); } }); }); }) </script>
5、
6、测试
6.1、访问ajax.jsp的网页
6.2、响应结果