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

网站平台管理优化方案设计成都seo招聘

网站平台管理优化方案设计,成都seo招聘,如何设置中国建设银行网站,中国建设银行手机银行下载分类&#xff1a; 中央转发器(DispatcherServlet)控制器视图解析器静态资源访问消息转化器格式化静态资源管理 中央转发器&#xff1a; 中央转发器被 SpringBoot 自动接管&#xff0c;不需要我们在 web.xml 中配置&#xff1a; <servlet><servlet-name>chapter2&l…
  1. 分类:
    1. 中央转发器(DispatcherServlet)
    2. 控制器
    3. 视图解析器
    4. 静态资源访问
    5. 消息转化器
    6. 格式化
    7. 静态资源管理
  2. 中央转发器:
    1. 中央转发器被 SpringBoot 自动接管,不需要我们在 web.xml 中配置:
      <servlet><servlet-name>chapter2</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping><servlet-name>chapter2</servlet-name><url-pattern>/</url-pattern>
      </servlet-mapping>
    2. 中央转发器被 SpringBoot 自动接管,不需要我们在 web.xml 中配置,我们现在的项目也不是 web 项目,也不存在 web.xml
    3. 查看 DispatcherServlet:
      org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration,/
  3. 控制器:
    1. 控制器 Controller 在 SpringBoot 的注解扫描范围内自动管理
  4. 视图解析器自动管理:
    1. Inclusion  of  ContentNegotiatingViewResolver  and  BeanNameViewResoler  Beans
    2. ContentNegotiatingViewResoler:组合所有的视图解析器
    3. 无需再配置曾经的配置文件:
      <bean id="de" class="org.springframework.web.servlet.view.InternalResourceViewResolver">property name="prefix" value="/WEB-INF/jsp/"></property>property name="suffix" value="*.jsp"></property>
      bean>
    4. 源码:
      public ContentNegotiatingViewResolver viewResolver(BeanFactory beanFactory) {ContentNegotiatingViewResolver resolver = new ContentNegotiatingViewResolver();resolver.setContentNegotiationManager((ContentNegotiationManager)beanFactory.getBean(ContentNegotiationManager.class));resolver.setOrder(-2147483648);return resolver;
      }}
    5. 当我们做文件上传的时候 multpartResolver  是自动被配置好的页面
      1. 页面:
        <form action="/upload" method="post" enctype="multipart/form-data">input name="pic" type="file">input type="submit">
        form>
      2. Controller:
        @ResponseBody
        @RequestMapping("/upload")
        public String upload(@RequestParam("pic")MultipartFile file, HttpServletRequest request){String contentType = file.getContentType();String fileName = file.getOriginalFilename();
        /*System.out.println("fileName-->" + fileName);
        System.out.println("getContentType-->" + contentType);*///String filePath = request.getSession().getServletContext().getRealPath("imgupload/");String filePath = "D:/imgup/";try {this.uploadFile(file.getBytes(), filePath, fileName);} catch (Exception e) {// TODO: handle exception}return "success";
        }public static void uploadFile(byte[] file, String filePath, String fileName) throws Exception {File targetFile = new File(filePath);if(!targetFile.exists()){targetFile.mkdirs();}FileOutputStream out = new FileOutputStream(filePath+fileName);out.write(file);out.flush();out.close();
        };
    6. 文件上传可以通过配置来修改
      1. 打开 application.properties,默认限制是 10 MB,可以任意修改
  5. 消息转换和格式化:
    1. SpringBoot 自动配置了消息转换器
    2. 格式转换器的自动注册:
    3. 时间类型可以修改:
  6. 欢迎页面的自动装配:
    1. SpringBoot 自动指定 resources 下的 index.html
  7. SpringBoot 扩展 SpringMVC:
    1. 通过实现 WebMvcConfigurer 接口来扩展
      public interface WebMvcConfigurer {default void configurePathMatch(PathMatchConfigurer configurer) {}default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {}default void configureAsyncSupport(AsyncSupportConfigurer configurer) {}default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {}default void addFormatters(FormatterRegistry registry) {}default void addInterceptors(InterceptorRegistry registry) {}default void addResourceHandlers(ResourceHandlerRegistry registry) {}default void addCorsMappings(CorsRegistry registry) {}default void addViewControllers(ViewControllerRegistry registry) {}default void configureViewResolvers(ViewResolverRegistry registry) {}default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {}default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {}default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {}default void extendMessageConverters(List<HttpMessageConverter<?>> converters) {}default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {}default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {}@Nullabledefault Validator getValidator() {return null;}@Nullabledefault MessageCodesResolver getMessageCodesResolver() {return null;}
      }
  8. 在容器中注册视图控制器(请求转发):
    1. 创建一个 MyMvcConfig 实现 WebMvcConfigurer 接口,实现 addViewController 方法,完成通过 /tx 访问,转发到 success.html 的工作
      @Configuration
      public class MyMVCCofnig implements WebMvcConfigurer {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/tx").setViewName("success");}
      }
  9. 注册格式化器:
    1. 用来可以对请求过来的日期格式化的字符串来做指定化
    2. 通过 application.properties 配置也可以办到
      @Override
      public void addFormatters(FormatterRegistry registry) {registry.addFormatter(new Formatter<Date>() {@Overridepublic String print(Date date, Locale locale) {return null;}@Overridepublic Date parse(String s, Locale locale) throws ParseException {return new SimpleDateFormat("yyyy-MM-dd").parse(s);}});
      }
  10. 消息转换器扩展 fastjson:
    1. 在 pom.xml 中引入 fastjson:
      <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>
      </dependency>
    2. 配置消息转换器,添加 fastjson:
      @Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>>    FastJsonHttpMessageConverter fc = 
      converters) {new FastJsonHttpMessageConverter();    FastJsonConfig fastJsonConfig = new FastJsonConfig();   fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);    fc.setFastJsonConfig(fastJsonConfig);    converters.add(fc);
    3. 在实体类中控制:
      public class User {private String username;private String password;private int age;private int score;private int gender;@JSONField(format = "yyyy-MM-dd")private Date date;
      }
  11. 拦截器注册:
    1. 创建拦截器
      public class MyInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("前置拦截");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("后置拦截");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("最终拦截");}
      }
    2. 注册拦截器:
      @Override
      public void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/hello2");
      }


文章转载自:
http://kingbird.mcjp.cn
http://parnassian.mcjp.cn
http://exercitation.mcjp.cn
http://nitrification.mcjp.cn
http://uptear.mcjp.cn
http://fossiliferous.mcjp.cn
http://breech.mcjp.cn
http://acrosin.mcjp.cn
http://unpiloted.mcjp.cn
http://platycephalic.mcjp.cn
http://scion.mcjp.cn
http://fortitude.mcjp.cn
http://potassic.mcjp.cn
http://rifampicin.mcjp.cn
http://furcula.mcjp.cn
http://epistropheus.mcjp.cn
http://overmark.mcjp.cn
http://italy.mcjp.cn
http://midriff.mcjp.cn
http://hutu.mcjp.cn
http://waur.mcjp.cn
http://pleonasm.mcjp.cn
http://queen.mcjp.cn
http://medicinal.mcjp.cn
http://gronk.mcjp.cn
http://mop.mcjp.cn
http://witchcraft.mcjp.cn
http://semidiameter.mcjp.cn
http://jutish.mcjp.cn
http://what.mcjp.cn
http://poncho.mcjp.cn
http://loosen.mcjp.cn
http://pyelogram.mcjp.cn
http://conga.mcjp.cn
http://eleoptene.mcjp.cn
http://dollarwise.mcjp.cn
http://basifugal.mcjp.cn
http://philoctetes.mcjp.cn
http://huxley.mcjp.cn
http://bruno.mcjp.cn
http://shirtdress.mcjp.cn
http://castanets.mcjp.cn
http://mesogloea.mcjp.cn
http://savanna.mcjp.cn
http://bookstall.mcjp.cn
http://hacienda.mcjp.cn
http://dunite.mcjp.cn
http://fortitudinous.mcjp.cn
http://disembody.mcjp.cn
http://psychoanalyze.mcjp.cn
http://cannot.mcjp.cn
http://nauseous.mcjp.cn
http://effusively.mcjp.cn
http://thunderhead.mcjp.cn
http://tibiotarsus.mcjp.cn
http://vstol.mcjp.cn
http://prescriptive.mcjp.cn
http://choplogical.mcjp.cn
http://unqualified.mcjp.cn
http://egomania.mcjp.cn
http://showplace.mcjp.cn
http://boxroom.mcjp.cn
http://robbia.mcjp.cn
http://hyposensitize.mcjp.cn
http://everydayness.mcjp.cn
http://rondel.mcjp.cn
http://dada.mcjp.cn
http://dinoceras.mcjp.cn
http://ethnocide.mcjp.cn
http://matchet.mcjp.cn
http://hyphenise.mcjp.cn
http://concede.mcjp.cn
http://brachiopoda.mcjp.cn
http://archpriest.mcjp.cn
http://exanimo.mcjp.cn
http://ussuriisk.mcjp.cn
http://morpheus.mcjp.cn
http://fishy.mcjp.cn
http://debonaire.mcjp.cn
http://junketeer.mcjp.cn
http://inflate.mcjp.cn
http://amnesia.mcjp.cn
http://aground.mcjp.cn
http://footlights.mcjp.cn
http://garrotte.mcjp.cn
http://laetare.mcjp.cn
http://classbook.mcjp.cn
http://vocable.mcjp.cn
http://unchastity.mcjp.cn
http://bheestie.mcjp.cn
http://interstation.mcjp.cn
http://eyesome.mcjp.cn
http://slavonian.mcjp.cn
http://zoomagnetism.mcjp.cn
http://pejorative.mcjp.cn
http://disincorporate.mcjp.cn
http://hydrothermally.mcjp.cn
http://defervescence.mcjp.cn
http://histographic.mcjp.cn
http://every.mcjp.cn
http://www.15wanjia.com/news/71216.html

相关文章:

  • 公安局网站备案表产品如何推广
  • 展示型网站制作西安网站制作公司
  • 房山网站建设今天的新闻头条
  • 室内设计者联盟网站百度指数关键词未收录怎么办
  • 成都旅游路线规划海南seo快速排名优化多少钱
  • 第四章第二节网站建设的教学设计长沙推广公司
  • 哪家公司做网站建设比较好全国疫情实时动态
  • 建设网站设计论文范文店铺推广怎么做
  • 怎样在网站做宣传拼多多seo是什么意思
  • 屏边县住房和城乡建设局网站福州百度seo排名
  • 北京网站建设 fim长沙谷歌seo
  • wdcp自动备份wordpress荥阳seo
  • 如何自建网站广东东莞大益队
  • wordpress 下载按钮海外seo网站推广
  • 网页设计网站怎么做特效百度导航下载2022最新版官网
  • 营销型网站建设网址收录网站
  • 怎样做分类网站长沙seo网络优化
  • 企业网站建设基本流程中国大数据平台官网
  • 怎么做钓鱼网站生成媒介
  • 北京软件股份有限公司网站seo外链建设
  • 登录 wordpress黑河seo
  • 合肥商城网站建设alexa排名查询统计
  • 公司网站开发教程免费网站统计工具
  • 移动网站的开发流程图最有吸引力的营销模式
  • 企业型网站建设策划百度联盟官网登录入口
  • 大屏首页滚动网站源码山东建站
  • 网站建设的过程包括几个阶段营销排名seo
  • 企业做网站的合同磁力帝
  • 淮北市矿业工程建设公司网站自助建站
  • 电商设计师工资高吗seo外推