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

邹城网站建设多少钱可免费下载的ppt模板

邹城网站建设多少钱,可免费下载的ppt模板,企业网站的建立之前必须首先确定,学做视频的网站有哪些文章目录一、spring-mvc.xml 中组件转化为注解形式二、DispatcherServlet加载核心配置类三、消除web.xml一、spring-mvc.xml 中组件转化为注解形式 跟之前全注解开发思路一致#xff0c; xml配置文件使用核心配置类替代#xff0c;xml中的标签使用对应的注解替代 !-- 组件… 文章目录一、spring-mvc.xml 中组件转化为注解形式二、DispatcherServlet加载核心配置类三、消除web.xml一、spring-mvc.xml 中组件转化为注解形式 跟之前全注解开发思路一致 xml配置文件使用核心配置类替代xml中的标签使用对应的注解替代 !-- 组件扫描web层 -- context:component-scan base-packagecom.itheima.controller/!--注解驱动-- mvc:annotation-driven/!--配置文件上传解析器-- bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver/!--配置拦截器-- mvc:interceptorsmvc:interceptormvc:mapping path/*/bean classcom.itheima.interceptor.MyInterceptor01/bean/mvc:interceptor /mvc:interceptors!--配置DefaultServletHttpRequestHandler-- mvc:default-servlet-handler/⚫ 组件扫描可以通过ComponentScan注解完成 ⚫ 文件上传解析器multipartResolver可以通过非自定义Bean的注解配置方式即Bean注解完成 Configuration ComponentScan(com.itheima.controller) public class SpringMVCConfig {Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver multipartResolver new CommonsMultipartResolver();multipartResolver.setDefaultEncoding(UTF-8);multipartResolver.setMaxUploadSize(3145728);multipartResolver.setMaxUploadSizePerFile(1048576);multipartResolver.setMaxInMemorySize(1048576);return multipartResolver;} }mvc:annotation-driven、 mvc:default-servlet-handler / 和 mvc:interceptor 怎么办呢SpringMVC 提供了一个注解EnableWebMvc我们看一下源码内部通过Import 导入了DelegatingWebMvcConfiguration类 Retention(RetentionPolicy.RUNTIME) Target({ElementType.TYPE}) Documented Import({DelegatingWebMvcConfiguration.class}) public interface EnableWebMvc {}Configuration(proxyBeanMethods false) public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport {private final WebMvcConfigurerComposite configurers new WebMvcConfigurerComposite();// 从容器中注入WebMvcConfigurer类型的BeanAutowired(required false)public void setConfigurers(ListWebMvcConfigurer configurers) {if (!CollectionUtils.isEmpty(configurers)) {this.configurers.addWebMvcConfigurers(configurers);}}//省略其他代码 }WebMvcConfigurer类型的Bean会被注入进来然后被自动调用所以可以实现WebMvcConfigurer接口完成一些解析器、默认Servlet等的指定WebMvcConfigurer接口定义如下 public interface WebMvcConfigurer {// 配置默认Servet处理器default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { }// 添加拦截器default void addInterceptors(InterceptorRegistry registry) { }// 添加资源处理器default void addResourceHandlers(ResourceHandlerRegistry registry) { }// 添加视图控制器default void addViewControllers(ViewControllerRegistry registry) { }// 配置视图解析器default void configureViewResolvers(ViewResolverRegistry registry) { }// 添加参数解析器default void addArgumentResolvers(ListHandlerMethodArgumentResolver resolvers) { }// ... 省略其他代码 ... }创建MyWebMvcConfigurer实现WebMvcConfigurer接口实现addInterceptors 和 configureDefaultServletHandling方法 Component public class MyWebMvcConfigurer implements WebMvcConfigurer {Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {// 开启DefaultServlet可以处理静态资源了configurer.enable();}Overridepublic void addInterceptors(InterceptorRegistry registry) {// 创建拦截器对象进行注册// Interceptor的执行顺序也取决于添加顺序registry.addInterceptor(new MyInterceptor01()).addPathPatterns(/*);} }最后在SpringMVC核心配置类上添加EnableWebMvc注解 Configuration ComponentScan(com.itheima.controller) EnableWebMvc public class SpringMVCConfig {Beanpublic CommonsMultipartResolver multipartResolver(){CommonsMultipartResolver multipartResolver new CommonsMultipartResolver();multipartResolver.setDefaultEncoding(UTF-8);multipartResolver.setMaxUploadSize(3145728);multipartResolver.setMaxUploadSizePerFile(1048576);multipartResolver.setMaxInMemorySize(1048576);return multipartResolver;} }二、DispatcherServlet加载核心配置类 DispatcherServlet在进行SpringMVC配置文件加载时使用的是以下方式 !--配置springMVC前端控制器-- servletservlet-nameDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--指定springMVC配置文件位置--init-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring-mvc.xml/param-value/init-param!--服务器启动就创建--load-on-startup2/load-on-startup /servletservlet-mappingservlet-nameDispatcherServlet/servlet-nameurl-pattern//url-pattern /servlet-mapping现在是使用SpringMVCConfig核心配置类替代的spring-mvc.xml怎么加载呢参照Spring的ContextLoaderListener加载核心配置类的做法定义了一个AnnotationConfigWebApplicationContext通过代码注册核心配置类 public class MyAnnotationConfigWebApplicationContext extends AnnotationConfigWebApplicationContext {public MyAnnotationConfigWebApplicationContext() {// 注册核心配置类super.register(SpringMVCConfig.class);} }!--指定springMVC的applicationContext全限定名 -- init-paramparam-namecontextClass/param-nameparam-valuecom.itheima.config.MyAnnotationConfigWebApplicationContext/param-value /init-param三、消除web.xml 目前几乎消除了配置文件但是web工程的入口还是使用的web.xml进行配置的如下 !--配置springMVC前端控制器-- servletservlet-nameDispatcherServlet/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class!--指定springMVC的applicationContext全限定名 --init-paramparam-namecontextClass/param-nameparam-valuecom.itheima.config.MyAnnotationConfigWebApplicationContext/param-value/init-param!--服务器启动就创建--load-on-startup2/load-on-startup /servletservlet-mappingservlet-nameDispatcherServlet/servlet-nameurl-pattern//url-pattern /servlet-mapping⚫ Servlet3.0环境中web容器提供了javax.servlet.ServletContainerInitializer接口实现了该接口后在对应的类加载路径的META-INF/services 目录创建一个名为javax.servlet.ServletContainerInitializer的文件文件内容指定具体的ServletContainerInitializer实现类那么当web容器启动时就会运行这个初始化器做一些组件内的初始化工作 ⚫ 基于这个特性Spring就定义了一个SpringServletContainerInitializer实现了ServletContainerInitializer接口; ⚫ 而SpringServletContainerInitializer会查找实现了WebApplicationInitializer的类Spring又提供了一个WebApplicationInitializer的基础实现类AbstractAnnotationConfigDispatcherServletInitializer当我们编写类继承AbstractAnnotationConfigDispatcherServletInitializer时容器就会自动发现我们自己的类在该类中我们就可以配置Spring和SpringMVC的入口了。 按照下面的配置就可以完全省略web.xml public class MyAnnotationConfigDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {// 返回的带有Configuration注解的类用来配置ContextLoaderListenerprotected Class?[] getRootConfigClasses() {System.out.println(加载核心配置类创建ContextLoaderListener);return new Class[]{ApplicationContextConfig.class};}// 返回的带有Configuration注解的类用来配置DispatcherServletprotected Class?[] getServletConfigClasses() {System.out.println(加载核心配置类创建DispatcherServlet);return new Class[]{SpringMVCConfig.class};}// 将一个或多个路径映射到DispatcherServlet上protected String[] getServletMappings() {return new String[]{/};} }
http://www.hkea.cn/news/14485799/

相关文章:

  • 顺德品牌网站建设公司自助建站软件排行榜
  • 长春火车站在哪个街道企业网站的特点是什么
  • 设计网站的公司名称软件开发属于什么行业类别
  • 朔州怀仁网站建设网站被镜像 站长学院
  • 北京商城网站建设报价平面设计排版
  • 重庆网站seo推广公司市场监督管理局官网查询系统
  • 公司网站实名认证企业信用信息查询系统
  • 北京通州区网站制作热搜榜上2023年热门话题
  • 网站后台编辑器wordpress 替代
  • 百度小程序跟做网站外贸网站的特点
  • 企业网站备案在哪个部门福州网站建设索q479185700
  • 网站建设免费的网站建设合同 售后维护期
  • 中科时代建设官方网站网站广告尺寸
  • 网站建设上机考试题目discuz 做家教网站
  • 设计网站都有什么作用太原做网站的鸣蝉公司
  • 如何做ps4的游戏视频网站制作一个门户网站需要多少钱
  • 北京wap网站开发泰安市建设职工培训中心网站进不去
  • 互联网做视频网站需要许可证吗台州网站制作报价
  • 免费的建站软件有哪些滨海新区建设和交通局网站
  • 哪里做网站seo开发公司 网站建设
  • wordpress 资源站模板邯郸比较有名的网络推广公司
  • 做外掛网站空间北京十大室内设计工作室
  • tdk标签影响网站权重网络营销的四种策略
  • 有哪些网站可以做ps挣钱旅游网站建站
  • 贵州省城乡住房建设厅网站张家港建网站
  • 青岛seo网站排名优化微信开发流程四步
  • 一键logo设计网广州seo顾问服务
  • 长沙企业模板建站做盗版系统网站会不会
  • 有什么网站可以做平面兼职给企业做网站的公司西安
  • 法国网站域名新网站建设方案