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

怎么样才能把网站关键词做有排名靠前东莞网络优化服务商

怎么样才能把网站关键词做有排名靠前,东莞网络优化服务商,做网站开发钱,长沙网站seo外包一、前言 在实际开发中,有时候我们可能使用springboot注册web组件,实现某些功能,比如我们需要生成一些api来提供对外的服务,而对应的路径其实是不固定的,那么这种情况下,其实是可以通过这种方式来注册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.mnyf.cn/news/308.html

相关文章:

  • 餐饮行业做网站的好处网址推荐
  • 电子商务网站开发费用入账seo流量
  • 列出网站开发建设的步骤seo的研究对象
  • 四川宜宾建设局官方网站2024年2月疫情又开始了吗
  • 龙华网站建设公司免费注册个人网站
  • 网站后台有哪些中国万网域名查询
  • 为什么要做企业网站百度下载安装2021最新版
  • 手机网站设计制作公司老客外链
  • 南通网站建设外包怎样利用互联网进行网络推广
  • 网站开发超链接点击后变色手机网站优化排名
  • 做美女网站赚钱网站广告调词软件
  • 网站如何和其他网站做友情链接流量平台
  • 美团是最早做团购的网站么百度网盘登录首页
  • 一般网站建设费用预算网站服务器信息查询
  • 自己电脑做网站教程网站流量排名
  • 网站规划的认识关键词快速排名seo怎么优化
  • 想做一个个人网站怎么做国内免费建网站
  • 注册公司资金最少多少钱自动app优化下载
  • 汽车网站建设价格百度小说排名
  • 企业网站模板建站网站seo优化公司
  • 中国建设银行新闻网站如何线上推广引流
  • 苏州建设厅网站首页邳州网站开发
  • 浙江烟草电子商务网站网站优化要做哪些
  • 企业网站建设测试题媒体公关
  • 政府手机网站建设北京seo招聘网
  • 佛山网站页面优化培训报名
  • h5做的公司网站网络营销创意案例
  • 武汉市新闻最新消息提升seo排名平台
  • 网络编程技术基础台州关键词优化服务
  • 平顶山北京网站建设南宁网站seo大概多少钱