支付宝接口集成的问题
alipayto.jsp文件是参数的修改,demo里面是:
- Java code
//必填参数// UtilDate date = new UtilDate();//调取支付宝工具类生成订单号 //请与贵网站订单系统中的唯一订单号匹配 String out_trade_no = date.getOrderNum(); //订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。 String subject = new String(request.getParameter("subject").getBytes("ISO-8859-1"),"utf-8"); //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里 String body = new String(request.getParameter("alibody").getBytes("ISO-8859-1"),"utf-8"); //订单总金额,显示在支付宝收银台里的“应付总额”里 String price = new String(request.getParameter("total_fee").getBytes("ISO-8859-1"),"utf-8");我修改成为:[/code]
- Java code
//必填参数// UtilDate date = new UtilDate();//调取支付宝工具类生成订单号 //请与贵网站订单系统中的唯一订单号匹配 String out_trade_no = new String(request.getParameter("order_no").getBytes("ISO-8859-1"),"utf-8"); //订单名称,显示在支付宝收银台里的“商品名称”里,显示在支付宝的交易管理的“商品名称”的列表里。 String subject = new String(request.getParameter("订单号:"+"order_no").getBytes("ISO-8859-1"),"utf-8"); //订单描述、订单详细、订单备注,显示在支付宝收银台里的“商品描述”里 String body = new String(request.getParameter("").getBytes("ISO-8859-1"),"utf-8"); //订单总金额,显示在支付宝收银台里的“应付总额”里 String price = new String(request.getParameter("order_total").getBytes("ISO-8859-1"),"utf-8");本地测试运行出错,还出现乱码,哪位大虾知道什么原因呢?以下为报错信息:
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /alipayto.jsp at line 42
39:
40: UtilDate date = new UtilDate();//璋浠宸ュ绫荤㈠?
41: //璇蜂璐电绔㈠绯荤涓涓?㈠峰
42: String out_trade_no = new String(request.getParameter("order_no").getBytes("ISO-8859-1"),"utf-8");
43: //璁㈠О锛绀哄浠堕伴绉扳?剧ずㄦ浠氦$绉扳?琛ㄩ?
44: String subject = new String(request.getParameter("璁㈠?"+"order_no").getBytes("ISO-8859-1"),"utf-8");
45: //璁㈠堪㈠璇?璁㈠澶敞锛绀哄浠堕伴杩扳??
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[解决办法]
怀疑是你转换字符编码出错。
你把详细出错信息贴出来。
[解决办法]
[解决办法]
根本原因不是乱码,
而且空指针异常
request.setCharacterEncoding("UTF-8");
[解决办法]
- Java code
java.lang.NullPointerExceptionorg.apache.jsp.alipayto_jsp._jspService(alipayto_jsp.java:99)
------解决方案--------------------
responsetTxt不为true,说明你自己生成的签名结果mysign与获得的签名结果sign不一致,你将两个字符串全部打印出来,看看差别在什么地方,有可能是乱码引起的.
我的异常网推荐解决方案:An exception occurred processing JSP page,http://www.myexception.cn/j2se/33144.html
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html