当前位置: 首页 > news >正文

泽成seo网站排名百姓网找房子租房

泽成seo网站排名,百姓网找房子租房,阿里云发布网站,手机广告设计软件一、前言 在实际开发中#xff0c;有时候我们可能使用springboot注册web组件#xff0c;实现某些功能#xff0c;比如我们需要生成一些api来提供对外的服务#xff0c;而对应的路径其实是不固定的#xff0c;那么这种情况下#xff0c;其实是可以通过这种方式来注册web组…一、前言 在实际开发中有时候我们可能使用springboot注册web组件实现某些功能比如我们需要生成一些api来提供对外的服务而对应的路径其实是不固定的那么这种情况下其实是可以通过这种方式来注册web组件的。 二、如何实现 1.使用SpringBoot注解加继承HttpServet类实现注册Servlet组件。 WebServlet(/api) public class APIServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {log.debug(servlet execute);String servletPath request.getRequestURI();servletPath servletPath.substring(apiContext.length() 2);PrintWriter out null;try {out response.getWriter();ResponseDto responseDto process(servletPath, request, response);out.append(JSON.toJSONString(responseDto));} catch (Exception e) {response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);out.append(JSON.toJSONString(ResponseDto.fail(e.toString())));log.error(e.toString(), e);} finally {if (out ! null)out.close();}}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}public ResponseDto process(String path, HttpServletRequest request, HttpServletResponse response) {System.out.println(请求处理);ResponseDto dto new ResponseDto();return dto;} }2.通过继承HttpServet类加配置类来进行注册。 public class APIServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {log.debug(servlet execute);String servletPath request.getRequestURI();servletPath servletPath.substring(apiContext.length() 2);PrintWriter out null;try {out response.getWriter();ResponseDto responseDto process(servletPath, request, response);out.append(JSON.toJSONString(responseDto));} catch (Exception e) {response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);out.append(JSON.toJSONString(ResponseDto.fail(e.toString())));log.error(e.toString(), e);} finally {if (out ! null)out.close();}} }新建一个配置类将该Servlet加载到Spring容器中配置类代码如下 Slf4j Configuration public class ServletConfig {Value(${dbapi.api.context})String apiContext;Autowiredprivate APIServlet apiServlet;Beanpublic ServletRegistrationBean getServletRegistrationBean() {String format String.format(/%s/*, apiContext);ServletRegistrationBean bean new ServletRegistrationBean(apiServlet);bean.addUrlMappings(format);log.info(regist APIServlet servelet for {} urlMappings,format);return bean;} }两种注册方式都是可用的。 3.注册Filter组件实现过滤。 Slf4j Component WebFilter(/api) public class ApiIPFilter implements Filter {Autowiredprivate IPService ipService;Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException {log.debug(IP filter execute);HttpServletRequest request (HttpServletRequest) servletRequest;HttpServletResponse response (HttpServletResponse) servletResponse;String originIp IPUtil.getOriginIp(request);String method request.getMethod();PrintWriter out null;try {//js跨域的预检请求不经过处理逻辑。开发模式下前端启动访问8521的页面进行请求测试会跨域if (method.equals(OPTIONS)) {response.setStatus(HttpServletResponse.SC_OK);return;}boolean checkIP ipService.checkIP(originIp);if (!checkIP) {out response.getWriter();response.setStatus(HttpServletResponse.SC_FORBIDDEN);out.append(JSON.toJSONString(ResponseDto.fail(Illegal ip ( originIp ), access forbidden)));} else {filterChain.doFilter(servletRequest, servletResponse);}} catch (Exception e) {response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);out.append(JSON.toJSONString(ResponseDto.fail(e.toString())));log.error(e.toString());} finally {if (out ! null) {out.close();}}}这里会对某些IP进行过滤。 最后启动类中的ServletComponentScan注解扫描web组件。 SpringBootApplication //SpringBoot启动时扫描注册注解标注的Web组件 ServletComponentScan public class SpringbootDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootDemoApplication.class, args);} }
http://www.hkea.cn/news/14539654/

相关文章:

  • 牛网网站建设射阳网站建设
  • 做网站用电脑自带的大型企业网络建设方案
  • 网站建设推广文章wordpress适配手机
  • 网站建设有那几个类型adsl服务器建网站
  • php做网站主要怎么布局网站的费用可以做无形资产吗
  • 医院网站建设趋势响应式网站的原理
  • wordpress怎样建立二级菜单seo网页优化工具
  • 企业宣传模板图片上海seo推广整站
  • 网站建设推广注册公司在线画流程图的网站
  • 在什么网站做调查问卷wordpress搜索插件
  • 百度收录网站电话对电子商务网站建设与管理的理解
  • 网站开发国内外研究背景网站管理登录系统
  • 盘锦网站制作企业微信官网
  • 手表网站 二手不会做网站能做网络销售吗
  • 企业网站成功案例网络舆情处置公司
  • 主题公园旅游景区网站建设成都网站开发培训多少钱
  • asp.net网站开发项目化教程wordpress会员管理插件
  • 免费驾校网站模板龙炎电商软件
  • 广州增城区门户网站免费的网站在哪里下载
  • 旅游网站建设的重要性中国核工业第五建设
  • 比较好的商城网站设计西安专业做网站建设
  • 上海哪家公司做网站好山东省威海市文登区建设局网站
  • 电子商务网站建设与维护的考试高端网站建设知识
  • 贵阳58同城做网站公司有哪些返佣网站都是自己做的
  • 万站群cms云南省住房与城乡建设厅网站
  • 哪些网站可以免费看剧phpcms网站转移
  • 邯郸装修网站建设有什么网站可以帮人做模具吗
  • 用KEGG网站做KEGG富集分析修改wordpress中附件上传大小
  • 高明骏域网站建设泉州app开发
  • cms企业网站系统城乡住房建设厅网站