当前位置:   article > 正文

SpringMVC的使用_springmvc使用

springmvc使用

文章目录

一、SpringMVC概述

1.1  什么是SpringMVC

1.2  SpringMVC的作用

二、SpringMVC原理

2.1  MVC模式

三、SpringMVC执行流程和原理

四、 项目准备 

4.1.1  创建Maven项目(打包方式为war包)

 4.1.2  添加依赖

4.2  开发后端控制器Controller(与以前servlet类似)

4.3  创建springmvc.xml配置文件

 4.5  配置前端控制器DispatcherServlet

4.6  启动项目

4.7  访问项目 


一、SpringMVC概述

1.1  什么是SpringMVC

  • SpringMVC就是一个Spring内置的MVC框架。
  • MVC框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化等等),而且使用简单,与Spring无缝集成。支持 RESTful风格的URL请求。
  • 采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

1.2  SpringMVC的作用

MVC模式(Model-View-Controller):解决页面代码和后台代码的分离。

二、SpringMVC原理

在没有使用SpringMVC之前我们都是使用Servlet在做Web开发。但是使用Servlet开发在接收请求参数,数据共享,页面跳转等操作相对比较复杂。servlet是java进行web开发的标准,既然springMVC是对servlet的封装,那么很显然SpringMVC底层就是Servlet,SpringMVC就是对Servlet进行深层次的封装。

2.1  MVC模式

什么是mvc模式?

MVC分别是:模型model(javabean)、视图view(jsp/img)、控制器Controller(Action/servlet)。

C存在的目的就是为了保证M和V的一致性,当M发生改变时,C可以把M中的新内容更新到V中。

三、SpringMVC执行流程和原理

四、 项目准备 

4.1.1  创建Maven项目(打包方式为war包)

 4.1.2  添加依赖

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <maven.compiler.source>1.8</maven.compiler.source>
  4. <maven.compiler.target>1.8</maven.compiler.target>
  5. <spring.version>5.2.5.RELEASE</spring.version>
  6. </properties>
  7. <dependencies>
  8. <!-- mysql 数据库驱动 -->
  9. <dependency>
  10. <groupId>mysql</groupId>
  11. <artifactId>mysql-connector-java</artifactId>
  12. <version>8.0.29</version>
  13. </dependency>
  14. <dependency>
  15. <groupId>org.springframework</groupId>
  16. <artifactId>spring-core</artifactId>
  17. <version>${spring.version}</version>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.springframework</groupId>
  21. <artifactId>spring-context</artifactId>
  22. <version>${spring.version}</version>
  23. </dependency>
  24. <dependency>
  25. <groupId>org.springframework</groupId>
  26. <artifactId>spring-tx</artifactId>
  27. <version>${spring.version}</version>
  28. </dependency>
  29. <dependency>
  30. <groupId>org.springframework</groupId>
  31. <artifactId>spring-jdbc</artifactId>
  32. <version>${spring.version}</version>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.aspectj</groupId>
  36. <artifactId>aspectjweaver</artifactId>
  37. <version>1.9.7</version>
  38. </dependency>
  39. <!-- mybatis依赖 -->
  40. <dependency>
  41. <groupId>org.mybatis</groupId>
  42. <artifactId>mybatis</artifactId>
  43. <version>3.5.6</version>
  44. </dependency>
  45. <!-- 参考版本对应 http://www.mybatis.org/spring/ -->
  46. <dependency>
  47. <groupId>org.mybatis</groupId>
  48. <artifactId>mybatis-spring</artifactId>
  49. <version>2.0.3</version>
  50. </dependency>
  51. <!-- <dependency>
  52. <groupId>commons-dbcp</groupId>
  53. <artifactId>commons-dbcp</artifactId>
  54. <version>1.4</version>
  55. </dependency> -->
  56. <!-- 数据源管理 使用了dbcp2数据 -->
  57. <dependency>
  58. <groupId>org.apache.commons</groupId>
  59. <artifactId>commons-dbcp2</artifactId>
  60. <version>2.1.1</version>
  61. </dependency>
  62. <dependency>
  63. <groupId>org.apache.commons</groupId>
  64. <artifactId>commons-pool2</artifactId>
  65. <version>2.4.2</version>
  66. </dependency>
  67. <!-- junit -->
  68. <dependency>
  69. <groupId>org.junit.jupiter</groupId>
  70. <artifactId>junit-jupiter-engine</artifactId>
  71. <version>5.5.2</version>
  72. <scope>test</scope>
  73. </dependency>
  74. <!--log4j核心依赖-->
  75. <dependency>
  76. <groupId>log4j</groupId>
  77. <artifactId>log4j</artifactId>
  78. <version>1.2.17</version>
  79. </dependency>
  80. <dependency>
  81. <groupId>javax.servlet</groupId>
  82. <artifactId>javax.servlet-api</artifactId>
  83. <version>3.1.0</version>
  84. <scope>provided</scope>
  85. </dependency>
  86. <dependency>
  87. <groupId>javax.servlet</groupId>
  88. <artifactId>jsp-api</artifactId>
  89. <version>2.0</version>
  90. <scope>provided</scope>
  91. </dependency>
  92. <dependency>
  93. <groupId>org.springframework</groupId>
  94. <artifactId>spring-webmvc</artifactId>
  95. <version>${spring.version}</version>
  96. </dependency>
  97. <!-- commons 文件上传jar -->
  98. <dependency>
  99. <groupId>commons-io</groupId>
  100. <artifactId>commons-io</artifactId>
  101. <version>1.4</version>
  102. </dependency>
  103. <dependency>
  104. <groupId>commons-fileupload</groupId>
  105. <artifactId>commons-fileupload</artifactId>
  106. <version>1.3.1</version>
  107. </dependency>
  108. <!-- jstl -->
  109. <dependency>
  110. <groupId>jstl</groupId>
  111. <artifactId>jstl</artifactId>
  112. <version>1.2</version>
  113. </dependency>
  114. <!-- 加入JSON转换工具 -->
  115. <dependency>
  116. <groupId>com.alibaba</groupId>
  117. <artifactId>fastjson</artifactId>
  118. <version>1.2.47</version>
  119. </dependency>
  120. </dependencies>

4.2  开发后端控制器Controller(与以前servlet类似)

  1. package com.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.bean.Student;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.ui.Model;
  6. import org.springframework.web.bind.annotation.*;
  7. import org.springframework.web.multipart.MultipartFile;
  8. import org.springframework.web.servlet.ModelAndView;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import java.io.File;
  12. import java.io.IOException;
  13. import java.util.ArrayList;
  14. import java.util.Date;
  15. import java.util.List;
  16. import java.util.Map;
  17. @Controller
  18. @RequestMapping("/hello")
  19. public class HelloController {
  20. @PostMapping("/hello02")
  21. public ModelAndView hello02(String username,String pwd,ModelAndView modelAndView){
  22. System.out.println("hello02");
  23. System.out.println("用户名:"+username+"密码:"+pwd);
  24. modelAndView.setViewName("hello.jsp");
  25. modelAndView.addObject("username","测试");
  26. return modelAndView;
  27. }
  28. }

4.3  创建springmvc.xml配置文件

在src/main/resources/目录下创建springmvc.xml配置文件,并配置HelloController。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd
  10. http://www.springframework.org/schema/mvc
  11. https://www.springframework.org/schema/mvc/spring-mvc.xsd">
  12. <context:component-scan base-package="com.controller"></context:component-scan>
  13. </beans>

4.4  开发视图View
       在/WEB-INF下jsp目录中添加一个hello.jsp。

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <html>
  4. <head>
  5. <title>xinxi2</title>
  6. </head>
  7. <%
  8. String username = (String) request.getAttribute("username");
  9. %>
  10. <body>
  11. <h2><%=username%>你好</h2>
  12. </body>
  13. </html>

 4.5  配置前端控制器DispatcherServlet

在web.xml中配置spring mvc核心(前端)控制器,并加载springmvc配置文件。

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
  7. http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  8. version="3.1">
  9. <display-name>Archetype Created Web Application</display-name>
  10. <servlet>
  11. <servlet-name>springmvc</servlet-name>
  12. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  13. <init-param>
  14. <param-name>contextConfigLocation</param-name>
  15. <param-value>classpath:SpringMVC.xml</param-value>
  16. </init-param>
  17. <load-on-startup>1</load-on-startup>
  18. </servlet>
  19. <servlet-mapping>
  20. <servlet-name>springmvc</servlet-name>
  21. <url-pattern>/</url-pattern>
  22. </servlet-mapping>
  23. </web-app>

4.6  启动项目

添加一个Tomcat服务器并部署项目,部署完项目之后,启动服务器。

4.7  访问项目 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/586182
推荐阅读
  

闽ICP备14008679号