zoukankan      html  css  js  c++  java
  • 2、使用注解开发SpringMVC

    使用注解实现

    一、新建一个Moudle ,添加web支持

    二、在pom .xml文件引入相关的依赖,注意要在项目结构中添加lib的依赖

    三、配置web.xml

    • 使用最新版web.xml头文件
    • 注册DispatcherServlet
    • 关联Spring MVC的配置文件
    • 启动级别为1
    • 映射路径为/ [不要用/*, 会404]
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
        <!--1、注册DispatcherServlet-->
        <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-servlet.xml</param-value>
            </init-param>
            <!--设置启动级别-->
            <load-on-startup>1</load-on-startup>
        </servlet>
        <!--
            / :匹配所有请求【不包括.jsp】
            /* :匹配所有请求【包括.jsp】
        -->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>

    四、添加SpringMVC配置文件

    • 让IOC的注解生效
    • 静态资源过滤:HTML.JS.CSS.图片,视频
    • MVC的注解驱动
    • 配置视图解析器
    <?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.zhixi.controller"/>
        <!--让SpringMVC不处理静态资源-->
        <mvc:default-servlet-handler/>
    
        <!--
            支持mvc注解驱动
                在spring中一般采用@RequestMapping注解来完成映射关系
                要想使@RequestMapping注解生效
                必须向上下文中注册DefaultAnnotationHandlerMapping
                和一TAnnotationMethodHandlerAdapter实例
                这两个实例分别在类级别和方法级别处理。
                而annotation-driven配置帮助我们自动完成上述两个实例的注入。
        -->
        <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>

    在视图解析器中我们把所有的视图都存放在/WEB-INF/目录下,这样可以保证视图安全,因为这个
    录下的文件,客户端不能直接访问。

    五、创建Controller

    编写一个java控制类:com.zhixi.controller.HelloController

    package com.zhixi.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /**
     * @author zhangzhixi
     */
    @Controller
    public class HelloController {
    
        // 请求映射,通过/some来访问到:WEB-INF/jsp/hello.jsp
        @RequestMapping("/some")
        public String getName(Model model){
            // 封装数据
            model.addAttribute("msg","hello annocation SpringMVC");
            // 返回视图的名字,会被视图解析器处理
            return "hello";
        }
    }
    • @Controller是为了让Spring I0C容器初始化时自动扫描到;
    • @RequestMapping是为了映射请求路径,可以添加在类上面
    • 方法中声明Model类型的参数是为了把Action中的数据带到视图中;
    • 方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp.

    六、创建视图层,取出数据

    WEB-INF/jsp/hello.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    ${msg}
    </body>
    </html>

    七、启动Tomcat,进行测试

     小结:

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

    使用springMVC必须配置的三大件:

    处理器映射器、处理器适配器、视图解析器
    通常,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动(annotation-driven)即可
    ,而省去了大段的xml配置

  • 相关阅读:
    浏览器渲染机制
    isEmpty 和 isBlank 的用法区别
    Mybatis-plus
    Java8的JVM内存结构
    【面试题】关于线程交替的面试题
    java中的final的作用
    线程池
    六种实现单例模式的方法
    SQL优化常用方法
    HTML学习笔记
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14271329.html
Copyright © 2011-2022 走看看