IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 第一个SpringMVC程序 -> 正文阅读

[Java知识库]第一个SpringMVC程序

1. 新建web maven工程

在这里插入图片描述

2. 加入依赖

在pom.xml中添加以下依赖

  <dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.10</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring5 -->
    <dependency>
      <groupId>org.thymeleaf</groupId>
      <artifactId>thymeleaf-spring5</artifactId>
      <version>3.0.11.RELEASE</version>
    </dependency>

  </dependencies>

3. 在web.xml中注册springmvc框架的核心对象DispatcherServlet

(1)DispatcherServlet叫做中央调度器,是一个Servlet,它的父类是继承HttpServlet
(2) DispatcherServlet也叫做前端控制器(front controller)
(3) DispatcherServlet负责接收用户提交的请求,调用其它的控制器对象,并把请求处理的结果显示给用户

    <servlet>
        <servlet-name>myweb</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--自定义springmvc读取的配置文件的位置-->
        <init-param>
            <!--springmvc的配置文件的位置的属性-->
            <param-name>contextConfigLocation</param-name>
            <!--指定自定义文件的位置-->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>myweb</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

springmvc创建容器对象时,读取的配置文件默认是 /WEB-INF/< servlet-name >-servlet.xml,servlet-name是DispatcherServlet的名称。这种默认的方式很不灵活,因此需要自定义设置。

        <!--自定义springmvc读取的配置文件的位置-->
        <init-param>
            <!--springmvc的配置文件的位置的属性-->
            <param-name>contextConfigLocation</param-name>
            <!--指定自定义文件的位置-->
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>

在tomcat服务器启动后,往往会创建DispatcherServlet对象的实例,因为DispatcherServlet在创建的过程中,会同时创建springmvc容器对象,读取springmvc的配置文件,把这个配置文件中的对象都创建好,当用户发起请求时可以直接使用对象。而在默认情况下,Servlet是在第一次被访问时创建,因此需要设置load-on-startup:表示tomcat启动后创建对象的顺序,值是整数,数值越小,tomcat创建对象的时间越早。

	<load-on-startup>1</load-on-startup>

url-pattern:
1. 使用扩展名方式,语法 *.xxxx, xxxx是自定义扩展名。 常用的方式 *.do, *.action, *.mvc等等
将相同扩展名的请求都交给同一个中央调度器使用
2. 使用斜杠 /

4. 创建一个发起请求的页面 index.jsp

在这里插入图片描述

5. 创建控制器类

  1. 在类的上面加入@Controller注解,创建对象,并放入到springmvc容器中
    @Controller:创建处理器(控制器)对象,对象放在springmvc容器中。

  2. 在类中的方法上面加入@RequestMapping注解
    @RequestMapping:请求映射,作用是把一个请求地址和一个方法绑定在一起,即一个请求指定一个方法处理。当前方法为处理器方法。该方法要对 value 属性所指定的 URI进行处理与响应。被注解的方法的方法名可以随意。

    	  属性:1. value 是一个String,表示请求的uri地址的(some.do),
                  value的值必须是唯一的,不能重复。在使用时,推荐地址以“/”
          位置:1. 在方法上面
              		2.在类的上面
          说明:使用@RequestMapping修饰的方法叫做处理器方法或者控制器方法,类似于Servlet中的doGet(),doPost()
    
@Controller
public class MyController {
	 /**
     * 处理用户提交的请求,springmvc中使用方法来处理
     * 方法是自定义的,可以有多个返回值,多个参数,方法名称自定义
     */
    @RequestMapping(value = "/some.do")
    public ModelAndView doSome() {
        //处理some.do请求
        ModelAndView mv = new ModelAndView();
        //添加数据 框架在请求的最后把数据放到request作用域
        //request.setAttribute("msg","欢迎使用springmvc做web开发")
        mv.addObject("msg","欢迎使用springmvc做web开发");
        //指定视图
        //框架对视图执行的forward操作,request.getRequestDispather("/show.jsp").forward(req, resp)
        mv.setViewName("/show.jsp");
        //返回
        return mv;
    }
    
}

6. 创建一个作为结果的jsp,显示请求的处理结果

在这里插入图片描述

7. 创建springmvc的配置文件(与spring的配置文件一样)

(1) 声明组件的扫描器,指定@Controller注解所在的包名
在这里插入图片描述
(2) 声明视图解析器,帮助处理视图的

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:41:57  更:2021-11-16 18:43:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:49:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码