精华内容
下载资源
问答
  • 后台管理系统基于静态html+css框架,主要是用于后台管理,包括登录界面,管理员的管理用户中心、评论管理、资源管理、页面管理等后台管理代码
  • 包含30几个界面模板,可以自行修改使之成为自己的作品,主要是使用HTML和jsp语言环境,涉及登录和管理的界面。
  • 微信公众号开发获取openid和微信分享和公众号配置验证,网页授权后台代码,获取openid,微信分享,公众号配置验证,代码齐全
  • SSM 图书管理系统myeclipse 开发 mysql数据库 软件工程网页后台 系统介绍:https://blog.csdn.net/qq_41221322/article/details/117837637
  • bootstrap 网页后台框架

    2013-06-20 11:15:01
    Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架
  • 19个网页后台模板

    千次下载 热门讨论 2014-08-01 12:02:39
    网站后台模板,包含界面HTML和部份图片,供大家参考!
  • 建议先去查看微信开发官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 第一步:用户同意授权,获取code 前台通过请求链接...

    建议先去查看微信开发官方文档:
    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

    第一步:用户同意授权,获取code

    第二步:通过code换取网页授权access_token

    /**
         * 微信浏览器获取用户信息
         * @param code
         * @param state
         * @return
         */
        @GetMapping(value = "/userInfo",produces = "text/html;charset=utf-8")
        public String getUserInformation(String code, String state, HttpServletRequest request) {
            TbUser tbUser = new TbUser();
            if (StringUtils.isEmpty(code)){
                return resultError("code为空");
            }
            JSONObject jsonData = WeixinSign.getAccessToken(code);
            String openid = jsonData.getString("openid");
            String access_token = jsonData.getString("access_token");
            String refresh_token = jsonData.getString("refresh_token");
            HttpSession session = request.getSession();
    
            //验证access_token是否失效
            JSONObject validateData = WeixinSign.getValidateData(access_token, openid);
            if (!"0".equals(validateData.getString("errcode"))){
                //刷新access_token
                JSONObject refreshData= WeixinSign.getRefreshToken(refresh_token);
                access_token = refreshData.getString("access_token");
            }
            JSONObject userData = null;
            try {
                //拉取用户信息
                userData = WeixinSign.getUserInfo(access_token, openid);
                Object unionid = userData.get("unionid");
                Object nickName = userData.get("nickname");
                Object headimgurl = userData.get("headimgurl");
                Object sex = userData.get("sex");
                if (!StringUtils.isEmpty(unionid)) {
                    //用户是否注册过
                    tbUser = tbUserService.selectByUnionid(unionid.toString());
                    if (StringUtils.isEmpty(tbUser)) {
                        tbUser = new TbUser();
                        String userId = UUID.randomUUID().toString().replace("-", "");
                        tbUser.setId(userId);
                        if (!StringUtils.isEmpty(nickName)){
                            tbUser.setNickname(nickName.toString());
                        }
                        if (!StringUtils.isEmpty(headimgurl)){
                            tbUser.setHeadimgUrl(headimgurl.toString());
                        }
                        if (!StringUtils.isEmpty(sex)){
                            tbUser.setSex(new Byte(sex.toString()));
                        }
                        tbUser.setCreateTime(new Date());
                        tbUser.setUnionid(unionid.toString());
                        tbUserService.insertUser(tbUser);
                    }
    
                }
            } catch (Exception e) {
                logger.error("获取用户信息异常:"+e.getMessage());
                return resultError("获取用户信息异常");
            }
            Map map=new HashMap();
            map.put("id",tbUser.getId());
            map.put("unionid",tbUser.getUnionid());
            map.put("headimgUrl",tbUser.getHeadimgUrl());
            map.put("nickname",tbUser.getNickname());
            map.put("sex",tbUser.getSex());
            map.put("province",userData.get("province").toString());
            map.put("city",userData.get("city").toString());
            map.put("openid",userData.get("openid").toString());
            map.put("sessionid",getSession().getId());
            return resultSuccess(map);
        }
    
    • 微信工具类WeixinSign
    package com.sjyx.contest.common.utils;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import org.springframework.util.StringUtils;
    
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Formatter;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.UUID;
    
    public class WeixinSign {
    
    	/**
    	 * 网页
    	 */
    	public static String wy_appid = "wxdee18320bb16f695";
    	public static String wy_secret = "85a6c0d7fdb86f59c386dc99b8a5f3ec";
    
        public static JSONObject getAccessToken(String code){
    		String url = "https://api.weixin.qq.com/sns/oauth2/access_token?";
    		String params = "appid="+wy_appid+"&secret="+wy_secret+"&code="+code+"&grant_type=authorization_code";
    		String result = HttpRequestUtil.httpGet(url + params);
    		JSONObject data = JSON.parseObject(result);
    
    		return data;
    	}
    
    	public static JSONObject getValidateData(String access_token,String openid){
    		String url = "https://api.weixin.qq.com/sns/auth?access_token=" + access_token + "&openid=" + openid;
    		String result = HttpRequestUtil.httpGet(url);
    		JSONObject data = JSON.parseObject(result);
    
    		return data;
    	}
    
    	public static JSONObject getRefreshToken(String refresh_token){
    		String url = "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" + wy_appid + "&grant_type=refresh_token&refresh_token=" + refresh_token;
    		String result = HttpRequestUtil.httpGet(url);
    		JSONObject data = JSON.parseObject(result);
    
    		return data;
    	}
    
    	public static JSONObject getUserInfo(String access_token,String openid){
    		String url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";
    		String result = HttpRequestUtil.httpGet(url);
    		JSONObject data = JSON.parseObject(result);
    
    		return data;
    	}
    }
    
    • Http请求工具类
    package com.sjyx.contest.common.utils;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.IOException;
    import java.net.URLDecoder;
    
    public class HttpRequestUtil {  
        private static Logger logger = LoggerFactory.getLogger(HttpRequestUtil.class);    //日志记录
       
       
        /** 
         * post请求 
         * @param url         url地址 
         * @return 
         */  
        public static String httpPost(String url){  
            //post请求返回结果  
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost method = new HttpPost(url);
            String str = "";  
            try {  
                HttpResponse result = httpClient.execute(method);
                url = URLDecoder.decode(url, "UTF-8");  
                /**请求发送成功,并得到响应**/  
                if (result.getStatusLine().getStatusCode() == 200) {  
                    try {  
                        /**读取服务器返回过来的json字符串数据**/  
                        str = EntityUtils.toString(result.getEntity(),"UTF-8");
                    } catch (Exception e) {  
                        logger.error("post请求提交失败:" + url, e);  
                    }  
                }  
            } catch (IOException e) {  
                logger.error("post请求提交失败:" + url, e);  
            }  
            return str;  
        }  
       
       
        /** 
         * 发送get请求 
         * @param url    路径 
         * @return 
         */  
        public static String httpGet(String url){  
            //get请求返回结果  
             String strResult = null;  
            try {  
                DefaultHttpClient client = new DefaultHttpClient();
                //发送get请求  
                HttpGet request = new HttpGet(url);
                HttpResponse response = client.execute(request);
       
                /**请求发送成功,并得到响应**/  
                if (response.getStatusLine().getStatusCode() == org.apache.http.HttpStatus.SC_OK) {  
                    /**读取服务器返回过来的json字符串数据**/  
                      strResult = EntityUtils.toString(response.getEntity(),"UTF-8");
                } else {  
                    logger.error("get请求提交失败:" + url);  
                }  
            } catch (IOException e) {  
                logger.error("get请求提交失败:" + url, e);  
            }  
            return strResult;  
        }  
    }
    

    刷新access_token(如果需要)

    • 由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
    • 获取第二步的refresh_token后,请求以下链接获取access_token:
      https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
    • 正确时返回的JSON数据包如下:
      {
      “access_token”:“ACCESS_TOKEN”,
      “expires_in”:7200,
      “refresh_token”:“REFRESH_TOKEN”,
      “openid”:“OPENID”,
      “scope”:“SCOPE”
      }

    第四步:拉取用户信息(需scope为 snsapi_userinfo)

    • 如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
    • 请求方法

    http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    • 参数 描述
      access_token: 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
      openid:用户的唯一标识
      lang: 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
    • 正确时返回的JSON数据包如下:
      {
      “openid”:" OPENID",
      " nickname": NICKNAME,
      “sex”:“1”,
      “province”:“PROVINCE”
      “city”:“CITY”,
      “country”:“COUNTRY”,
      “headimgurl”: “http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46”,
      “privilege”:[ “PRIVILEGE1” “PRIVILEGE2” ],
      “unionid”: “o6_bmasdasdsad6_2sgVt7hMZOPfL”
      }
    • 具体代码第二步已给出

    附:检验授权凭证(access_token)是否有效

    • 请求方法

    http:GET(请使用https协议) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

    • 参数 描述
      access_token: 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
      openid: 用户的唯一标识
    • 正确的JSON返回结果:

    { “errcode”:0,“errmsg”:“ok”}

    展开全文
  • 其实对于后台开发来说原理都差不多。只不过app的后台开发和web不一样的地方在于传输数据格式不一样,一般来说web访问后返回的是一个html页面,少部分是json格式;而一般app的后台开发大部分直接传json格式数据(也有...
    基本上一样的,ssh也可以为手机APP开发后台。其实对于后台开发来说原理都差不多。只不过app的后台开发和web不一样的地方在于传输数据格式不一样,一般来说web访问后返回的是一个html页面,少部分是json格式;而一般app的后台开发大部分直接传json格式数据(也有不是json格式的,看项目的选择,但一般来说都是json),少部分会直接返回html5的页面。
    
      还有一个不同点在于登录验证和数据加密,一般web是使用session验证登录状态,而app则使用token来验证登录状态(token是自己定义的一个和用户ID相关的加密字符串,传入后台后从数据库查询用户信息)。还有如果对安全性要求较高,app传输数据时可能会对数据进行加密,而web一般没有这一步,web的加密一般是使用https。
      至于说android和ios的开发环境不一样那是指的app开发,和后台无关。app的后台和java web的后台没有本质区别。app的一个后台可以即提供给android,也可以同时提供给iOS,它就是把app提交的数据处理后插入数据库和从数据库查出数据处理后传给app。
    展开全文
  • Java后台开发入门

    万次阅读 2017-05-03 20:16:07
    编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/71152003 ...  软件开发领域的三大方向:桌面应用程序(C/S架构 比如说QQ.exe等),Web应用

    编写不易,如有转载,请声明出处:http://blog.csdn.net/zxc514257857/article/details/71152003

    1,什么是Web应用程序

      Web应用程序是可以通过Web进行访问的应用程序,最大的好处是访问非常容易。比如淘宝、新浪、网易等门户网站
      软件开发领域的三大方向:桌面应用程序(C/S架构 比如说QQ.exe等),Web应用程序(B/S架构 比如说淘宝,新浪,网易等门户网站),嵌入式应用程序(C/S架构 比如说android开发,ios开发等)
      C/S架构是客户端/服务器架构,B/S架构是浏览器/服务器架构,一般来说,前者的数据流量会比后者要小,但维护比较麻烦。举个例子:以买火车票为例,用12306客户端买火车票就为前者,直接上网页买就是后者。
      静态网页所需技术:Html和css。表现形式:内容固定,不会更新
      动态网页所需技术:Html、css、JavaScript、以及数据库,最少一门高级语言(Java,C#,Php以及Python),动态网页脚本技术(Jsp,asp.net或者Php)。表现形式:内容通过程序动态显示,自动更新

    2,Java Web环境搭建

      JDK,Tomcat服务器以及MyEclipse 集成开发环境,安装出现的问题参考此博客:http://blog.csdn.net/zxc514257857/article/details/69939090
      Tomcat打开方式:在Tomcat安装包的bin目录下找startup.bat,双击打开则开始运行Tomcat,关闭Tomcat可以在bin目录下找shutdown.bat,双击打开也可以关闭Tomcat。同时也可以通过关闭运行startup.bat打开控制台页面也可以关闭Tomcat,但不推荐
      Tomcat的目录结构: /bin 用于Tomcat的命令文件,比如startup.bat和shutdown.bat;/conf 用于存放Tomcat服务器的配置文件; /lib 用于存放Tomcat服务器所需的Jar文件; /logs 用于存放Tomcat的日志文件; /temp 用于存放Tomcat运行时的临时文件;/webapps 当发布Web应用时,默认会将Web应用的文件发布到此目录;/work Tomcat把由Jsp生成的Servlet放于此目录下

    3,手动创建第一个Java Web项目

      在tomcat—>webapps目录下新建一个文件夹,以项目名称命名(比如MyFirstJavaWebProject),在此文件夹中新建一个index.jsp文件,同时新建一个WEB-INF文件夹,WEB-INF文件夹中新建一个lib文件夹,一个classes文件夹和一个web.xml(可将其他正常项目的web.xml文件拷贝过来使用,但注释需删除干净)
      index.jsp是默认的服务端展示页面
      WEB-INF 是Java Web的安全目录,客户端无法访问,只有服务端可以访问
      web.xml 是项目部署文件。index.jsp相当于项目的欢迎页,默认如果域名未完整输入也会跳入index.jsp页面,但如果没有index.jsp页面或者不想将index.jsp页面设为项目的欢迎页,则可以在web.xml文件中修改项目的欢迎页。方法是,在web.xml文件中做如下改动:
    这里写图片描述
      lib目录用于存放项目所需要的jar包
      classes目录用于存放编译生成的.class字节码文件

    4,通过MyEclipse创建Java Web项目

      在MyEclipse中新建一个Java Web项目,在项目的WebRoot目录下找到index.jsp,修改页面内容,完成后将页面推到服务器中(实际就是在tomcat—>webapps目录下生成相关文件),然后通过localhost:8080/项目名/index.jsp访问页面内容

    5,MyEclipse Web项目目录结构

    这里写图片描述

    6,配置MyEclipse所默认使用的JRE,将软件中自带的JRE换成我们电脑中所安装的较新版的JRE

      在Window—>preferences—>Java—>Installed JREs中,右侧点击add,选择standard VM,找到自己安装的JRE,最后选中保存即可
      
    7,在MyEclispe中集成Tomcat服务器环境

      Window—>preferences—>MyEclipse—>servers—>Tomcat,选择自己的Tomcat的版本,将Tomcat server设置为enable,然后选择JDK为自己本地安装的JDK版本,点击OK后打开服务器,然后再运行测试(在浏览器地址栏输入localhost:8080,如果弹出Tomcat初始页面则表示在MyEclipse中集成Tomcat环境成功)

    8,Web项目虚拟路径设置

      Web项目默认的虚拟路径就是项目名+ .jsp文件
      修改项目的虚拟路径方式:右击项目,在Properties—>MyEclipse—>Web—>右侧WebContext-root就是项目的虚拟路径,修改为你想修改的虚拟路径名就可以了,修改完成之后,将页面推到服务器中,然后重启服务器,就可以在webapps目录下找到你重命名的虚拟路径文件夹了

    9,Tomcat服务器端口号设置

      如果出现Tomcat服务器端口号冲突的情况,就需要修改Tomcat服务器端口号,修改方法:在Tomcat的安装目录下找到conf—>server.xml,打开搜索,搜索8080端口内容,将其修改为其他端口就可以了

    10,Jsp基础语法

      Jsp全名为Java Server Pages,其根本是一个简化的Servlet,实现了在Java中使用Html标签,是一种动态网页脚本技术,也是JavaEE标准。其与Servlet一样,都是在服务端执行的
      常见的动态网站开发技术对比:Jsp,Java平台,跨平台性好,安全性高,适合大型、分布式、企业级开发(hadoop);Asp.net .net平台,简单易学,安全性及跨平台性差;Php:简单高效,成本低,开发周期短,适合中小型企业的Web应用开发(Php黄金组合:LAMP)
      Jsp页面元素构成: 静态内容、指令、表达式、小脚本、声明、注释
      指令:page指令,通常写在Jsp页面的顶端,同一个页面可以有多个page指令,例如:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    // language 默认为Java import 无默认内容 contentType 默认text/html ISO-8859-1
    

    include指令,将一个外部文件嵌入到当前Jsp文件中,同时解析这个页面中的Jsp语句;taglib指令,使用标签库定义新的自定义标签,在Jsp页面中启用定制行文
      注释:Jsp中有三种注释格式,Html注释,Jsp注释和Jsp脚本注释;Html注释如下:

    <!-- Html注释-->    // 客户端可见
    

    Jsp注释如下:

    <%-- JSP注释--%>     // 客户端不可见
    

    Jsp脚本注释如下:

    <%
    	// 单行注释
    	/*
    	 * 多行注释
    	 */
    	 // 客户端不可见
    %>
    

      脚本:在JSP页面中执行的Java代码,例如:

    <% out.println("hehe") %>
    

      声明:定义变量或方法,例如:

    <% 
    	// 定义变量
    	int x = 10 
    	// 定义方法
    	public int add(int a , int b){
    	   return a + b;
       }
    %>
    

      表达式:调用在声明中定义的变量或方法

    // 调用变量
    <%= x %>
    // 调用方法
    <h1> a + b = <%=add(3 , 4) %> </h1>
    

    11,Jsp页面生命周期

    这里写图片描述

      jspService()方法被调用来处理客户端的请求,对每一个请求,Jsp引擎会创建多个线程来处理该请求。如果有多个客户端同时请求该jsp文件,则jsp引擎会创建多个线程。每个客户端请求对应一个线程,以多线程方式执行可以大大降低对系统的资源需求,提高系统的并罚两以及响应时间。但也需要注意多线程并发所带来的资源同步问题。
      Tomcat—>work目录下放置的是各个项目中jsp文件转化为Servlet生成的字节码文件
      当页面还未推到服务器上时,work目录下是没有此项目的,推至服务器中并打开服务器,会在work目录生成此项目文件夹,但其内并无内容;当访问此项目jsp页面成功时,就会在work目录对应的此项目文件夹中编译生成字节码文件;当jsp页面内容发生改变的时候,jsp引擎就会重新编译此页面
      当用户第一次请求一个jsp页面时,首先被执行的方法是 构造方法。原因:Jsp部署在服务器(tomcat)之后是会被编译成对应class文件的,jsp文件不再存在。在项目部署之后,一个个的Jsp变成了一个个的Java类,java类当被执行的时候肯定先走构造方法,所以先被执行的是构造方法咯

    展开全文
  • bootstrap响应式扁平化网页后台管理系统模板。可以做二次开发使用。网页精美,各种bootstrap插件齐全。
  • 使用云开发开发微信小程序提供云数据库、云存储、云函数、云调用等支持,可以快速配置云端环境进行开发,但暂时并没有提供好的运维解决方案。了解到微信小程序官方文档中提供了[云开发HTTP API文档]...

    目录

    一、前言

    • 使用云开发来开发微信小程序提供云数据库、云存储、云函数、云调用等支持,可以快速配置云端环境进行开发,但暂时并没有提供好的运维解决方案。了解到微信小程序官方文档中提供了云开发HTTP API文档
    • 所以我尝试基于此API操作云开发的数据库,搭建小程序的网页管理后台。

    二、实战

    1、获取access_token

    • access_token是小程序的全局唯一后台接口调用凭据,也就是调用大部分的http接口都需要同时传入参数access_token。access_token
      的有效期为 2 个小时,期间可以重复使用,因此access_token需要首先获取,获取一次后缓存起来,失效后再次获取。 API
      auth.getAccessToken

      获取access_token需要三个参数:grant_type 、appid、secret(grant_type值为credential,appid和secret在「微信公众平台
      • 设置 - 开发设置」页中获得)
    function getAccessToken(){
        $.ajax({
            url:'https://api.weixin.qq.com/cgi-bin/token?appid='+data.appid+'&secret='+data.secret+'&grant_type='+data.grant_type,
            method:"GET",
            success: res=>{   //获取access_token
                console.log(res)
                return res.access_token
            },
            error: err=>{
                console.log(err)
            }
        })
    }
    

    在调用接口时出现了跨域问题

    解决方案: 使用node.js搭建本地代理服务器

    // proxy.js
    const http = require('http');
    const request = require('request');
    var urltool = require('url');  
    var querystring = require('querystring');
    
    const hostIp = '127.0.0.1';
    const apiPort = 6060;
    const data={
     appid:"xxx",
     secret:"xxx",
     grant_type:"client_credential",
     env:"xxxx"
    };
    //创建 API 代理服务
    const apiServer = http.createServer((req, res) => {
      console.log("***************************************")
      console.log('[请求]来自='+req.url);
      if(req.url=="/access_token"){
    	getAccessToken(res)
      }
    });
    //监听 API 端口
    apiServer.listen(apiPort, hostIp, () => {
      console.log('代理接口,运行于 http://' + hostIp + ':' + apiPort + '/');
    });
    function getAccessToken(res){
      const url='https://api.weixin.qq.com/cgi-bin/token?appid='+data.appid+'&secret='+data.secret+'&grant_type='+data.grant_type;
      request({
        url: url,//请求路径
        method: "GET",//请求方式,默认为get
        headers: {//设置请求头
            "content-type": "application/json",
        },
        body: JSON.stringify(data)//post参数字符串
    }, function(error, response, body) {
        if (!error && response.statusCode === 200) {
          //编码类型
          res.setHeader('Content-Type', 'text/plain;charset=UTF-8');
          //允许跨域
          res.setHeader('Access-Control-Allow-Origin', '*');
          //返回代理内容
    	  console.log("返回数据:"+body)
          res.end(body);
        }
     });
    }
    
    

    直接运行

    再次通过ajax访问,调用接口,成功获取到access_token。
    在这里插入图片描述在这里插入图片描述

    2、数据库操作

    • 以数据库查询为例,API databaseQuery ,通过代理服务器转发请求调用接口,传入参数:
    •  接口调用凭证 access_token
      
    •  云环境ID env
      
    •  数据库操作语句 query
      
    function getCollectionFeedback(res,req){     //查询feedback
    	var postData = '';
    	var postObjc = ''; 
    	// 给req对象注册一个接收数据的事件
    	req.on('data',function (chuck) {  
    		postData += chuck;
    	})
    	// 到post请求数据发完了之后会执行一个end事件,这个事件只执行一次
    	req.on('end', function () {
    		postObjc = querystring.parse(postData);
    		// 打印出post请求参数,
    		  const query="db.collection(\"feedback\").where({}).get()";
    		  const querydata={
    			env:data.env,
    			query:query
    		  }
    		  const url='https://api.weixin.qq.com/tcb/databasequery?access_token='+ postObjc.access_token;
    		  request({
    			url: url,//请求路径
    			method: "POST",//请求方式,默认为get
    			headers: {//设置请求头
    				"content-type": "application/json",
    			},
    			body: JSON.stringify(querydata)//post参数字符串
    		}, function(error, response, body) {
    			if (!error && response.statusCode === 200) {
    			  //编码类型
    			  res.setHeader('Content-Type', 'text/plain;charset=UTF-8');
    			  //允许跨域
    			  res.setHeader('Access-Control-Allow-Origin', '*');
    			  //返回代理内容
    			  console.log("返回数据:"+body)
    			  res.end(body);
    			}
    		 });
    	})
    }
    

    获取到数据库数据后,显示在前端网页上,效果如下:

    插入、删除、更新数据库同理,传入需要的参数和数据库语句即可获取到相应的数据。

    展开全文
  • 基本上一样的,ssh也可以为手机APP开发后台。其实对于后台开发来说原理都差不多。只不过app的后台开发和web不一样的地方在于传输数据格式不一样,一般来说web访问后...而一般app的后台开发大部分直接传json格式数据
  • Bootstrap开发的一个静态网页模板(带后台),有资讯,android源码分享,后台等一些模块。
  • Dreamweaver&ASP网页制作网站开发后台制作大全(教程光盘+源码).zip
  • C++后台开发

    千次阅读 多人点赞 2018-11-25 12:33:15
    C++后台开发之我见  --------2017.2.6  工作也快两年了,偶然看到自己以前写过的一些技术博客,发现自己自毕业后一直没有更新过自己的技术博...
  • RTX网页后台管理V2.4免费版

    热门讨论 2014-02-23 00:48:32
    功能十分强大的RTX后台管理系统,不仅包含了RTX自带后台的全部功能,还有 邮件、手机号码重置密码,新用户申请、入群申请等个性格页面 详细功能介绍与截图 http://blog.csdn.net/moonxuser/article/details/9794067
  • 微信公众号开发java版文档和项目源码,文档从微信公众号申请,到服务器项目创建以及开发做详细的说明,源码可以直接放到Eclipse中进行编辑,也可导出war包在服务器上发布测试,希望对使用java的同学有帮助。...
  • 我们之前用云开发时,想做个...但是开发这样一个网页后台,无疑会增加我们的工作量。所以我们今天借助云开发官方推出的CMS功能,来快速的搭建一个云开发的网页管理后台。 CMS的好处如下: 官方文档:https://develo.
  • 其实对于后台开发来说原理都差不多。只不过app的后台开发和web不一样的地方在于传输数据格式不一样,一般来说web访问后返回的是一个html页面,少部分是json格式;而一般app的后台开发大部分直接传json格式数据(也有...
  • 腾讯IEG后台开发(已拿到offer)

    万次阅读 多人点赞 2019-03-11 22:04:40
    当时投递岗位的时候没有看清要求,写着后台开发岗,招C/C++/Java,果然越靠前越重要。。本来想投的是Java岗,奈何鹅肠后台C++偏多。结果面试的时候面的全是C++和Linux,Java一点没问。全程大概25分钟,总结如下。 ...
  • [导读]腾讯游戏讯,7月30日消息,第九届中国游戏... 他为大家演讲的题目是“游戏后台开发中的九个选择”,他解释,使用这个标题的原因,是因为我们在生活中总会遇到很多选择,这个道理同样适用在游戏开发中。 这九个
  • 后台开发面试问题整理

    万次阅读 多人点赞 2016-02-27 22:07:53
    实习、校招中后台开发的面试问题
  • Java后台开发精选知识图谱

    千次阅读 2017-06-09 09:16:43
    引言: 学习一个新的技术时,其实不在于跟着某个教程敲出了几行、几百行代码,这样你最多只能知其然而不知其所以然,进步缓慢且深度有限,最重要的是一开始就对整个...本文首先会给出关于java后台开发和前端适配的一
  • 最近公司项目,需要开发前后端 然后我准备自己写个小demo,用webstorm写了Html 页面需要一个服务器运行,由于是本地测试用了tomcat,地址是Http://localhost:8080 ,然后用eclipse写接口也是用Http://localhost:8080...
  • 后台开发、前端开发的一些想法

    千次阅读 2016-05-25 22:25:47
    - 后台开发 修炼内功,需要沉得下心,但是知识体系比较稳定,以不变应万变。 优势是对系统底层比较熟悉,能够更好的胜任架构方面的工作。 但是自学有一定难度,学习过程比较沉闷(我自己倒不觉得),而且接触业务...
  • 公众号后台开发上传文件功能

    千次阅读 2017-11-05 09:56:44
    微信公众号开发中, 上传文件是一个常用功能, 包括图片上传,视频,文件,附件,语音都要使用到这个。...公众号后台开发上传文件功能视频教程在线观看 http://edu.csdn.net/course/detail/2860/4575
  • Java后台开发知识一览

    万次阅读 2018-07-18 19:39:09
    Java后台开发知识一览 1、后端 WEB服务器:Weblogic、Tomcat、WebSphere、JBoss、Jetty 核心框架:Spring Framework 分布式服务框架 Dubbo(感谢@浅浅浅丿忧伤指正) 安全框架:Apache Shiro 视图框架:Spring...
  • 后台开发服务器系列

    千次阅读 2016-01-29 14:08:29
    网页游戏服务器端开发需要哪些技术 很多公司会用到一些网络库, 例如: ACE, ICE, libevent, libev, boost asio等 Java类的:服务器NIO框架:Mina、Netty缓存:Memcached/Redis,客户端MemcachedClient,...
  • 后台网页设计

    千次阅读 2019-05-17 17:09:16
    后台网页设计最主要分好步骤去实施,后台网页设计的步骤有很多比如:原型图设计、用户体验设计、网页设计、流程设计……都是制作后台网页该有的设计,那么我就来讲一讲原型图设计、用户体验设计吧! 原型图设计也是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,666
精华内容 51,466
关键字:

网页后台开发