java微信网页授权获取用户信息以及JSSDK自定义分享等功能<四>

8 篇文章 0 订阅

其他忘记附上源码的类。以及全部的jar下载

public class AccessToken {
	/**
	 * 获取到的凭证
	 */
	private String token;
	/**
	 * 凭证有效时间,单位:秒
	 */
	private int expiresIn;

	public String getToken() {
		return null==token?"":token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public int getExpiresIn() {
		return expiresIn;
	}

	public void setExpiresIn(int expiresIn) {
		this.expiresIn = expiresIn;
	}
}</span>

public class JsapiTicket {
	/**
	 * 有效时长
	 */
	private int expiresIn;
	/**
	 * js调用票据
	 */
	private String ticket;
	public int getExpiresIn() {
		return expiresIn;
	}
	public void setExpiresIn(int expiresIn) {
		this.expiresIn = expiresIn;
	}
	public String getTicket() {
		return null==ticket?"":ticket;
	}
	public void setTicket(String ticket) {
		this.ticket = ticket;
	}
}

public class TokenUtil extends Thread {
    // 第三方用户唯一凭证 
    public static String appid = ""; 
    // 第三方用户唯一凭证密钥 
    public static String appsecret = ""; 
    public static AccessToken accessToken = null; 
    public static JsapiTicket jsapiTicket = null;
    public void run() { 
        while (true) {
            try { 
                accessToken = CommonUtil.getAccessToken(appid, appsecret); 
                jsapiTicket = CommonUtil.getJsapiTicket(accessToken.getToken());
                if (null != accessToken&&null!=jsapiTicket) { 
                    System.out.println("获取access_token成功,有效时长"+accessToken.getExpiresIn()+"秒 ,token:"+accessToken.getToken()); 
                    System.out.println("获取jsapi_ticket成功,有效时长"+jsapiTicket.getExpiresIn()+"秒,jsapi_ticket:"+jsapiTicket.getTicket()); 
                    // 休眠7000秒 
                    Thread.sleep((accessToken.getExpiresIn() - 200) * 1000); 
                } else { 
                    // 如果access_token为null,60秒后再获取 
                    Thread.sleep(60 * 1000); 
                } 
            } catch (Exception e) {
                try {
                    Thread.sleep(60 * 1000); 
                } catch (InterruptedException e1) { 
                } 
            } 
        } 
    } 
}

public class MyX509TrustManager implements X509TrustManager {

	public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
	}

	public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
	}

	public X509Certificate[] getAcceptedIssuers() {
		return null;
	}
}
public class CheckInterceptor 
	implements HandlerInterceptor{

	public void afterCompletion(HttpServletRequest arg0,
			HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
	}

	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2, ModelAndView arg3) throws Exception {
	}

	/**
	 * 返回true,表示允许继续调用Controller
	 * 返回false,表示阻止Controller执行
	 */
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
			Object arg2) throws Exception {
	
			return true;
	}

}

项目结构如下:




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值