- 浏览: 100476 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
package com.tk.ipp2.accessgateway.base;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.alibaba.dubbo.common.utils.StringUtils;
import com.tk.dpp.csp.api.enums.InterfaceVersion;
import com.tk.dpp.csp.api.response.FindMerchantResponse;
import com.tk.dpp.csp.api.response.ServiceResponse;
import com.tk.dpp.csp.client.MerchantAuthService;
import com.tk.dpp.domain.member.merchant.Merchant;
import com.tk.ipp2.accessgateway.util.Util;
import com.tk.commons.file.FileUtil;
public class ConvertGatewayFilter implements Filter{
private static Log log = LogFactory.getLog(ConvertGatewayFilter.class);
private final static String OLD_VERSION = "oldVersion";
private final static String VERSION4 = "version4";
private final static String ERROR_PAGE = "errorPage";
//filter初始化值
private Map<String, String> initParamsMap = new HashMap<String, String>();
// 旧网关(2.0网关、3.0网关)地址
private String oldVersion = null;
// 4.0网关地址
private String version4 = null;
//检测到错误后的跳转页面
private String errorPage = null;
@Override
public void doFilter(ServletRequest servletrequest,
ServletResponse servletresponse, FilterChain filterchain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletrequest;
HttpServletResponse response = (HttpServletResponse) servletresponse;
request.setCharacterEncoding("UTF-8");
String servletPath = request.getServletPath();
if(servletPath.equals(oldVersion)){
String merchantCode = Util.getRequest(request, "merchant_code");
if(hasGatewayVersion4(merchantCode)){
forwardVersion4(request,response);
return ;
}
}
filterchain.doFilter(request, response);
}
protected String getResourcePath(HttpServletRequest request) {
String pathInfo = FileUtil.normalizeAbsolutePath(request.getPathInfo(), false);
String servletPath = FileUtil.normalizeAbsolutePath(request.getServletPath(), pathInfo.length() != 0);
return servletPath + pathInfo;
}
/**
* 判断商户是否开通4.0网关
* @param merchantCode
* @return
*/
protected boolean hasGatewayVersion4(String merchantCode){
log.info("hasGateWayVersion4 parameter merchant_code= " + merchantCode);
boolean has = false;
FindMerchantResponse fmResp = MerchantAuthService.findMerchant(merchantCode);
if (!ServiceResponse.RETCODE_SUCCESS.equals(fmResp.getRetCode())) {
has = false;
return has;
}
Merchant merchant = fmResp.getMerchant();
String gatewayVersion = merchant.getGatewayVersion();
if(InterfaceVersion.InterfaceVersion_V4.getVersion().equals(gatewayVersion)){
has = true;
}
return has;
}
protected void forwardVersion4(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
String queryStr = request.getQueryString();
String path = version4;
if(StringUtils.isNotEmpty(queryStr)){
path += "?" + queryStr;
}
request.getRequestDispatcher(path).forward(request, response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
for (Enumeration<?> e = filterConfig.getInitParameterNames(); e.hasMoreElements();) {
String key = (String) e.nextElement();
String value = filterConfig.getInitParameter(key);
initParamsMap.put(key, value);
}
oldVersion = initParamsMap.get(OLD_VERSION);
version4 = initParamsMap.get(VERSION4);
errorPage = initParamsMap.get(ERROR_PAGE);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>com.tk.ipp2.accessgateway.listener.IPPContextListener</listener-class>
</listener>
<filter>
<filter-name>paramsFilter</filter-name>
<filter-class>com.tk.commons.web.filter.ParamsFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<!-- 过滤掉所有静态资源 -->
<param-name>excludes</param-name>
<param-value>/css, /images, /image, /js, *.htm, *.html, *.css, *.js, *.jpg, *.gif, *.png</param-value>
</init-param>
<init-param>
<!-- 允许参数:中文 字母 数字 下划线 中划线 :/=&@,+|?.^'[]{} 及空格符 -->
<param-name>paramsRegex</param-name>
<param-value><![CDATA[[\u4e00-\u9fa5\\w-:/=&@,\\+\\|\\?\\.\\^\\!\\s'\\[\\]\\{\\}]*]]></param-value>
</init-param>
<init-param>
<param-name>errorPage</param-name>
<param-value>/ipp2/illegalRequest.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>paramsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 商户网关转换过滤器(注意:这个过滤器没有处理字符编码,必须放在参数过滤器之后,不然存在中文乱码问题) -->
<filter>
<filter-name>convertGatewayFilter</filter-name>
<filter-class>com.tk.ipp2.accessgateway.base.ConvertGatewayFilter</filter-class>
<init-param>
<param-name>oldVersion</param-name>
<param-value>/gateway</param-value>
</init-param>
<init-param>
<param-name>version4</param-name>
<param-value>/ipp2/gateway</param-value>
</init-param>
<init-param>
<param-name>errorPage</param-name>
<param-value>/ipp2/illegalRequest.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>convertGatewayFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>CheckZHBLoginServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckZHBLoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckPicNumberServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckPicNumberServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ReceiveMerchantServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.ReceiveMerchantServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckNumberServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetCheckNumberServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetEncryptRandomServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetEncryptRandomServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PayServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.PayServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetQrCodeServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetQrCodeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PaymentCom_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.PaymentComServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckExpressSignServlet</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckExpressSignServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetSmsCodeServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetSmsCodeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>QueryServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.QueryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PayServlet_IPP2</servlet-name>
<url-pattern>/ipp2/Pay</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ReceiveMerchantServlet_IPP2</servlet-name>
<url-pattern>/ipp2/gateway</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckZHBLoginServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkZHBLogin</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckPicNumberServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkPicNumber</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckNumberServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkNumber</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetEncryptRandomServlet_IPP2</servlet-name>
<url-pattern>/ipp2/getEncryptRandomRum</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetQrCodeServlet_ipp2</servlet-name>
<url-pattern>/ipp2/GetQrCode</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PaymentCom_IPP2</servlet-name>
<url-pattern>/ipp2/PaymentCom</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckExpressSignServlet</servlet-name>
<url-pattern>/ipp2/CheckExpressSign</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetSmsCodeServlet_ipp2</servlet-name>
<url-pattern>/ipp2/GetSmsCode</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>QueryServlet_ipp2</servlet-name>
<url-pattern>/ipp2/query</url-pattern>
</servlet-mapping>
<error-page>
<error-code>400</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/ipp2/payfail.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ipp2/payfail.jsp</location>
</error-page>
</web-app>
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.alibaba.dubbo.common.utils.StringUtils;
import com.tk.dpp.csp.api.enums.InterfaceVersion;
import com.tk.dpp.csp.api.response.FindMerchantResponse;
import com.tk.dpp.csp.api.response.ServiceResponse;
import com.tk.dpp.csp.client.MerchantAuthService;
import com.tk.dpp.domain.member.merchant.Merchant;
import com.tk.ipp2.accessgateway.util.Util;
import com.tk.commons.file.FileUtil;
public class ConvertGatewayFilter implements Filter{
private static Log log = LogFactory.getLog(ConvertGatewayFilter.class);
private final static String OLD_VERSION = "oldVersion";
private final static String VERSION4 = "version4";
private final static String ERROR_PAGE = "errorPage";
//filter初始化值
private Map<String, String> initParamsMap = new HashMap<String, String>();
// 旧网关(2.0网关、3.0网关)地址
private String oldVersion = null;
// 4.0网关地址
private String version4 = null;
//检测到错误后的跳转页面
private String errorPage = null;
@Override
public void doFilter(ServletRequest servletrequest,
ServletResponse servletresponse, FilterChain filterchain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletrequest;
HttpServletResponse response = (HttpServletResponse) servletresponse;
request.setCharacterEncoding("UTF-8");
String servletPath = request.getServletPath();
if(servletPath.equals(oldVersion)){
String merchantCode = Util.getRequest(request, "merchant_code");
if(hasGatewayVersion4(merchantCode)){
forwardVersion4(request,response);
return ;
}
}
filterchain.doFilter(request, response);
}
protected String getResourcePath(HttpServletRequest request) {
String pathInfo = FileUtil.normalizeAbsolutePath(request.getPathInfo(), false);
String servletPath = FileUtil.normalizeAbsolutePath(request.getServletPath(), pathInfo.length() != 0);
return servletPath + pathInfo;
}
/**
* 判断商户是否开通4.0网关
* @param merchantCode
* @return
*/
protected boolean hasGatewayVersion4(String merchantCode){
log.info("hasGateWayVersion4 parameter merchant_code= " + merchantCode);
boolean has = false;
FindMerchantResponse fmResp = MerchantAuthService.findMerchant(merchantCode);
if (!ServiceResponse.RETCODE_SUCCESS.equals(fmResp.getRetCode())) {
has = false;
return has;
}
Merchant merchant = fmResp.getMerchant();
String gatewayVersion = merchant.getGatewayVersion();
if(InterfaceVersion.InterfaceVersion_V4.getVersion().equals(gatewayVersion)){
has = true;
}
return has;
}
protected void forwardVersion4(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{
String queryStr = request.getQueryString();
String path = version4;
if(StringUtils.isNotEmpty(queryStr)){
path += "?" + queryStr;
}
request.getRequestDispatcher(path).forward(request, response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
for (Enumeration<?> e = filterConfig.getInitParameterNames(); e.hasMoreElements();) {
String key = (String) e.nextElement();
String value = filterConfig.getInitParameter(key);
initParamsMap.put(key, value);
}
oldVersion = initParamsMap.get(OLD_VERSION);
version4 = initParamsMap.get(VERSION4);
errorPage = initParamsMap.get(ERROR_PAGE);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<listener>
<listener-class>com.tk.ipp2.accessgateway.listener.IPPContextListener</listener-class>
</listener>
<filter>
<filter-name>paramsFilter</filter-name>
<filter-class>com.tk.commons.web.filter.ParamsFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<!-- 过滤掉所有静态资源 -->
<param-name>excludes</param-name>
<param-value>/css, /images, /image, /js, *.htm, *.html, *.css, *.js, *.jpg, *.gif, *.png</param-value>
</init-param>
<init-param>
<!-- 允许参数:中文 字母 数字 下划线 中划线 :/=&@,+|?.^'[]{} 及空格符 -->
<param-name>paramsRegex</param-name>
<param-value><![CDATA[[\u4e00-\u9fa5\\w-:/=&@,\\+\\|\\?\\.\\^\\!\\s'\\[\\]\\{\\}]*]]></param-value>
</init-param>
<init-param>
<param-name>errorPage</param-name>
<param-value>/ipp2/illegalRequest.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>paramsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 商户网关转换过滤器(注意:这个过滤器没有处理字符编码,必须放在参数过滤器之后,不然存在中文乱码问题) -->
<filter>
<filter-name>convertGatewayFilter</filter-name>
<filter-class>com.tk.ipp2.accessgateway.base.ConvertGatewayFilter</filter-class>
<init-param>
<param-name>oldVersion</param-name>
<param-value>/gateway</param-value>
</init-param>
<init-param>
<param-name>version4</param-name>
<param-value>/ipp2/gateway</param-value>
</init-param>
<init-param>
<param-name>errorPage</param-name>
<param-value>/ipp2/illegalRequest.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>convertGatewayFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>CheckZHBLoginServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckZHBLoginServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckPicNumberServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckPicNumberServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ReceiveMerchantServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.ReceiveMerchantServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckNumberServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetCheckNumberServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetEncryptRandomServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetEncryptRandomServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PayServlet_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.PayServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetQrCodeServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetQrCodeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PaymentCom_IPP2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.PaymentComServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CheckExpressSignServlet</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.CheckExpressSignServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>GetSmsCodeServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.GetSmsCodeServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>QueryServlet_ipp2</servlet-name>
<servlet-class>com.tk.ipp2.accessgateway.servlet.QueryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PayServlet_IPP2</servlet-name>
<url-pattern>/ipp2/Pay</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ReceiveMerchantServlet_IPP2</servlet-name>
<url-pattern>/ipp2/gateway</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckZHBLoginServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkZHBLogin</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckPicNumberServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkPicNumber</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckNumberServlet_IPP2</servlet-name>
<url-pattern>/ipp2/checkNumber</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetEncryptRandomServlet_IPP2</servlet-name>
<url-pattern>/ipp2/getEncryptRandomRum</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetQrCodeServlet_ipp2</servlet-name>
<url-pattern>/ipp2/GetQrCode</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PaymentCom_IPP2</servlet-name>
<url-pattern>/ipp2/PaymentCom</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckExpressSignServlet</servlet-name>
<url-pattern>/ipp2/CheckExpressSign</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetSmsCodeServlet_ipp2</servlet-name>
<url-pattern>/ipp2/GetSmsCode</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>QueryServlet_ipp2</servlet-name>
<url-pattern>/ipp2/query</url-pattern>
</servlet-mapping>
<error-page>
<error-code>400</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/ipp2/wrong_404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/ipp2/payfail.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ipp2/payfail.jsp</location>
</error-page>
</web-app>
相关推荐
标题中的“cors-filter-2.5.jar”是一个Java Web应用程序使用的库,专门用于处理跨域资源共享(CORS)的问题。CORS是一种机制,允许Web应用通过浏览器从不同源(即非同源策略允许的源)获取资源,以克服浏览器的同源...
本资料“RF filter.rar”涵盖了射频滤波器设计的各种方面,包括低通滤波器、带通滤波器以及Chebyshev滤波器,这些都是射频滤波器的常见类型。 1. 射频低通滤波器:这种滤波器允许低频信号通过,而阻止高频信号。在...
Servlet Filter 是Java Servlet API中的一个重要组件,主要用于在Servlet处理请求之前或之后进行拦截处理,例如权限检查、日志记录、内容转换等。进行Servlet Filter的单元测试是确保Filter功能正确性和健壮性的重要...
### Java Filter 打印请求返回参数详解 #### 一、背景与目的 在Web开发过程中,经常需要在请求处理流程中增加一些通用的功能,比如日志记录、性能监控、安全控制等。Java Servlet规范提供了Filter机制来实现这些...
TI公司开发的FilterPro是一款软件工具,旨在辅助工程师设计由多重反馈(MFB)和Sallen-Key拓扑结构实现的有源滤波器。它能够减少设计和验证有源滤波器时所耗费的时间和精力,这对于现代电子设计而言极为重要,因为...
Filter Solutions 简易教程 Filter Solutions 是一种滤波器设计软件,旨在帮助用户快速设计和实现滤波器电路。下面是 filter solutions 简易教程的知识点总结: 一、Filter Solutions 软件简介 * Filter ...
**FilterPro TI滤波器设计软件详解** FilterPro是由美国Texas Instruments(TI)公司开发的一款专业滤波器设计工具,广泛应用于信号处理、通信、音频系统等领域。它为工程师提供了直观且高效的滤波器设计环境,能够...
`Datagrid-filter`插件正是针对这种需求设计的,它是一个高效且实用的Grid插件,旨在提升数据网格的可操作性和用户交互性。这个插件的核心功能是为每一列提供过滤条件,使得用户能够快速筛选出所需的信息,极大地...
### Java中的Filter(过滤器)使用详解 #### 一、Filter概述 在Java Web开发中,`Filter`是一种非常实用的技术,它可以在请求到达目标资源(如Servlet或JSP页面)之前进行预处理,或者在响应返回客户端之前进行后...
标题中的“cors-filter-1.7.jar”,“cors-filter-2.5.jar”和“cors-filter-2.10.jar”是针对不同版本的CORS过滤器实现。这些jar包是专门为Tomcat设计的,用于处理跨域请求过滤,确保服务器能够安全地响应来自不...
<filter-name>XssFilter</filter-name> <filter-class>com.xxx.Filter.XssFilter</filter-class> </filter> <filter-mapping> <filter-name>XssFilter</filter-name> <url-pattern>/* </filter-mapping>
Filter Wiz Pro适用于低于-1Hz 至10MHz 范围内的截止频率,而适用于此范围的无源滤波器设计必须具备非常大的组件值和组件尺寸 Filter Wiz Pro在几分钟内便能让您设计、优化和仿真一套完整的多级有源滤波器解决方案...
在Java Web开发中,Filter(过滤器)是一个非常重要的组件,它允许我们在数据处理之前或之后执行特定的任务,比如防止跨站脚本攻击(XSS)、处理字符编码问题、实现权限控制等。在这个主题中,我们将深入理解Filter的...
FilterPro是一款由德州仪器(TI)开发的专业有源滤波器设计软件,它为电子工程师提供了强大而便捷的工具,用于模拟和优化滤波器设计。本教程将涵盖FilterPro的安装过程以及基本的使用方法,包括Sallen-Key滤波器和多...
在IT领域,尤其是在Web开发中,`FilterBuilder`是一个重要的工具,它允许用户构建自定义的查询和过滤条件,以动态地筛选数据。这个组件通常用于数据量大、需要复杂查询逻辑的应用场景,如数据分析、报表展示或者管理...
标题中的“imu_filter_madgwick”指的是Madgwick滤波算法,这是一类用于惯性测量单元(IMU)数据处理的算法,主要用于融合来自陀螺仪和加速度计的数据,以消除噪声和漂移,提高传感器测量的稳定性和准确性。...
**Filter Pro 有源滤波器设计软件:TI公司的创新工具** Filter Pro是一款由美国德州仪器(TI)公司开发的专业有源滤波器设计软件。TI作为全球知名的半导体和集成电路制造商,其产品线广泛,包括各种模拟和数字解决...
**FilterPro滤波器设计软件详解** FilterPro是一款专业级的滤波器设计软件,它以其用户友好的界面和高效的设计工具,深受电子工程师和研究人员的喜爱。该软件主要用于设计、分析和优化各种类型的滤波器,包括模拟...
对request请求进行拦截,... <filter-class>weixin.idea.waiting.cq.controller.JsFilter</filter-class> </filter> <filter-mapping> <filter-name>sqlFilter</filter-name> <url-pattern>/* </filter-mapping>
在Java Web开发中,Filter(过滤器)是一个强大的工具,它允许开发者在数据处理的前后进行拦截和修改。本文将详细介绍如何在Java中使用Filter过滤器,以及如何配置相关的配置文件,让你一目了然。 ### 1. Filter...