框架原理和入门配置

  • 什么是springMVC?

   springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。(struts2与Spring整合的时候需要借助单独的jar包)

   springmvc是一个基于mvc的web框架

  • MVC在b/s系统 下的应用

  mvc是一个设计模式,mvc在b/s系统下的应用:

 

 

  • SpringMVC框架原理

 

  • springMVC入门程序

    • 环境搭建

    new => project => maven 选择maven-archetype-webapp并 勾中create from archtype

    如果不勾上,则需要手动建webapp的目录,在src/main下新建文件夹webapp 

  • 配置文件

  pom.xml文件:

1     //添加依赖
2     <dependency>
3         <groupId>org.springframework</groupId>
4         <artifactId>spring-webmvc</artifactId>
5         <version>5.1.0.RELEASE</version>
6     </dependency>

   

  • 配置前端控制器

  在web.xml配置前端控制器,让Spring MVC拦截并处理所有的请求。DispatcherServlet是前端控制器,所有来自客户端的请求,都会交由它去处理。

  web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">

    <servlet>
        <!--名称 -->
        <servlet-name>springmvc</servlet-name>
        <!-- Servlet类 -->
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        
        <load-on-startup>1</load-on-startup>
        <init-param>
            <!--SpringMVC配置参数文件的位置 -->
            <param-name>contextConfigLocation</param-name>
            <!--默认名称为ServletName-servlet.xml -->
            <param-value>classpath*:spring/spring-mvc.xml</param-value>
        </init-param>
    </servlet>

    <!--所有请求都会被springmvc拦截 -->
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

 

 

 

  • Spring MVC 在启动的时候会初始化容器,所以需要通过 xml 配置其容器的初始化。

  配置Handler  将编写Handler在spring容器加载

    Spring-Mvc.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" 
    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 
        http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">

    <!-- 自动扫描包,实现支持注解的IOC -->
    <context:component-scan base-package="com.lhy.flower" />

    <!-- Spring MVC不处理静态资源 -->
    <mvc:default-servlet-handler />

    <!-- 支持mvc注解驱动 -->
    <mvc:annotation-driven />

    <!-- 视图解析器 -->
<!--启用注解扫描-->
<context:component-scan base-package="com.nf147.post.controller" />

<!--启用 mvc 的常用注解-->
<mvc:annotation-driven enable-matrix-variables="true" />

<!--将所有的静态资源交还 Servlet 处理-->
<mvc:default-servlet-handler />

<!--配置返回页面-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
  <property name="prefix" value="/WEB-INF/jsp/" /><!-- 前缀 -->
  <property name="suffix" value=".jsp" /><!-- 后缀 -->
</bean>
</beans>

 

posted @ 2018-12-06 12:05  华艳  阅读(147)  评论(0编辑  收藏  举报