SpringMVC请求映射注解请求映射注解

请求映射注解 说明
@RequestMapping 通用的请求处理
@GetMapping 处理 HTTP GET 请求
@PostMapping 处理 HTTP POST 请求
@PutMapping 处理 HTTP PUT 请求
@PatchMapping 处理 HTTP PATCH 请求
@DeleteMapping 处理 HTTP DELETE 请求

建议在类级别上只使用 @RequestMapping ,用于指定基本路径。而在每个处理器方法上,使用更具体的请求映射注解,比如 @GetMapping。

以下是使用 Spring Web 注解定义控制器的典型示例:

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.Arrays;
import java.util.List;/*** 商品控制器* <p/>** @author Deniro Lee*/
@Controller
@RequestMapping("/product")
public class ProductController {@GetMapping("/show")public String show(Model model) {List<Product> products = Arrays.asList(new Product("1", "xx 微波炉", 2299),new Product("2", "xx 电视", 1789),new Product("3", "xx 笔记本电脑", 5399));model.addAttribute("products", products);return "product";}
}

Spring MVC工程搭建

创建项目

1.创建与配置Maven工程

添加web
右键我们的项目名 -> 选择“Add Framework Support”
选择WebApplication
核实版本号
核实是否会自动创建web.xml
添加好后会出现如下文件夹

搭建配置SpringMVC

引入依赖

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.13.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>
</dependencies>

刷新maven等待自动下载

libraries中有了所有导入的包表示依赖引入完成

配置静态资源导出

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
</build>

Spring核心配置文件

文件路径为\src\main\resources文件名为applicationContext.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- bean definitions here --></beans>

添加SpringMVC配置内容

annotation-driven配置就是帮助我们自动完成上述两个实例的注入

<!-- 1加载注解驱动 -->
<mvc:annotation-driven/>

静态资源过滤

<!-- 2静态资源过滤 -->
<mvc:default-servlet-handler/>

视图解析器

<!-- 3视图解析器 -->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/>
</bean>

编写代码测试

编写Controller层

controller包下新建HelloController类

package controller;@Controller
public class HelloController {@RequestMapping("/hello")public String hello(Model model){// Model 封装数据model.addAttribute("msg","HELLO MY FIRST SPRING MVC PROJECT");// 返回的字符串就是视图的名字 会被视图解析器处理return "hello";}
}

Spring核心配置文件:applicationContext.xml

<!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 -->
<context:component-scan base-package="controller"/>

编写jsp

WEB-INF包下新建jsp包,jsp包下新建hello.jsp文件

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

编写web.xml

配置前端控制器

<!-- 配置前端控制器 -->
<servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

配置初始化参数

在服务器启动时 加载spring的核心配置文件applicationContext.xml

配置初始化参数的代码写在前端控制器内

<!-- 配置初始化参数 -->
<init-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>
</init-param>

设置启动级别

<!-- 设置启动级别 -->
<load-on-startup>1</load-on-startup>

设置SpringMVC拦截请求

<!-- 设置SpringMVC拦截请求 -->
<servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern>
</servlet-mapping>

配置中文乱码过滤器

<!--  乱码过滤 -->
<filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param>
</filter>
<filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

运行web项目

点击绿色的小三角运行TomCat,出现如下内容表示运行成功

Spring MVC工程搭建相关推荐

  1. Spring MVC 框架搭建及详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  2. Spring MVC 环境搭建(一)

    一.建立 JavaWeb 项目 1.建立一个 Java 项目. 2.在项目下新建一个文件夹 webapp (命名可自取,这个目录即是网站根目录),再在该文件夹下新建一个 WEB-INF 文件夹(命名固 ...

  3. Java框架搭建-Maven、Mybatis、Spring MVC整合搭建

    Java框架搭建-Maven.Mybatis.Spring MVC整合搭建 1. 下载eclipse 到网站下载 http://www.eclipse.org/downloads/packages/e ...

  4. [Java] Maven 建立 Spring MVC 工程

    GIT: https://github.com/yangyxd/Maven.SpringMVC.Web 1. 建立 WebApp 工程 下一步: 下一步: 选择 maven-archetype-web ...

  5. 番外:Spring MVC环境搭建和Mybatis配置避坑篇

    2019独角兽企业重金招聘Python工程师标准>>> web.xml引入对spring mvc的支持: spring-mvc配置spring-mvc: spring-mybatis ...

  6. [Spring MVC] - Spring MVC环境搭建

    1) 复制Spring所需要的lib包         (这是SSH所需要的lib包,如果只使用spring,可以移除一些包) 2) 配置web.xml <?xml version=" ...

  7. Java Spring MVC框架搭建(一)

    环境准备 >>>>>>java JDK和tomcat,eclipse 1.创建项目 2.项目名称自定义,这边为demo 3.我们已经创建完一个动态网站的项目,还得下 ...

  8. Spring MVC项目搭建,入门教程:俗话说师傅领进门,修行在个人

    Demo的结构: 准备jar包,上面项目结构的jar 包请自行准备: 创建resources根目录,在里面创建spring mvc 的配置文件:springmvc.xml 根目录创建方法:resour ...

  9. Spring mvc环境搭建

    第一步,讲相关包拷贝到lib文件加下 第二步配置 WEB.CONFIG <?xml version="1.0" encoding="UTF-8"?> ...

最新文章

  1. 如何“正确”为SharePoint字段命名
  2. mac用vscode打开html,Mac 命令行打开VsCode
  3. 汇编语言(一)之反转字符串输出
  4. JVM内存溢出时快照转存HeapDump到文件
  5. 数据分析师能用到mysql_浅谈数据分析师的必备技能SQL
  6. AsyncTask--源码心得
  7. js获取后端传过来的数据
  8. Webservice 用http get方式无法请求到的解决办法
  9. linux服务器运行dyna,dynamips分布式实现详解
  10. 微分方程数值计算matlab实现,微分方程数值解及Matlab实现
  11. 前端响应式布局与Bootstrap栅格系统快速了解与应用
  12. Djano之写api使用django_rest_framework【海瑞博客】
  13. windows中mysql服务无法启动
  14. 面试中一些较为复杂的常见的算法
  15. mysql 处理字符串 减断_Mysql处理字符串函数(转)
  16. linux i2c 端口 usb,做了一个电容屏的IIC接口转USB
  17. Java文件操作大全(包括文件加密,String加密)
  18. github多星java项目_可以吹爆的GitHub高星数的干货项目!!
  19. html+css商城主页面
  20. drf 安装_drf安装与基本使用

热门文章

  1. 中国5G智能终端明年或出货1亿部;Win10 20H1正式版有望明年春季发;腾讯云发布七大新品……...
  2. 送女生什么礼物好、送女生的礼物排行榜
  3. 中兴交换机ZXR10-2950 如何创建用户和删除用户
  4. 操作手册(GB8567——88)
  5. 传智播客前端开发_前端开发人员的最佳播客
  6. UVALive 6849 Landmine Cleaner(贪心、扫雷经典游戏)
  7. 探访新疆喀什老城:从连片危房到5A景区
  8. 这些软件太强了,Mac必装!尤其程序员!
  9. 深入分析微软Microsoft Azure 机器学习工作室案例
  10. ProtoBuf详解(一)概念和语法