SpringMVC学习-----环境搭建,入门案列

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43213517/article/details/99416261

SpringMVC学习-----环境搭建,入门案列


环境搭建(基于IDEA + Maven)

  • 创建Web工程
  • 引入相应的依赖jar包
  • 配置web.xml文件(在其中配置前端控制器)
  • 配置tomcat

SpringMVC的核心组件

  • 前端控制器(DispatcherServlet):类似一个指挥着,负责向各个组件转发
  • 处理器映射器(HandlerMapping)
  • 处理器适配器(HandlerAdapter)
  • 处理器 / 控制器(Handel)
  • 视图解析器(ViewResolver)
  • 视图(View)
其中加粗的部分需要程序员开发,没加粗的不需要

SpringMVC的请求流程

在这里插入图片描述

步骤

  • 浏览器发起请求到前端控制器,前端控制器负责接收并拦截请求。
  • 前端控制器调用处理器映射器通过请求的URL来查找处理器Handel
  • 处理器映射器找到具体的Handel,(根据xml配置,或者注解)生成处理器对象及处理器拦截器对象返回给前端控制器。
  • 前端控制器调用处理器适配器来进而调用具体的处理器(Controller)
  • Handel执行完成返回一个ModelAndView对象,返回给处理器适配器,进而返回给前端控制器。
  • 前端控制器将ModelAndView传给视图解析器。
  • 视图解析器返回具体的view给前端控制器。
  • 前端控制器进行视图渲染,将数据填充到response域
  • 前端控制器向浏览器响应结果

基于xml文件的配置

  • 配置前端控制器(在web.xml文件中)
<!--前端控制器-->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <!--参数配置-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:application-Context2.xml</param-value>
        </init-param>

    </servlet>

    <!--将前端控制器映射到/-->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

注 / 代表拦截所有的请求

  • 配置处理器映射器

 <!--映射器-->
    <bean class="org.springframework.web.servlet.handler.
    BeanNameUrlHandlerMapping"/>
  • 配置处理器适配器
<!--适配器-->
    <bean class="org.springframework.web.servlet.mvc.
    SimpleControllerHandlerAdapter"/>
  • 配置处理器(自己写的类,必须实现Controller接口,基于配置文件的开发)
<!--namae  url 访问的路径-->
    <!--处理器-->
    <bean id="controller" name="/showuser" class="com.github.excellent.
    controller.UserController"/>
  • 配置视图解析器
<!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
Controler类
public class UserController implements Controller {

    private UserService service = new UserService();

    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        List<User> list = service.queryUser();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("list",list);
        modelAndView.setViewName("showuser");
        return modelAndView;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43213517/article/details/99416261