12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.sec.xinhua.gateway.web;
- import com.sec.xinhua.gateway.config.ConfigRepositoryFactory;
- import com.sec.xinhua.gateway.handler.DefaultApiHandlerChain;
- import com.sec.xinhua.gateway.handler.RequestHandler;
- import com.sec.xinhua.gateway.service.DubboServiceManager;
- import com.sec.xinhua.gateway.utils.SysConstants;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- /**
- * 风控网关http入口
- *
- * @author zhangqx
- * @version $Id: GatewayServlet.java, v 0.1 2015年12月8日 下午5:48:20 zhangqx Exp $
- */
- public class GatewayServlet extends HttpServlet {
- /** */
- private static final long serialVersionUID = -2466227266582283749L;
- @Override
- public void init(ServletConfig config) throws ServletException {
- super.init(config);
- //初始化配置(dubbo注册中心等),很重要
- ConfigRepositoryFactory.initGatewaySetting();
- //初始化所有(dubbo的映射关系)setting
- DubboServiceManager.initAllDubboService();
- //初始化handler(filter时需要串行执行的handler,包括参数转化,泛化调用)
- DefaultApiHandlerChain.getInstance();
- }
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
- //编码设置
- req.setCharacterEncoding(SysConstants.ENCODE);
- response.setContentType("application/json;charset=utf-8");
- response.setCharacterEncoding(SysConstants.ENCODE);
- response.setHeader("Access-Control-Allow-Origin", "*");
- RequestHandler requestHandler = new RequestHandler();
- String addr = req.getRemoteAddr();
- /**
- * ip白名单功能
- */
- // if (StringUtils.isNotBlank(addr)) {
- // IpFileCache ipFileCache = IpFileCache.getInstance();
- // List<String> ips = ipFileCache.getIps();
- // if (ips == null || !ips.contains(addr)) {
- // print(response, "您好,您的ip无访问权限!");
- // return;
- // }
- // }
- requestHandler.httpRequestHandle(req, response);
- }
- private void print(HttpServletResponse response, String content) {
- response.setHeader("Access-Control-Allow-Origin", "*");
- response.setHeader("Access-Control-Allow-Methods", "GET,PUT,DELETE,POST,OPTIONS");
- response.setHeader("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type,Accept,kopds");
- try {
- response.getWriter().print(content);
- response.getWriter().flush();
- } catch (IOException e) {
- }
- }
- }
|