天河微信小程序入门《三》:打通任督二脉,前后台互通

原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1

天河君在申请到https证书后就第一时间去部署后台环境,但是发现每次访问https都要带上8443端口实在是很坑爹啊,作为一个强迫症晚期,我要做的自然是不带端口直接访问。
打开你tomcat下的conf文件夹,编辑里面的server.xml

  1. <Connector port="80" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" />
  4. <!-- Define a SSL HTTP/1.1 Connector on port 8443
  5. This connector uses the BIO implementation that requires the JSSE
  6. style configuration. When using the APR/native implementation, the
  7. OpenSSL style configuration is required as described in the APR/native
  8. documentation -->
  9. <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
  10. maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
  11. keystoreFile="/usr/local/XRL/666666666666.pfx"
  12. keystoreType="PKC666"
  13. keystorePass="666666666666666"
  14. clientAuth="false" sslProtocol="TLS" />
  15. <!-- Define an AJP 1.3 Connector on port 8009 -->
  16. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

复制代码

将以上内容中的8443替换成443,就是下面这样

  1. <Connector port="80" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="443" />
  4. <!-- Define a SSL HTTP/1.1 Connector on port 443
  5. This connector uses the BIO implementation that requires the JSSE
  6. style configuration. When using the APR/native implementation, the
  7. OpenSSL style configuration is required as described in the APR/native
  8. documentation -->
  9. <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
  10. maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
  11. keystoreFile="/usr/local/XRL/666666666666.pfx"
  12. keystoreType="PKC666"
  13. keystorePass="666666666666666"
  14. clientAuth="false" sslProtocol="TLS" />
  15. <!-- Define an AJP 1.3 Connector on port 8009 -->
  16. <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

复制代码

当然注释内的不一定要改,还有就是不要复制粘贴我的,我的证书和你们的不一样。
这样改过后,再访问https://域名的时候,就不需要带端口号了。但是我还是觉得不爽啊,因为浏览器默认是访问http的地址,这样每次访问https我都需要将域名补全,作为一个强迫症晚期,我又要抓狂了。
打开你tomcat下的conf文件夹,编辑里面的web.xml

  1. </welcome-file-list>

复制代码

在上面两行标签之间添加(一般你没有改过web.xml的情况下,这是该文件最后两行代码)如下代码

  1. <login-config>
  2. <!-- Authorization setting for SSL -->
  3. <auth-method>CLIENT-CERT</auth-method>
  4. <realm-name>Client Cert Users-only Area</realm-name>
  5. </login-config>
  6. <security-constraint>
  7. <!-- Authorization setting for SSL -->
  8. <web-resource-collection >
  9. <web-resource-name >SSL</web-resource-name>
  10. <url-pattern>/*</url-pattern>
  11. </web-resource-collection>
  12. <user-data-constraint>
  13. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  14. </user-data-constraint>
  15. </security-constraint>

复制代码

这样当你访问http://的时候会自动跳转到https://上去。ok,至此,强迫症就好了一大半了,我们也可以开始写后台服务了。
至于连https证书都还没有搞定的同学,请移步(天河微信小程序入门《二》
天河君之前是java狗,这次的后台也是用java部署的,用的是传统的web框架SSM,使用了极乐科技的一键部署工具。因为好久没有搭框架了,还好有这样的一键部署工具,不然又要一点点配置框架,简直是疯掉。一键生成SSM框架后,天河君就直接开始写业务代码了。嗯嗯~非常简单的代码:

  1. /**
  2. * 获取系统时间。
  3. * @return 获取系统时间。
  4. * @author Sdanly
  5. * @since 1.0
  6. */
  7. @ResponseBody
  8. @RequestMapping(value=<span style="white-space: pre; line-height: 1.5;">"/getTime"</span><span style="line-height: 1.5;">, method=RequestMethod.GET)</span>
  9. public Map<String, Object> getTime(HttpServletRequest req) {
  10. Map<String, Object> params = new HashMap<String, Object>();
  11. SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  12. params.put("time", time.format(new Timestamp(System.currentTimeMillis())));
  13. return params;
  14. }

复制代码

是的,天河君只是想测试前后台的环境是通的,所谓欲练神功,先打通任督二脉嘛。
前台则是做了一个按钮,将后台传送上来的时间显示出来而已。demo会在文末提供下载(非常简单的demo,大家也可以尝试自己去做)
这个请求会返回一个name是"time",value是当前服务器时间的json串回来。获取之后显示在前台的页面就ok了。

手机上的效果就是这样的。虽然很简单,但主要是为了证明前后台通讯正常嘛,也就没有写太复杂了。
后期天河在学习小程序制作的过程中,会写更多的后台调用服务,因为很多朋友都是纯前端,只是想学习小程序本身的开发,对后台的环境搭配等并不熟悉,也不感兴趣。所以天河在这里想公布后台的api和配置方法,如果有朋友只是想学习小程序前端的知识,可以直接调用api,不用去管后台的逻辑处理。按照我们约定好的借口接收数据就可以了。
后台的域名是https://api.wxapp-union.com,这个获取时间的api是getTime,在小程序中的调用方法是

  1. wx.request({
  2. url: ‘https://api.wxapp-union.com/getTime‘

复制代码

返回的报文是

  1. {"time":"2016-11-09 20:22:47"}

复制代码

没有appId的朋友直接在开发工具上就可以调试,有appId的朋友,在你的后台开发设置中,将我们的域名写入服务器配置就可以了。

这样就可以将后续的demo直接在手机上调试。如果大家有什么需求,或者想要的api接口和功能,都可以在原贴(wxapp-union.com)的下方提出来,天河君尽力帮大家开发。
 testApp-https.rar (3.2 KB, 下载次数: 0)

时间: 2024-10-06 12:37:07

天河微信小程序入门《三》:打通任督二脉,前后台互通的相关文章

天河微信小程序入门:阿里云tomcat免费配置https

天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我一起,共同进步,以致千里.上一篇是天河君在通过验证之后,兴奋的立即上手,在手机上跑了一回微信小程序.(天河微信小程序入门<一>)冷静下来后,天河发现,之前的很多demo在手机上都用不了,因为公测后得到了appId,结果导致无法与后台通讯,appId和后台的服务器域名是绑定的.没有后台的小程序是不完

天河微信小程序入门《四》:融会贯通,form表单提交数据库

天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数据库已经是没有什么可写的了.不过既然开篇了就不能太监么,所以还是分享出来给大家.我当时的目的是为了实验api的功能和跟后台数据的通讯存储,所以没有考虑到美观之类的,界面非常丑请大家包涵.一个带form表单的页面在这里定义好自己form表单的元素名称 01 02 03 04 05 06 07 08 09 10

微信小程序入门到实战(二)

上一文章里面,我们实现了第一个小程序页面,并且了解到了一些小程序的知识,接下来继续开始我们的学习. 页面的跳转 在第一个小程序页面,预留了一个按钮,这是为了跳转到其他的页面,在微信小程序里面跳转的方法主要有下面三种: wx.navigateTo() wx.redirectTo() wx.switchTab() wx.switchTab({ url: '/index' }) 路径可得注意写对,区分绝对路径和相对路径: 绝对路径:一般在前面加上/,表示从根目录开始往下寻找 相对路径:相对于当前页面来

微信小程序入门三

微信小应用借鉴了很多web的理念,但是其与传统的webApp.微信公共号这些BS架构不同,他是CS架构,是客户端的程序 小程序开发实战--豆瓣电影 项目配置 -在app.jsop中进行简单配置 --navigationBarBackgroundColor:导航栏背景颜色 --navigationBarTitleText:导航栏文本内容 --navigationBarTextStyle:字体颜色,只能是black或者white 规划程序所有页面并配置 -创建所需要的目录 --每个页面包含js.wx

微信小程序入门五: wxml文件引用、模版、生命周期

实例内容 wxml文件引用(include.import) 模版 小程序生命周期 实例一: include方式引用header.wxml文件 文件引用对于代码的重用非常重要,例如在web开发中我们可以将公用的header部分和footer等部分进行提取,然后在需要的地方进行引用. 微信小程序里面,是包含引用功能的--include.import.这两个引用文件的标签,使用基本差不多,这里先说一下include. 微信中的视图文件引用,引用过来的都是没有渲染的,基本类似于直接将引用过来的文件复制到

微信小程序入门(三)

11.开发框架基本介绍 四个组成部分,其它三个前面介绍过了,主要WXS:WXS:对wxml增强的一种脚本语言,可以对请求的数据进行filter或者做计算处理,帮助wxml快速构建出页面结构. 12.WXML之语法 概念 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合组件.WXS和时间系统,可以构建出页面的结构. 语法 <标签名 属性名=“属性名1” 属性名=“属性名2”...> ...</标签名> 简单例子 <view> Hell

微信小程序入门篇

微信小程序入门篇: 准备工作 IDE搭建 就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程 图片发自简书App 知识准备 JavaScrip还是要看看的,推荐教程 廖雪峰大神的博客 HTML+CSS 大概知道是干啥的就行 从零开始 微信小程序中就四种类型的文件 js ---------- JavaScrip文件 json -------- 项目配置文件,负责窗口颜色等等 wxml ------- 类似HTML文件 wxss ------- 类似CSS文件

微信小程序把玩(三)tabBar底部导航

原文:微信小程序把玩(三)tabBar底部导航 tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 主要属性: 对于tabBar整体属性设置: 对于tabBar中每个Item属性设置: 下面是官网一张图对tabBar描述: app.json的配置相对就简单了:

微信小程序入门正确姿势(一)

>>>前言 这是 [认真学编程] 系列的 第4篇 文章(微信小程序入门系列),欢迎点赞分享.写留言,这些都是对我最好的支持. 本系列适合有一定开发经验的前端Coder,新手慎入. 本文是微信小程序入门系列第一篇文章,主要有以下几点内容: 1. 教程安排 2. 小程序背景及应用场景 3. 小程序优势及局限 4. 入门必备 >>>学习安排 以上顺序可能会有变动. >>>背景 在PC互联网时代,想必大家都经历过这样的情形:时不时收到软件更新提示,等几分钟甚至