微信小程序开发(后端 Java)
微信使用的开发语言和文件很「特殊」。
小程序所使用的程序文件类型大致分为以下几种:
①WXML (WeiXin Mark Language,微信标记语言)
②WXSS (WeiXin Style Sheet,微信样式表)
③JS (Java,小程序的主体)
小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。我有一些面试题、架构、设计类资料可以说是程序员面试必备!
所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【111】即可免费获取
在语言方面,小程序看似重新定义了一套标准。但实际上,它们与「前端三件套」——HTML、CSS 和 Java—— 差不太多。
下面,我们就来对比一下小程序开发语言和「前端三件套」有什么异同点:
HTML 与 WXML:两者差异比较大,如果之前没有接触过 Android 开发,可能会觉得有些头疼。事实上,WXML 更像是 Android 开发中的界面 XML 描述文件,适合于程序界面的构建;而 HTML 则倾向于文章的展示 (这与 HTML 的历史有关),以及互联网页面的构建。
WXSS 与 CSS:两者在语言上几乎没有差别,可以直接通用。
JS 文件:小程序的 JS 文件与前端开发使用的 JS 几乎没有区别,只是小程序的 JS 新增了微信的一些 API 接口,并去除了一些不必要的功能 (如 DOM)。
在语言上,小程序完全向学习成本最低的前端开发看齐,但这不代表所有前端开发者都能无缝迁移。
如果你是从前端开发转向小程序,就需要注意这两个点:
HTML 与 WXML 两种文件的构建思想差异较大,如果之前只接触过前端开发,需要一点时间才能适应 WXML 的编写方法。
虽然小程序使用的是前端语言,但不代表可以继续沿用前端的开发思想进行开发。小程序对前端开发的要求从「构建界面」升级成「开发完整应用」,前端开发需要在意识上进行转变。
1. 主要内容
springboot 后端架构构建
小程序项目构建
小程序 api 调用
后台 resetful 接口编写
小程序调用后台接口
免费的 https 申请
Linux 下部署上线
2. 后端详解(Java 编写后端 api)
主要框架 springboot, 开发工具 myeclipse,服务器阿里云服务器。
创建一个 maven 项目,导入相关依赖:
pom.xml 依赖
<!-- 统一版本控制 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><dependencies><!-- freemarker渲染页面 --><!-- https://mvnrepository.com/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>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency></dependencies>
在配置文件 src/main/resources/ 下创建 application.properties 文件,可以修改一些配置参数等
#jsp支持
spring.mvc.view.suffix=.jsp
spring.mvc.view.prefix=/WEB-INF/jsp/
#this is set port
#server.port=80
server.port=443
#添加ssl证书
#ssl证书文件名
server.ssl.key-store=classpath:xxxxxxx.pfx
server.ssl.key-store-password=xxxxxxxx
server.ssl.keyStoreType=xxxxxxxx
在实际项目中可能涉及数据库,还要整合 mybatis,在文章中,仅仅做测试就不做使用数据库的测试
首先创建 springboot 的入库程序:app.class 下为代码:
@ComponentScan(basePackages= "com.bin")//添加扫包@ComponentScan(basePackages= "")
@EnableAutoConfiguration
public class App{//启动springbootpublic static void main(String[] args) {SpringApplication.run(App.class, args);}
}
启动项目时直接右击 run 即可
在写一个测试的 controller 进行微信小程序与 java 后端实现通信,controller 代码如下:
@RestController
@SpringBootApplication
public class ControllerText {@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("zhangsan");list.add("lisi");list.add("wanger");list.add("mazi");map.put("list",list);System.out.println("微信小程序调用完成。。。");return map;}@RequestMapping("getWord")public Map<String, Object> getText(String word){Map<String, Object> map = new HashMap<String, Object>();String message = "我能力有限,不要为难我";if ("后来".equals(word)) {message="正在热映的后来的我们是刘若英的处女作。";}else if("微信小程序".equals(word)){message= "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。";}else if("西安工业大学".equals(word)){message="西安工业大学(Xi'an Technological University)简称”西安工大“,位于世界历史名城古都西安,是中国西北地区唯一一所以兵工为特色,以工为主,理、文、经、管、法协调发展的教学研究型大学。原中华人民共和国兵器工业部直属的七所本科院校之一(“兵工七子”),陕西省重点建设的高水平教学研究型大学、陕西省人民政府与中国兵器工业集团、国防科技工业局共建高校、教育部“卓越工程师教育培养计划”试点高校、陕西省大学生创新能力培养综合改革试点学校。国家二级保密资格单位,是一所以\"军民结合,寓军于民\"的国防科研高校。";}map.put("message", message);return map;}@RequestMapping("")public String getText(){return "hello world";}}
至此简易的后端框架及测试基本完成
说明:@RestController 与 Controller 注解的区别
@RestController 相当于它能实现将后端得到的数据在前端页面(网页)中以 json 串的形式传递。
微信小程序与后台数据之间的数据传递就是以 json 报文的形式传递。这也是选择 springboot 框架开发小程序后台的主要原因之一,可以方便进行小程序后套开发
小程序发起网络请求
在完成了小程序的后端开发,下面进行小程序端发起网络请求。
下面以一个简单的按钮请求数据为例:
wxml 文件:
<button bindtap='houduanButton1'>点击发起请求</button>
<view wx:for="{{list}}">姓名:{{item}}</view>
js 文件:
/*** 页面的初始数据*/data: {list: '',word: '',message:''},houduanButton1: function () {var that = this;wx.request({url: 'http://localhost:443/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})}}})}
主要调用的 api 就是 wx.request, 想知道将详细的介绍大家可以去《微信公众平台》。
接下来以搜索类型的请求为例:
wxml 文件:
<input type="text" class="houduanTab_input" placeholder="请输入你要查询的内容" bindinput='houduanTab_input'></input><button bindtap='houduanButton2'>查询</button><view wx:if="{{message!=''}}">{{message}}</view>
js 文件:变量的定义见上一个 js 文件
//获取输入框的内容houduanTab_input: function (e) {this.setData({word: e.detail.value})},// houduanButton2的网络请求houduanButton2: function () {var that = this;wx.request({url: 'http://localhost:443/getWord',data:{word: that.data.word},method: 'GET',header: {'content-type': 'application/json' // 默认值},success: function (res) {console.log(res.data)//打印到控制台var message = res.data.message;if (message == null) {var toastText = '数据获取失败';wx.showToast({title: toastText,icon: '',duration: 2000});} else {that.setData({message: message})}}})}
至此已经完成了简易的微信小程序端与 java 后端进行通信。
现在可以在启动后端项目在微信开发工具上进行测试。
演示效果:
所以至此已经完成了小程序的前后端通信。
1.https 申请
其实也不算什么申请,在购买域名之后可以申请免费的 ssl 证书,在前面的配置文件 application.properties 中有证书的配置,将证书的 pfx 文件直接添加到后端项目下即可。
2. 购买服务器部署后端 api 代码
对于 springboot 项目,本人建议打 jar,直接在服务器上部署即可,在服务器上只需要安装对应版本的 jdk 即可。项目部署命令:
我购买的是阿里云的轻量级应用服务器部署的。比较划算吧。
运行命令: nohup java -jar helloworld.jar &
nohup 的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;最后一个 & 表示执行命令后要生成日志文件 nohup.out。
当然还可以使用 java -jar helloworld.jar
微信小程序开发(后端 Java)相关推荐
- 基于微信小程序共享停车位设计与实现SSM_car.rar(项目源码+数据库文件+微信小程序开发+后端java语言)
主要功能实现了共享车位的创建,车位的管管理,创建车辆.车辆的管理.附近车位.显示车位的编号,车位的位置,车位的状态,车位.可以查看订单记录车位.停费时间,确认时间计费的时间.可以删除,订单也可以确认是 ...
- 微信小程序与后端Java接口交互-图书搜索实现
完整微信小程序(Java后端) 技术贴目录清单页面(必看) 我们模拟实现一个微信小程序端关键字图书,然后显示图书列表的功能,如下图: 实现大体思路,前端用户输入关键字,通过bindtap事件,事件里得 ...
- 微信小程序开发:Java后台MySQL数据库微信小程序页面
java后台服务器代码 链接:https://pan.baidu.com/s/1KbvycGyND0xEZujLTFUzaw 提取码:2rlh 1.复制粘贴永远不是自己的.我是一名小白,做的有些粗糙, ...
- 前后端微信小程序开发
随着移动互联网的迅猛发展,微信小程序已经成为了一种非常流行的开发方式,它不仅可以节约用户空间,提高用户体验,而且开发成本也相对较低.因此,前后端微信小程序开发技术也日渐成熟. 本篇文章将介绍前后端微信 ...
- 微信小程序开发和网页Web开发的区别
小程序和web开发的区别主要在前端.小程序的主要操作平台在微信上.微信服务器的前端代码和从用户数据库后台传过来的数据,通过微信内置的解释器进行拼接,解释为我们平时看到的页面.Web 开发仍然具有相同的 ...
- Java后端服务器点餐系统的部署+前端微信小程序开发(13)
Java后端服务器点餐系统的部署+前端微信小程序开发(13) 编译运行小程序 1,本地调试 这和你上面java的运行要保持一致,如果是本地的java项目运行你就用 localhost 后台Java直接 ...
- 微信小程序开发【前端+后端(Java)】附完整源码,拿来接私活简直不要太香
一.前言 现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,所以现在用这篇博客记录我之前开发的一些经验和一些心得吧. 二.主要内 ...
- 微信小程序开发(后端Java)
微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...
- 微信小程序开发笔记 支付篇④——基于微信支付SDK实现Java后端接口使用
文章目录 一.前文 二.微信支付 Java SDK 三.示例 一.前文 微信小程序开发笔记--导读 微信支付-SDK与DEMO下载 先看README.md 二.微信支付 Java SDK 对微信支付开 ...
- 微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口
微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口 链接: 点击进入
最新文章
- 页面显示 amp html6,浅谈HTML5 amp;amp; CSS3的新交互特性
- Spring定时器表达式
- MySQL Fabric 套件,提供自动故障检测和故障转移
- 百度浏览器支持html5,百度手机浏览器完美驾驭HTML5
- 提高抗打击能力_如果提高心理抗打击能力?
- Java基础--访问权限控制符
- ES6笔记 -- 变量/语句声明
- 佳士得首次NFT竞拍已经开始,目前竞拍价为180万美元
- bat脚本更新本地Git仓库
- 委托、Lambda表达式、事件系列06,使用Action实现观察者模式,体验委托和事件的区别...
- pycharm小技巧
- linux备份系统 硬盘数据,Linux怎么备份系统
- 文件搭建后找不到变量/函数定义问题
- Python 水仙花数练习
- Layui 文档(含镜像站资源)
- php 读取 日文文件名,PHP文件上传-处理阿拉伯文/中文/日文文件名
- 松下服务器没显示,松下Panasonic伺服驱动器没有显示维修
- DNA 5. 基因组变异文件VCF格式详解
- MATLAB app designer GUI设计
- 无线网感叹号不能上网怎么办