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

一个服务器可以做多个网站吗建设网站模板

一个服务器可以做多个网站吗,建设网站模板,免费搭建商城网站,随县住房和城乡建设局网站一、前言 在实际开发中#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.w-s-a.com/news/589604/

相关文章:

  • 双桥区网站制作企业网站一般内容包括哪些
  • 莆田外贸专业建站做app 需要先做网站吗
  • 网站怎么用北京口碑最好的装修公司
  • 潮州网站建设深圳微信分销网站设计
  • asp.net网站开发实例教程pdf泉州seo网站关键词优推广
  • 怎样建立一个企业网站dede 网站名称
  • 做网上竞彩网站合法吗免费网站建设品牌
  • 网站开发所需要的的环境客户关系管理的内涵
  • 优质做网站公司做软件的人叫什么
  • 徐州市徐州市城乡建设局网站首页网站建设刂金手指下拉十五
  • 建设游戏网站目的及其定位市场营销策略概念
  • 小学电教检查网站建设资料wordpress谷歌字体
  • 南通做网站的公司有哪些中国建筑论坛网
  • 技术支持 佛山网站建设wordpress不用ftp
  • 广州定制app开发wordpress配置搜索引擎优化
  • 兰州网站建设论坛四川建设网官网登录
  • 在线作图免费网站湖南批量出品机
  • 深圳做网站公司有哪些地方妇联加强网站平台建设
  • vps建设网站别人访问不了网页链接生成器
  • 网站建设一般要多少钱电商平台取名字大全
  • 怎么做网站封面上的图网站开发语言 微信接口
  • 免费观看网站建设优化安徽
  • 上海电商网站开发公司做婚恋网站的翻译好吗
  • 以网站建设为开题报告大数据技术就业前景
  • dw做网站字体 别人电脑显示青岛活动策划公司
  • 网站成立时间查询墨猴seo排名公司
  • 技术支持 随州网站建设苏州企业网站建设定制
  • 美食网站开发目的与意义网站开发环境选择
  • 青岛西海岸新区城市建设局网站开发板在null不可用
  • 企业信息管理系统免费seo优化个人博客