⼩程序开发——后端Java(⼀)
⼀、前⾔
最近接触了⼩程序的开发,后端选择Java,因为⼩程序的代码运⾏在腾讯的服务器上,⽽我们⾃⼰编写的Java代码运⾏在我们⾃⼰部署的服务器上,所以⼀开始不是很明⽩⼩程序如何与后台进⾏通信的,然后查资料发现结合了官⽅提供的api后好像和我们普通的web前后端通信也没有多⼤的区别,有想法后就写了这个测试程序。
⼆、⼩程序开发基础
1、不校验域名安全性
⼤家在刚开始开发的时候⼀般都没有⾃⼰的服务器及域名,所以⼤家在本地编写的时候,在“详细”下的“项⽬设置”⾥⾯将“不校验域名安全性”勾选。
2、了解wx.request(OBJECT)
可先阅读
OBJECT参数说明:
success返回参数说明:
data 数据说明:
最终发送给服务器的数据是 String 类型,如果传⼊的 data 不是 String 类型,会被转换成 String 。转换规则如下:
对于 header['content-type'] 为 application/json 的数据,会对数据进⾏ JSON 序列化
对于 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string
(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
3、.json⽂件不能为空
必须加上{}
三、Java后端编写
主要框架springboot,开发⼯具idea,服务器阿⾥云服务器。
1、创建⼀个maven项⽬,导⼊相关依赖:
<!-- 统⼀版本控制 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<dependencies>
<!-- freemarker渲染页⾯ -->
<!-- mvnrepository/artifact/org.springframework.boot/spring-boot-starter-freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<!-- spring boot 核⼼ -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot整合jsp -->
<!-- tomcat 的⽀持. -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>at.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
</dependencies>
2、创建l⽂件,修改⼀些配置参数等
server:
port: 8083
ssl:
key-store: classoath:xxxxxx.pfx
key-store-password: xxxxxx
key-store-type: xxxxxx
在实际项⽬中可能涉及数据库,还要整合mybatis,在⽂章中,仅仅做测试就不做使⽤数据库的测试
3、⾸先修改springboot的启动程序:
package com.wx.m3;
@ComponentScan(basePackages= "com.wx.m3")//添加扫包@ComponentScan(basePackages= "")
@EnableAutoConfiguration
public class M3Application {
public static void main(String[] args) {
SpringApplication.run(M3Application.class, args);
}
}
启动项⽬时直接右击run即可
4、在写⼀个测试的controller进⾏⼩程序与java后端实现通信,controller代码如下:
@RestController
@SpringBootApplication
public class IndexController {
@RequestMapping("getUser")
public Map<String,Object> getUser(){
System.out.println("⼩程序正在调⽤...");
Map<String,Object> map = new HashMap<String, Object>();
List<String> list = new ArrayList<String>();
list.add("Amy");
list.add("Cathy");
map.put("list",list);
System.out.println("⼩程序调⽤完成...");
return map;
}
@RequestMapping("")
public String getTest(){
return "Hello world";
}
}
⾄此简易的后端框架基本完成
  说明:@RestController与Controller注解的区别
      @RestController相当于它能实现将后端得到的数据在前端页⾯(⽹页)中以json串的形式传递。
      ⼩程序与后台数据之间的数据传递就是以json报⽂的形式传递。这也是选择springboot框架开发⼩程序后台的主要原因之⼀,可以⽅便进⾏⼩程序后套开发
四、⼩程序发起⽹络请求
下⾯以⼀个简单的按钮请求数据为例:
hello.wxml⽂件:
<button bindtap='houduanButton1'>点击发起请求</button>
<view wx:for="{{list}}">
姓名:{{item}}
</view>
hello.js⽂件:
Page({
data:{
list: ''
},
houduanButton1:function(){
var that = this;
url: 'localhost:8083/getUser',
method: 'GET',
header: {
'content-type':'application/json'
},
success: function(res){
console.log(res.data);
var list = res.data.list;
if(list == null) {
var toastText = '数据获取失败';
wx.showToast({
title: toastText,
icon: '',
duration: 2000
});
} else{
that.setData({
list: list
})
}入门的java游戏小程序
}
})
}
})
app.json:
将hello放到第⼀⾏,则⾸先进⼊hello.wxml
测试结果如下所⽰:
  点击按钮显⽰姓名

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。