900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 服务器连接微信发消息 微信小程序(一):微信小程序与服务器的简单连接

服务器连接微信发消息 微信小程序(一):微信小程序与服务器的简单连接

时间:2020-12-25 01:29:08

相关推荐

服务器连接微信发消息 微信小程序(一):微信小程序与服务器的简单连接

生活无趣且不易,一块儿找点乐子吧。欢迎评论,和文章无关的东西也不要紧。css

关于小程序的有些问题,我搜索不到太有价值的东西(多是我对关键字的理解很差)。html

在这里我总结下遇到各类问题,可能看来会比较好笑,但对新手来讲也许会有些帮助,我会尽可能去注重具体的实现。前端

这篇文章来讲下小程序和服务器的连接问题,或许有些人会和我同样。两者要连接,知道小程序要向服务器发送带参或不带参请求,而后服务器对其做出反应处理,并将处理结果返回,最后小程序接受并显示。But, how?java

不知道怎样让小程序向服务器发送请求,不知道服务器怎样发送消息给客户端,更不知道怎样去接收。主要就是怎样具体实现它,而不是缺理论,我尝试着去解释下。web

先简单介绍下服务器的部署吧,了解的请直接略过。 服务器容器Tomcat,编译环境myeclipse。(Eclipse也不要紧,可能有些按钮的位置和文章里的不一样,查下就好。)编程

(后记:服务端重点了解两部分,servlet和jsp。简单说明servlet处理请求,JSP显示页面。这两块就能实现大部分的功能了。若是不须要界面,JSP也能够省去。)小程序

首先,咱们须要知道,请求是向servlet发送的,(微信小程序只支持http协议)换句话说,用JAVA编写的servlet处理客户端请求。windows

先来看看怎样去建立一个servlet。微信小程序

在编辑器里,file->new->servlet,而后填相关信息。浏览器

填写Name,建立的方法点选doget 和 doput就好,由于简单的事例,不用太复杂,了解http的知道,这两种方法分别是处理get和put方法请求的。简单状况下咱们不区别对待,因此,彻底能够doput函数里只写this.doGet();(让put方法去调用get)。(请求的方式有不少种,get和put是最基本的两种,put请求用于向服务端提交数据,get用于获得指定为的数据。)

建好servlet前必定要写好jsp mapping url,也就是图中第三行内容,这就是客户端请求时须要的url(能够理解成地址,咱们打开浏览器输入,地址栏里这个连接就是url【Uniform Resource Locator】,统一资源定位符)。

当建好后你能够经过项目里webroot文件夹web—inf里的web.xml查看建立状况。

url没问题就能够。打开咱们的sevlet,把一些不必的东西删掉简单些,像这样:

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class textServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

request.setCharacterEncoding("utf-8");//这里是设置一下编码格式

System.out.println("收到!");

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doGet(request, response);

}

}

你们能够看到这个servlet的功能就是收到请求后,在控制台打出“收到!”

下一步,部署服务器(编辑器不一样的按钮位置去搜下~)

1————————————————————————————

选择好你的项目工程,选择tomcat服务器,点“ok”(不是tomcat的须要先把服务容器配好,通常搜索下就能找到详细的配置过程,windows - performance里面,选中容器后出现Successful deployed算是没问题,否则你可能须要从新配置下服务器了。)

2————————————————

启动tomcat服务器

启动成功后控制台显示信息

ok,到这里服务器就算布置完了。接下来咱们来谈一下什么是客户端,又怎样与服务器创建连接。

咱们先简单点解释,我以为,其实咱们常常用的浏览器就能够说成客户端。而上面的,咱们一般说的网址,就是要发送请求的服务器地址,也就是咱们刚刚设置的url。

那么,咱们的服务请求的处理已经编写完毕,并且url也已经设置好,tomcat也处于打开状态(也就是处在能够接受请求的状态)。

前面咱们说到,向咱们编写的那个servlet·发送请求,若是服务器接收到了,服务器端就会在控制台打出那个“收到”。

如今,咱们以浏览器为客户端,向刚才咱们写的服务端的servlet发送请求,这时候就要用到咱们设置的url了。

图例分别是,IP地址:端口,项目名称,servlet的url 由于咱们的服务器是本地的,因此是localhost 至于8080是tomcat的端口(不一样的服务器容器端口不一样),这里不作过多解释,须要的你们去查一下,能够查到。Amess是项目的名称,text就是咱们设置的url还记得吗?

(这里补充点内容,在你的DOS窗口下输入ipconfig,就能够看到你的局域网IP地址,上面的localhost就能够换成那个IP。例如/,这个连接里面的不是IP地址,这个东西就是咱们常常说的域名,简单理解就是种替换。当咱们购买了服务器后,咱们只能经过IP去请求它,IP地址就直接公之于众了,也是出于保护吧。咱们能够再买个域名,而后把域名和IP绑定,以后咱们就能够经过域名来访问。咱们都知道百度的域名,但谁能立马说出来它的IP?上面的localhost理解成本身本机的域名也没有什么问题的。)

ok,当咱们敲击回车后,浏览器(客户端)就向咱们编写的servlet发送了请求。可是网页却什么也不显示。

这是固然,由于咱们对请求的处理就是在服务端控制台输出个“收到”,而若是想在浏览器上显示信息,就是服务器向客户端发送信息了。(不要忘记把浏览器理解成客户端啊)

咱们再切换到后台:

能够看到,服务器打出了“收到”,客户端向服务器发送请求没问题。

那么,下一步,服务器怎样向浏览器(也就是客户端)发东西呢?

咱们须要建立一个printwriter 的对象,经过这个对象, 调用他的print方法,输出想要的内容,不要忘记close,只有关闭了输出流,才能将内容输出。(像许多编程语言中,打开文件后进行编写,close后才能实现保存,若是忘记close直接退出了程序,那写的东西就白写了。)如今咱们更新网页,看看效果。

ok,没问题。如今,你们对客户端 向服务器发请求,及服务器向客户端写东西,就基本算是有了大体的了解了。

你如今能够去冲杯咖啡或者刷下手机,再回来咱们就进入主题:小程序和后台服务器的连接

来具体说,小程序(客户端)怎样去与服务器创建链接。

简单事例,咱们只写一个按钮,绑定点击事件click,在js里边来处理事件,向服务器发送请求。(前端界面语言是种标记语言,不是这篇文章的重点,咱们不详谈。若是是零基础,能够先去粗略学习下html+css+js。)

js编写click函数功能:

其实很简单,咱们须要调用微信提供的一个API,request,用它向服务器发送请求。开发者工具备具体介绍,你们能够去查看,以后就是设置参数,url和浏览器同样,依旧是服务器地址,data内是你要向服务器发送的数据。如图,咱们发送了一个数据叫作username,他的值是一个字符串“haha”。success函数就是成功请求服务器,服务器返回后进行的处理,这里咱们让他输出res的data内容,res参数(固然名字你能够自定义)是服务器返回的的信息,他的data就是后台返回的数据。咱们用console.log函数输出下,这个语句当成print就行(学会类比)。这时从新编译后,点击按钮就能够了。注意,小程序编译时会对协议进行检查,不容许向本地的服务器发送请求的,因此以前要设置下调试模式。(header是请求头信息,不做为主要讲述的内容,感兴趣的能够去查下。)

在开发者工具中右上角的详情里,选择不校验http。(以后的新版本开发者工具,我不肯定位置会不会变。)

接下来咱们来看服务器的编写。

首先咱们要得到客户端给咱们的username,这时咱们要调用request的getParameter函数获取,参数就是数据的名字。如图,那么咱们的变量name就获得了客户端发来的username的值,也就是“haha”。

以后,咱们向客户端返回数据,这时须要用到write,建立一个write类型变量来返回,调用对象的write函数,参数是要发送的内容,同上记得close。若是你发送的数据过多,一个缓冲流不够用,能够用flush函数,先传送一批,再传送下一批。你们有兴趣本身查询,这里咱们返回了“man”字符串,那么客户端的success函数的res.data就应该获得“man”。万事俱备,差你一鼠标。点击按钮吧。看看效果。

服务器获得username:“haha”(其余的输出是项目里的其余的测试内容,你们自行忽略)

客户端得到服务器data:“man”:

如今咱们的小程序和服务器就建起了简单的连接,至于传什么数据,又作什么处理,就是你的问题了。

由于只是我的的闲暇娱乐,从点击量和搜索量上来讲,你很难看到这篇文章,若是我有幸让您看到,那也是种缘分吧。有些基础的东西如在本章中说道,不会作过多原理上的解释,您能够去详细查询,或者查看这个系列的其余内容,应该能够帮您滤清一些思路思惟上的东西。

这就是个人理解,但愿对你有帮助。欢迎讨论,纠错。水平通常,能力有限,撰写不妥之处,多包涵。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。