2021-04-24

Spring-MVC

一:前言: 我对SpringMVC的理解和感悟

1.理解SpringMVC,首先要理解MVC设计模式
MVC分别代表 Model(模型),view(视图) ,Controller(控制)
在没有SpringMVC的时候,
我们web项目编码需要写servlet来控制页面跳转和数据的取用,
简单来说SpringMVC就是对于我们这一步的封装处理,便于我们开发着使用。

上图:
2021-04-24_第1张图片 可以把SpringMVC理解成一个Controller层,作为中央控制器去处理用户请求

废话不多说,上用法

二:SpringMVC的使用功略

*2.1 配置法

1.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:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>

2.src目录或者resources目录中创建springmvc.xml文件
2021-04-24_第2张图片3.springmvc.xml中添加如下代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!--配置处理器映射器-->
    <!--<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>-->
    <!--处理器适配器-->
    <!--<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>-->

    <bean name="/index.do" class="com.smbms.controller.IndexController"/>
</beans>

4.编写Controller

public class HelloController extends AbstractController {
     
    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
     
        ModelAndView mv = new ModelAndView();
        mv.setViewName("success");
        mv.addObject("name", "张三");
        return mv;
    }
}

**2.2 注解法*基于注解的处理器配置

2.2.1 :在配置法的基础上,修改SpringMVC.xml文件的配置
加入一下代码,开启注解扫描

<!--扫描controller包-->
<context:component-scan base-package="cn.smbms.controller"/>
<!--开启mvc注解驱动:相当于配置了DefaultAnnotationHandlerMapping
    和AnnotationMethodHandlerAdapter-->
<mvc:annotation-driven/>

注意:此处在SpringMVC.xml头部文件中要加入context个mvc的声明空间要不然,这两个标签不起作用。

2.2.2:编写Controller**

@Controller
@RequestMapping("/aa")
public class HelloController {
     

    @RequestMapping("/aa1.do")
    public ModelAndView method1(){
     
        ModelAndView mv = new ModelAndView();
        mv.addObject("username", "张三");
        mv.setViewName("../index.jsp");
        return mv;
    }

    @RequestMapping("/aa2.do")
    public ModelAndView method2(){
     
        ModelAndView mv = new ModelAndView();
        mv.addObject("username", "张三");
        mv.setViewName("../index.jsp");
        return mv;
    }

三:注意点:

3.1普通web项目导入对应jar包或者maven导入依赖时,要检查部署文件中是否添加了这些jar包,如果部署文件中没有导入,springmvc无法生效

3.2 部署文件导入jar包的方式:
2021-04-24_第3张图片

2021-04-24_第4张图片

你可能感兴趣的:(spring,web,springmvc)