分离式前后端的交互(超详细)

这篇具有很好参考价值的文章主要介绍了分离式前后端的交互(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

近期首次进军微信小程序的开发,采用前后端分离的开发模式。

本篇主要探究前后端的交互过程,前后端框架由于是初次接触,了解的并不多,写的比较粗糙,仅供初学者参考。

软件环境:HBuilder、IDEA

前端框架:uni-app(uniapp是基于vue框架,所以如果你会vue的话,来学uniapp会很简单)

后端框架:SpringMVC

前端:

1.新建uni-app项目

        文件-新建-项目,选择uni-app,这里的模板选择最简单就行,一口吃不了个大胖子

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

创建完成后就是这个样子,(utils是我自己写的工具类,可忽略):

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

说一下重要的文件或文件夹:

pages :所有的页面存放目录
static :静态资源目录,例如图片等
unpackage :就是打包目录,在这里有各个平台的打包文件
App.vue :是我们的根组件,所有页面都是在App.vue下进行切换的,是页面入口文件,可以调用应用的生命周期函数。
main.js :是我们的项目入口文件,主要作用是初始化vue实例并使用需要的插件。
manifest.json :文件是应用的配置文件,用于指定应用的名称、图标、权限等。
pages.json :文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等
uni.scss :文件的用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格,uni.scss文件里预置了一批scss变量预置。

2.向后端发送请求

下面打开pages里面的index.vue 在里面写访问后端的js:

<script>
	export default {//这一块是文件自带的
		data() {
			return {
				title: 'Hello world!'
			}
		},
		onLoad() {},
		methods: {}
	}
	
	 uni.request({
		url: 'http://localhost:8080/book/test?id=4', //http://localhost:端口号/后端路径
			data: {//参数
				type: 3,
				id:2,
			},
			header: {
				// 'Content-Type': 'application/x-www-form-urlencoded'
				 'Content-Type': 'application/json' //自定义请求头信息
			},
			method:'POST',//请求方式,必须为大写
			success: (res) => {
				console.log('接口返回------',res);
			}
	  })
</script>

后端:

1.打开IDEA,新建项目

File-new-project,选择maven项目:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

下面的步骤随便填就可以,最后新项目建好了就是这个样子:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

注意建好之后还没有web这一个文件夹,此时还不是web项目,需要进一步操作:

file-project structure-modules-加号-web,后面一路OK就可以了,完事后就和我的文件夹一样了。

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

2.在pom.xml引入配置:

<dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.1.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>
    </dependencies>

3.在web.xml引入配置:

<!--注意以下内容均写在<web-app>标签内-->
<filter>
        <filter-name>encodingFilter</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>encodingFilter</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:applicationContext.xml</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>

    <!--将前端请求过滤,静态资源或接口将会分别处理-->
    <servlet-mapping>
        <servlet-name>DispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <!--session 过期时间-->
    <session-config>
        <!--15分钟-->
        <session-timeout>15</session-timeout>
    </session-config>

4.添加SpringMVC核心配置文件

        src-main-resources下,添加两个xml文件:

        (1)spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--开启注解扫描 起到处理器映射器 handlerMapping 和 处理器适配器 handlerAdapter 的作用-->
    <mvc:annotation-driven/>
    <!--拦截器 对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,
    就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。-->
    <mvc:default-servlet-handler/>
    <!--扫描该包下所有的注解-->
    <context:component-scan base-package="com.magic.controller"/>
</beans>

        (2)application-Context.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!--将spring-mvc.xml引入到上下文-->
    <import resource="spring-mvc.xml"/>

</beans>

5.编写接口获取前端请求

@Controller
@RequestMapping("/book")
public class Book {
    //回忆一下前端的url---url: 'http://localhost:8080/book/test?id=4'
    @RequestMapping("/test")
    @ResponseBody
    public String test(String id){//这里的id是url中?后面的内容,名字要一致
        System.out.println("来到后端!!");
        System.out.println(id);

        return id;
    }
}

6.配置tomcat

来到右上角:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

按图示操作:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

点击OK

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

最后点击运行,如果正常的话这里会是一个绿色的对勾:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

7.可能出现的问题

如果不是绿色对勾,而是黄色的感叹号,可能是这里的war包没有打好:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

删掉它,重新按照如下步骤打一遍,File-Project Structure,然后OK,重新运行项目:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

8.打完收工

在tomcat运行的状态下,在HBuilder中运行前端,观察前后端控制台:

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

小程序前后端分离怎么实现交互的,小程序开发,交互,idea,spring,mvc

可以看到后端拿到了前端的请求,前端也获得了来自后端的数据,前后端的交互完成!文章来源地址https://www.toymoban.com/news/detail-858146.html

到了这里,关于分离式前后端的交互(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ELK 分离式日志

    目录 一.ELK组件 ElasticSearch: Kiabana: Logstash: 可以添加的其它组件: ELK 的工作原理: 二.部署ELK 节点都设置Java环境: 每台都可以部署 Elasticsearch 软件: 修改elasticsearch主配置文件: 性能调优参数: 修改内核参数文件: 访问页面查看节点信息及状态: 每台安装 Elasticsearch-

    2024年01月19日
    浏览(39)
  • ELK 分离式日志(1)

    目录 一.ELK组件 ElasticSearch: Kiabana: Logstash: 可以添加的其它组件: ELK 的工作原理: 二.部署ELK 节点都设置Java环境: 每台都可以部署 Elasticsearch 软件: 修改elasticsearch主配置文件: 性能调优参数: 修改内核参数文件: 访问页面查看节点信息及状态: 每台安装 Elasticsearch-

    2024年01月19日
    浏览(42)
  • 前后端分离,JSON数据如何交互

    在配置文件商法加上相应注解   @EnableWebMvc 在接收的路径上加上@RequestBody注解 注解的作用:在Spring框架中,@RequestBody注解用于将HTTP请求的body中的内容转换为Java对象,并将其作为参数传递给控制器方法。它通常用于处理POST和PUT请求,这些请求通常包含JSON或XML格式的数据。通

    2024年02月09日
    浏览(45)
  • 基于Axios完成前后端分离项目数据交互

    npm i axios -S 封装一个请求工具:request.js  在vue 的 methods 中使用 :    或者直接在vue 中引用使用:  但是现在就运行程序则会报错 方法一:增加一个 CorsConfig 类  方法二:在controller层上加上@CrossOrigin 注解  两个方法任选其中一个就行。现在将前后端启动就可以进行数据交互

    2024年02月11日
    浏览(40)
  • 在centos服务器中完成jdk,tomcat,MySQL的安装以及前后端分离项目中后端的部署

    目录 一. jdk,tomcat的安装 1.将要安装的软件压缩包放入到centos服务器上  2. 解压对应的安装包 3. jdk环境变量配置 4. tomcat启动 5. 关闭防火墙  二. MySQL安装 1. 卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看) 2. 将MySQL安装包解压到指定目录 3. 开始安装,-ivh 其中i表示

    2024年02月06日
    浏览(51)
  • 基于Vue和Element UI实现前后端分离和交互

    目录 前言 一、Element UI简介 1.Element UI是什么 2.Element UI的特点 二、项目搭建 1.创建一个SPA项目 2.安装 Element-UI 3.导入组件 4.创建登陆注册界面 登录组件---Login.vue 注册组件---Register.vue 定义组件与路由的对应关系 效果演示:  三、前后端数据交互 1.安装axios 2.导入api模块,添加

    2024年02月08日
    浏览(51)
  • Java-web:使用Axios代替JSP进行前后端分离与数据交互

    使用Servlet注解代替配置web.xml文件 在servlet3.0版本支持使用注解 1.创建一个Servlet响应axios发送的请求 JSP代替: 还原JSP到HTML: Axios:将ajax进行封装,简化JS发送异步请求的代码 Axios官网:https://www.axios-http.cn/ 下载axios.js文件到本地然后再HTML头文件引入或者直接引用网址的JS头文

    2024年02月06日
    浏览(43)
  • (九)axios前后端跨域数据交互--基于SpringBoot+MySQL+Vue+ElementUI+Mybatis前后端分离面向小白管理系统搭建

    在任务六中我们讲过,前后端跨域数据交互,有两种方式可以解决跨域请求,任务六我们使用了CorsConfig类配置跨域。本次任务,我们使用一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中的axios,实现前后端跨域数据交互。通过本次任务,大家能够: (1)掌握axios的使用

    2024年02月15日
    浏览(38)
  • Android实现与PHP后端的交互(数据传输,文件传输)(超详细/附源码)

    为方便大家浏览,源码先行奉上 github源码链接 https://github.com/Recycle1/Android-connect-PHP csdn源码链接 https://download.csdn.net/download/weixin_52263647/87751491 在Android开发中,经常涉及与服务器端交互的过程,在现在的APP制作中,经常利用互联网通信,从云端获取图片,数据等信息,本篇文

    2024年01月19日
    浏览(39)
  • 从零开始快速搭建SpringBoot+Mybatis+小程序应用--微信小程序的入门和前后端的联调

    目录 项目介绍  vx小程序简介 VX开发工具介绍 列表页开发 list的编写   列表页前后端联调  信息编辑页开发 operation的编写 区域信息编辑页的联调 从0搭建后端的Springboot+mybatis框架 实现后端的业务功能 实现本地微信小程序的前端开发 前端与后端的调控 技术储备要求 1.基础的

    2024年02月10日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包