使用注解开发SpringMVC,也是以后开发的模板(重点)

注解版配置SpringMVC(重点)

第一步:

新建一个moudel,添加web支持!建立包结构top.lostyou.controller

第二步:

由于maven可能存在资源过滤问题,我们将配置完善

    <!--在build中配置resources,防止资源导出失败问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

 

第三步:

在spring的核心框架中引入相关依赖

      <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.24</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <!--EL表达式,前端-->
        <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

 

第四步:配置web.xml

  • 注意web.xml版本,要是最新版
  • 注册DispatcherServlet
  • 关联SpringMVC的配置文件
  • 启动级别为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="3.1"
         metadata-complete="true">

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

 

第五步配置springmvc-servlet.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.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--自动扫描包,让指定下的注解生效,由IOC容器统一管理-->
    <context:component-scan base-package="top.lostyou.controller"/>
    <!--让springMVC不处理静态资源   .css  .js   .html  .mp3   .mp4-->
    <mvc:default-servlet-handler/>
    <!--annotation-driven配置帮助我们自动完成以上两个实例注入-->
    <mvc:annotation-driven/>
    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="/page/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

 

第六步:创建一个controller

编写一个Java控制类:top.lostyou.controller.helloControoler

package top.lostyou.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller   //自动在spring容器中注入(<bean>)
public class HelloController {
    @RequestMapping("/msf")
    //  有关/msf的请求都会提交到这里
    public String hello(Model model){
        //封装数据
        model.addAttribute("msf","I&nbsp;&nbsp;am&nbsp;&nbsp;glod!");
        return "msf";//会被视图解析器处理,然后字符拼接成一个msf.jsp页面
    }
}

 

  • @Controller 是为了让spring IOC容器初始化时自动扫描到;
  • @RequestMapping 是为了映射请求路径,这里因为类与方法上都有映射路径所以访问时应该是/HelloController/msf,如果类上没有就是 /msf
  • 方法声明中Model类型的参数是为了把Action的数据带到视图层;
  • 方法返回的结果名称是msf,加上配置文件的前后缀就变成了/page/msf.jsp

第七步:编写一个jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>msf</title>
</head>
<body>
${msf}
<%--取出后端封装的数据--%>
</body>
</html>

 

第八步:启动Tomcat,测试

 

 小结:

注解实现springmvc的开发步骤其实十分简单:

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

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

处理器映射器,处理器适配器,视图解析器

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

 

插播一条消息:我学习的up主:狂神说Java的秦疆老师,在2023年3月5日发布新文,go语言的讲解将是他的封山之作。

 

posted @ 2023-03-05 22:46  回忆也交给时间  阅读(38)  评论(0编辑  收藏  举报