资源简介
使用Javaweb实现的微信支付demo,只需要修改src->util->PayConfig文件里的配置即可
代码片段和文件信息
package action;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.SortedMap;
import java.util.TreeMap;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import util.PayConfig;
import util.PayUtil;
import util.RandomUtil;
import util.SignUtil;
import util.xmlUtil;
import util.ZxingUtil;
@WebServlet(“/payment/*“)
public class PayServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request HttpServletResponse response) throws ServletException IOException {
doPost(request response);
}
protected void doPost(HttpServletRequest request HttpServletResponse response) throws ServletException IOException {
request.setCharacterEncoding(“UTF-8“);
String requestURI=request.getRequestURI();//获取请求路径
int start = requestURI.lastIndexOf(“/“);
String reqStr=requestURI.substring(start + 1);
if(“pay“.equals(reqStr)){
doPay(requestresponse);
}else if(“image“.equals(reqStr)){
doImage(requestresponse);
}else if(“result“.equals(reqStr)){
try {
wxNotify(requestresponse);
} catch (Exception e) {
System.err.println(“通知出错了:“+e);
}
}
}
private void doPay(HttpServletRequest request HttpServletResponse response) {
String body=“支付测试“; //商品描述
String total_fee=“1“; //商品价格默认单位为“分”
String out_trade_no=RandomUtil.createOrderId(4); //商品订单号
try {
//获取二维码字符串
String result=PayUtil.getPayURL( body out_trade_no total_fee );
//将字符串转换为二维码
BufferedImage image = ZxingUtil.createImage(result 300 300);
//将二维码放到session里
request.getSession().setAttribute(“image“ image);
//将订单号放到session里
request.getSession().setAttribute(“out_trade_no“ out_trade_no);
//跳转页面
response.sendRedirect(“../ercode.jsp“);
} catch (Exception e) {
e.printStackTrace();
}
}
private void doImage(HttpServletRequest request HttpServletResponse response) throws IOException {
System.out.println(“进来了...“);
BufferedImage image = (BufferedImage) request.getSession().getAttribute(“image“);
if (image != null) {
ImageIO.write(image“JPEG“response.getOutputStream());
}
}
/**
* 解析微信返回的支付结果
* @param request
* @param response
* @throws Exception
*/
public void wxNotify(HttpServletRequest requestHttpServletResponse response) throws Exception{
//读取参数
InputStream inputStream ;
StringB
相关资源
- java游戏之华容道
- Java 7 Concurrency Cookbook源码
- java web程序开发项目资源
- 绩效考评系统(代码和数据库)—j
- JavaFxchatroom.zip
- 论坛管理系统
- jsp宠物诊所管理系统详细版
- 课程设计——员工管理系统
- 广工java课程设计(文本编辑器)
- 深入解读大厂java面试必考基本功-Ha
- JAVA开发的外卖系统源代码+数据库
- 基于java Web学生选课后台管理系统
- java面试宝典2019
- JUnit4.jar包
- java进阶练习习题与答案
- javaweb图书信息增删改查
- android游戏捏苍蝇源码
- Java时钟编写
- javaEE学生选课系统设计报告+工程源文
- java+数据库 宾馆客房管理系统
- Java解析json 所需jar包
- java封装echarts
- Java课程设计连连看游戏(含代码)
- 库存管理系统JAVA+SQL
- 报刊订阅管理系统源码
- java超市管理系统
- 餐饮管理系统(毕业设计论文+java范文
- java简易订餐系统
- 部门员工管理系统javaweb
- jsp java tomcat 添加好友demo
评论
共有 条评论