SpringMVC是一种基于Java实现MVC模型的轻量级web框架
心
优点:使用简单,开发便捷(相比于Servlet) 灵活性强
使用Servlet技术开发web程序流程
1.创建web工程(Maven结构)
2.设置tomcat服务器,加载web工程(tomcat插件)
3.导入坐标(Servlet)
4.定义处理请求的功能类(Userservlet)5.设置请求映射(配置映射关系)
使用SpringMVC技术开发web程序流程
1.创建web工程(Maven结构)
2.设置tomcat服务器,加载web工程(tomcat插件)
3.导入坐标(SpringMVC+Servlet)
4.定义处理请求的功能类(UserController)
5.设置请求映射(配置映射关系)
开始写案例
第一步 新建一个maven工程,将main test文件都导好之后,导入坐标和tomcat插件,刷新
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
</dependencies>
第二步 写包我的是分别写了config,controller包,然后将他们放在一个All包下
controller中写有UserController
package All.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 这个必须得是受SpringMVC管理的bean
*/
@Controller
public class UserController {
//设置一个处理器对应的方法,/save是它的名称
@RequestMapping("/save")
public void save(){
}
}
config包写有SpringMvcConfig和ServletContainersInitConfig
ServletContainersInitConfig
package All.config;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;
public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext ctx=new AnnotationConfigWebApplicationContext();
ctx.register(SpringMvcConfig.class);//加载SpringMVC对应的容器对象
return ctx;
}
protected String[] getServletMappings() {
return new String[]{"/"};//这个的意思是所有的请求都归SpringMVC处理
}
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
补充 后续上面可以这样写
public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
}
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMvcConfig.class};
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
SpringMvcConfig
package All.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("All.controller")
public class SpringMvcConfig {
}
第三步 创建tomcat服务器
第四步 运行
启动服务器初始化过程
1.服务器启动,执行ServletContainersInitconfig类,初始化web容器
2.执行createServletApplicationContext方法,创建了WebApplicationContext对象3.加载SpringMvcConfig
4.执行@Componentscan加载对应的bean
5.加载Usercontroller,每个@RequestMapping的名称对应一个具体的方法6.执行getServletMappings方法,定义所有的请求都通过SpringMVC