首页 > 其他分享 >使用注解开发SpringMVC,也是以后开发的模板(重点)

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

时间:2023-03-05 22:56:13浏览次数:46  
标签:xml web SpringMVC 视图 springmvc controller 开发 msf 模板

注解版配置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语言的讲解将是他的封山之作。

 

标签:xml,web,SpringMVC,视图,springmvc,controller,开发,msf,模板
From: https://www.cnblogs.com/5ran2yl/p/17182082.html

相关文章

  • 二次开发-员工信息管理系统
    本程序主要实现对员工的信息管理,为1925223夏海涛同学的c语言期末大作业。程序会将输入的信息按照指引分别存入不同的文件,主要由结构体以及文件读取实现,按照不同序号可以实......
  • springmvc配置文件
    <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • java-springmvc
    1、入门案例1.1、导包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.18</version></dependency><de......
  • 实验1 C语言开发环境使用和编程初体验
    text1 程序源码//打印一个字符小人#include<stdio.h>intmain(){printf("o\n"); printf("<H>\n"); printf("II\n"); printf("o\n"); pri......
  • SSM框架-SpringMVC学习日记5
    结果跳转方式ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面.页面:{视图解析器前缀}+viewName+{视图解析器后缀}<!--视图解......
  • SSM框架-SpringMVC学习日记3
    控制器Controller控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在SpringMVC中一个控制......
  • SSM框架-SpringMVC学习日记4
    RestFul风格概念Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。功能......
  • napi 基于rust 开发nodejs addons 的框架
    目前基于rust开发nodejsaddons的框架是很多了,而且都不错,同时对于安装会基于跨平台构建+githubrelease模式进行安装(对于企业内部不是很友好)napi是一个新的基于rust的......
  • springmvc-环境准备
    1.创建项目,打包方式设置为war2.配置web.xml路径:D:\Code\spring\ssm2023\ssm2023\spring_mvc\src\main\webapp\WEB-INF\web.xml 3.引入pom依赖<projectxmlns="http:......
  • 逆向软件设计和开发——图书馆管理系统
     本次作业使用的资源来自21计算4班肖佳伟、刘思辰大一c++大作业初版对项目进行分析:该系统面向借阅者,界面简洁明了,功能基本完善。该系统一共设计了2大类:user类和book......