SpringMVC是什么?
Spring MVC又叫SpringWebMVC是一个轻量级的基于请求响应的表现层框架。它是Spring框架的一部分。SpringMVC与Struts2都可以替代原始Servlet技术
SpringMVC简要处理流程
完整流程图
SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回,并且DispatcherServlet是继承自HttpServlet的,所以在我们的web.xml中,我们是可以用启动servlet方式来启动springmvc的。
SpringMVC配置显示页面
配置SpringMVC前端控制器和读取配置文件。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 读取springmvc配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- 拦截规则
1、 *.htm *.do *.action 以扩展名方式进行拦截 不拦截静态资源 .jpg .css .js .png 什么情况下都可以使用
2、 / 不拦截jsp 拦截静态资源 RESTful 静态资源放行 风格
/* 全部拦截 包括jsp 以及所有静态资源 不推荐使用
-->
<url-pattern>*.sikiedu</url-pattern>
</servlet-mapping>
创建一个实体类,通过ModelAndView类的setViewName方法得到页面,这里面传入页面的url。通过@RequestMapping(value=" ") 设置访问路径,这里注意和我们xml中配置的拦截规则相对应。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/**
* @author 超厉害的我啊
*2020年3月26日下午2:19:23
*
*商品管理--游戏管理
*/
@Controller
public class ItemController {
//显示页面
@RequestMapping(value="list.sikiedu")
public ModelAndView list() {
ModelAndView mav=new ModelAndView();
mav.setViewName("/WEB-INF/jsp/item_list.jsp");
return mav;
}
}
通过springmvc.xml文件配置,开启注解扫描
<!-- 开启注解扫描 -->
<context:component-scan base-package="com.sikiedu"></context:component-scan>