springMvc项目的搭建,暂时没有整合持久层框架(java Config配置对比xml配置)
2024-10-19 08:57:54
public class WebInit implements WebApplicationInitializer { @Override
public void onStartup(ServletContext container) throws ServletException {
//项目启动则执行 :
//前端控制器
//对比xml配置,配置在web.xml中的
/*
* <servlet>
* <servlet-name>dispatcherServlet</servlet-name>
* <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
* <init-param>
* <param-name>contextConfigLocation</param-name>
* <param-value>/WEB-INF/classes/application.xml</param-value>
* </init-param>
* <load-on-startup>1</load-on-startup>
* </servlet>
* <servlet-mapping>
* <servlet-name>dispatherServlet</servlet-name>
* <url-pattern>*.do</url-pattern>
* </servlet-mapping>
* */
//javaConfig配置
//这句相当于控制器核心类
ServletRegistration.Dynamic dispatcherServletRegistration = container.addServlet("dispatcher", new DispatcherServlet());
//这句相当于配置服务器启动就加载servlet容器
dispatcherServletRegistration.setLoadOnStartup(1);
//这句相当于配置注解驱动
dispatcherServletRegistration.setInitParameter("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
//这句相当于加载springmvc核心配置文件
dispatcherServletRegistration.setInitParameter("contextConfigLocation", "com.mike.small.config.SpringMvcConfig");
//拦截所有url
dispatcherServletRegistration.addMapping("/"); //处理乱码过滤器
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
FilterRegistration.Dynamic characterEncodingFilterRegistration = container.addFilter("characterEncodingFilter", filter);
characterEncodingFilterRegistration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD), false, "/*"); //注解驱动类
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(SpringMvcConfig.class);
//这句相当于web.xml的监听器
/*<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
*/
container.addListener(new ContextLoaderListener(rootContext));
} }
@Configuration // this class contains bean definitions
@EnableWebMvc // same as <mvc:annotation-driven />
@ComponentScan(basePackages = {"com.mike.small"})
public class SpringMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// declare static resources
registry.addResourceHandler("/static/**").addResourceLocations("/static/");
} @Bean
public InternalResourceViewResolver viewResolver() {
// view resolver
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
return resolver;
} @Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(104857600);
return multipartResolver;
}
}
最新文章
- Hadoop Pig简介、安装、试用
- DGbroker三种保护模式的切换
- webService----wsimport调用方式
- nl2br
- 常见的XMLHttpRequest.status状态码
- 滚珠菜单动效-b
- 邮件发送 emailsend .net开发
- 【留念贴】Android开发——计算器
- 关于iphone点击readonly的input虚拟键盘不消失的情况
- iOS开发之JSON转PLIST(把存储json格式的文件转换成plist文件)
- nova vnc proxy基本原理
- 又见thrift异常之TApplicationException: Internal error processing..
- UIDataPicker 时间选择器
- 【转载】SQL Server 版本列表
- JAVA面试精选【Java算法与编程二】
- MFC 消息映射表和虚函数实现消息映射到底谁的效率高
- Maven仓库 - 分发构件至远程仓库
- python代码异常范围检查方法(非常实用)
- Lavavel5.5源代码 - 限流工具
- Kotlin怎样使用Android的Dagger2