SpringMVC零配置创建与部署

SpringMVC零配置创建与部署
1.创建web工程
2.pom.xml添加坐标相关配置

<dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>SpringBoot02</finalName>
    <plugins>
      <!--指定maven编译的JDK版本和编码-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>utf-8</encoding>
        </configuration>
      </plugin>
    </plugins>
  </build>

3.添加源代码

@Controller("/hello")
public class HelloController {
    public String index(Model model){
        model.addAttribute("msg","hello springBoot");
        return "hello/index";
    }
}

4添加视图

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h3>${msg}</h3>
</body>
</html>

5.SpringMVC配置类添加

@Configuration  //配置类
@ComponentScan("com.gsau.controller")  //扫描包范围
@EnableWebMvc //在设置过@Configuration注解的类上添加,表示启用mvc的环境
public class MvcConfig extends WebMvcConfigurationSupport {
    /**
     * 配置jsp视图解析器
     */
    @Bean  //表示返回的视图解析器对象交给Ioc进行维护
    public InternalResourceViewResolver viewResolver(){
        //得到视图解析器对象
        InternalResourceViewResolver viewResolver=new InternalResourceViewResolver();
        //设置视图解析器的前缀
        viewResolver.setPrefix("/WEB-INF/views/");
        //设置视图解析器的后缀
        viewResolver.setSuffix(".jsp");
        //返回视图解析器
        return viewResolver;
    }
}

6.入口文件代码添加

/**
 * 当容器启动时,会调用接口中对应的onStartup方法
 * 替代了web.xml文件
 */
public class WebInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        //基于java配置类加载Spring的上下文环境
        AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();
        //注册MvcConfig配置类
        ctx.register(MvcConfig.class);
        //设置ServletContext的上下文
        ctx.setServletContext(servletContext);
        //设置转发器
        ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
        //设置路径
        servlet.addMapping("/");
        //设置容器启动时自动加载servlet
        servlet.setLoadOnStartup(1);
    }
}

如果项目中存在静态资源,Handler放行处理该如何配置,定义的拦截器怎么应用,此时继承WebMvcConfigurationSupport父类方法,重写相关方法即可

@Configuration  //配置类
@ComponentScan("com.gsau.controller")  //扫描包范围
@EnableWebMvc //在设置过@Configuration注解的类上添加,表示启用mvc的环境
public class MvcConfig extends WebMvcConfigurationSupport {
    /**
     * 配置jsp视图解析器
     */
    @Bean  //表示返回的视图解析器对象交给Ioc进行维护
    public InternalResourceViewResolver viewResolver(){
        //得到视图解析器对象
        InternalResourceViewResolver viewResolver=new InternalResourceViewResolver();
        //设置视图解析器的前缀
        viewResolver.setPrefix("/WEB-INF/views/");
        //设置视图解析器的后缀
        viewResolver.setSuffix(".jsp");
        //返回视图解析器
        return viewResolver;
    }
    /**
     * 静态资源 handler不进行处理,直接响应到客户端
     */
    @Override
    protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    /**
     * 配置拦截器
     */
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        super.addInterceptors(registry);
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值