SpringMvc详解

SpringMvc用来代替展示层Servlet,均属于Web层开发技术 

Servlet是如何工作的

1、导入Servlet依赖坐标

2、创建一个Servlet接口实现类,重写其中的所有方法

3、在Servlet实现类上加上@WebServlet注解,用来配置Servlet访问路径

4、启动Tomcat,浏览器输入Url访问该Servlet

SpringMvc是如何做的呢

1、导入相关依赖



    4.0.0

    org.example
    SpringMvc
    1.0-SNAPSHOT

    
        war
    
    
        
            javax.servlet
            javax.servlet-api
            3.1.0
            
            provided
        
        
            org.springframework
            spring-webmvc
            5.3.0
        
    

    
        1.8
        1.8
    

    
        
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.1
                
                    /
                
            
        
    
    

2、创建controller包,创建Usercontroller类

//声明控制层的bean的注解
@Controller
public class UserController {

    //设置当前操作的访问路径
    @RequestMapping("/save")
    //设置当前注解的返回值类型,将返回的内容整体作为响应给到外面
    @ResponseBody
    public String save(){
        System.out.println("springMvc is running");
        return "{'moudle':'springmvc'}";
    }
}

3、创建config包,加载SpringMvcConfig

//创建SpringMvc的配置文件,加载controller对应的baen
@Configuration
@ComponentScan("com.tsj.controller")
public class SpringMvcConfig {

}

4、在config包下,加载ServletContainerConfig

//定义一个Servlet容器启动的配置类,在里面加载Spring配置
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {
    //加载SpringMvc容器配置的
    @Override
    protected WebApplicationContext createServletApplicationContext() {
        AnnotationConfigWebApplicationContext acac=new AnnotationConfigWebApplicationContext();
        acac.register(SpringMvcConfig.class);
        return acac;
    }
    //设置哪些请求归属于SpringMvc处理
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};//这里表示所有的请求都归其进行处理
    }
    //加载Spring容器配置
    @Override
    protected WebApplicationContext createRootApplicationContext() {
        return null;
    }
}

5、配置Tomcat运行SpringMvc详解_第1张图片

 6、打开浏览器尝试输入

入门案例流程分析

 Controller加载控制和业务bean加载控制

SpringMvc相关bean(表现层bean)

Spring控制的bean

业务bean(Service)

功能bean(DataSource等)

SpringMvc相关bean加载控制

SpringMvc加载的bean对应的包均在com.tsj.controller包内

Spring相关bean加载控制

方式一:Spring设置加载范围为com.tsj,并排除掉controller在内的bean

@ComponentScan(value = "com.tsj",
    excludeFilters = @ComponentScan.Filter(
            //按照注解进行过滤
            type = FilterType.ANNOTATION,
            classes = Controller.class
    )
)

方式二:Spring设置加载范围更加精准,例如Service包,Dao包等

@ComponentScan({"com.tsj.service","com.tsj.dao"})

​​​​​​​SpringMvc详解_第2张图片

 简化开发格式

SpringMvc详解_第3张图片

 

你可能感兴趣的:(SSM,servlet,java,前端)