SpringMVC最新教程IDEA版

1.servlet项目结构与识别

Idea里带个蓝点的文件夹为tomcat吃的网站内容,idea会通过“Web Resource Directory”来标注,会被打成一个war包

这个文件夹里,META-INF为元信息,WEB-INF为不能被路径直接访问到的内容,有tomcat吃的web.xml来映射地址到其中的资源内容。所以这里放的是java、lib、home页面。这些东西都是在web.xml里指定的,tomcat会去先找web.xml这个文件。

 

2.MVC框架要做哪些事情

  1. 将url映射到java类或java类的方法 .
  2. 封装用户提交的数据 .
  3. 处理请求--调用相关的业务处理--封装响应数据 .
  4. 将响应的数据进行渲染 . jsp / html 等表示层数据 .

 

3.以上事情,都是围绕DispatcherServlet来做的。

DispatcherServlet是个请求调度者

 

4.Spring MVC项目添加步骤:

1.新建web.xml

2.注册DispatcherServlet到/网址,添加contextConfigLocation xml配置文件

3.springmvc xml配置文件里,配置handler,adapter,viewResolver(也可以配置为模版引擎的)的bean。Jsp的ViewResolver可以配置视图网址路径的前缀和后缀

4.配置Controller,映射url,调用service从db获取数据并注入到ModelAndView对象里,以及jsp的文件名,并将Controller这个bean注册到Spring容器中。

5.jsp文件中获取数据,渲染

现在只要注册一个Servlet就行了,其他Servlet不用写了

 

5.流程

DispatcherServlet拦截所有网址请求,通过Handler获取被映射到的网址的Contrller;通过Adapter执行Controller里的handleRequest接口方法;通过返回的ModelAndView,找ViewResolver来解析,获得相应的视图,调用他来渲染页面并返回response。

可以看到以上流程分三部分,所以SpringMVC的xml配置文件里也要配置这三个部分的核心处理类

对应的,我们的代码要做三个事

  1. controller设置数据到ModelAndView,一般是调用service接口填充数据
  2. controller设置要返回的视图名字
  3. 视图获取controller设置的数据,通过jstl,el表达式等从ViewResolver里获取数据填充页面

 

6.注解形式启动一个SpringMVC项目的步骤

注解版的springmvc.xml不同,如下

  • 让IOC的注解生效(扫描)
  • 静态资源过滤 :HTML . JS . CSS . 图片 , 视频 .....(mvc:default-servlet-handler),请求这些静态资源不走SpringMVC
  • MVC的注解驱动(mvc:annotation-driven)
  • 配置视图解析器
xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    
    <context:component-scan base-package="com.kuang.controller"/>
    
    <mvc:default-servlet-handler />
    
    <mvc:annotation-driven />

    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          id="internalResourceViewResolver">
        
        <property name="prefix" value="/WEB-INF/jsp/" />
        
        <property name="suffix" value=".jsp" />
    bean>

beans>

 接下来就可以用@Controller宏设置Controller类注册到Spring容器里了

类的的函数,可以接收一个Model参数设置数据,返回一个String为视图名称

通过@RequestMapping注解在类和相应的方法上(也可以只在方法上),为一个URL里的路径各段设置与代码之间的映射

 总结如下

  1. 新建一个web项目
  2. 导入相关jar包
  3. 编写web.xml , 注册DispatcherServlet
  4. 编写springmvc配置文件
  5. 接下来就是去创建对应的控制类 , controller
  6. 最后完善前端视图和controller之间的对应
  7. 测试运行调试.

 

 7.Controller和视图弱耦合

可以把视图看作模板,行为结构先定义好,每个Controller送不同的数据给这个模板,展示的东西就不一样

 

8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

你可能感兴趣的:(SpringMVC最新教程IDEA版)