Spring MVC 使用@RequestMapping 注解基本用法

简介: SpringMVC4.0 + Tomcat7 + JDK7环境搭建 + (Spring4.0jar包+源码+logging+SpringIDE百度网盘下载)首先给大家需要看看我上一篇博文,因为环境是随上一篇而来的。这一篇讲一讲Spring MVC中@RequestMapping这个注解的一般用法。目录结构还是跟上一篇的一样,这里就不展示了,我会贴上改动了的文件。S

SpringMVC4.0 + Tomcat7 + JDK7环境搭建 + (Spring4.0jar包+源码+logging+SpringIDE百度网盘下载)

首先给大家需要看看我上一篇博文,因为环境是随上一篇而来的。这一篇讲一讲Spring MVC中@RequestMapping这个注解的一般用法。

目录结构还是跟上一篇的一样,这里就不展示了,我会贴上改动了的文件。

SpringMVCTest.java

package com.hust.springmvc1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.SessionAttributes;

@SessionAttributes(value={"user"}, types={String.class})
@Controller
@RequestMapping("/springmvc")
public class SpringMVCTest { 

    private static final String SUCCESS = "success";

    /**
     * @PathVariable 可以映射 URL 中的占位符到目标方法的参数中
     * @param id
     * @return
     */
    @RequestMapping("/testPathVariable/{id}")
    public String testPathVariable(@PathVariable("id") Integer id) {
        System.out.println("id=" + id);
        return SUCCESS;
    }

    @RequestMapping("/testAntPath/*/abc")
    public String testAntPath() {
        System.out.println("testAntPath");
        return SUCCESS;
    }

    /**
     * 了解:可以使用params和headers来更加精确的映射请求。params和headers支持简单的表达式。
     * 
     * @return
     */
    @RequestMapping(value = "testParamsAndHeaders", params = { "username", "age!=10" }, headers = {
            "Accept-Language:en-US,zh;q=0.8" })
    public String testParamsAndHeaders() {
        System.out.println("testParamsAndHeaders");
        return SUCCESS;
    }

    /**
     * 使用method属性来指定请求方式
     * 
     * @return
     */
    @RequestMapping(value = "/testMethod", method = RequestMethod.POST)
    public String testMethod() {
        System.out.println("testMethod");
        return SUCCESS;
    }

    /**
     * 1.@RequestMapping 除了修饰方法,还可来修饰类
     * 2. 
     * 1).类定义处:提供初步的请求映射信息。相对于WEB应用的根目录
     * 2).方法处:提供进一步的细分映射信息。
     * 相对于类定义处的URL。若类定义处标注@RequestMapping,则方法处标记的URL相对于WEB应用的根目录
     * 
     * @return
     */
    @RequestMapping("/testRequestMapping")
    public String testRequestMapping() {
        System.out.println("testRequestMapping");
        return SUCCESS;
    }

}

index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>


    <a href="springmvc/testPathVariable/1">test PathVariable</a>
    <br />
    <a href="springmvc/testAntPath/asdasd/abc">testAntPath</a>
    <br />
    <a href="springmvc/testParamsAndHeaders?username=atyexx&age=10">testMethod</a>
    <br />
    <form action="springmvc/testMethod" method="post">
        <input type="submit" value="submit">
    </form>
    <br />
    <a href="springmvc/testMethod">testMethod</a>
    <br />
    <a href="springmvc/testRequestMapping">testRequestMapping</a>
    <br />
    <a href="helloworld">Hello</a>
</body>
</html>

上面的解释都很详细,一定要动手写,写了之后基本都会理解。

目录
相关文章
|
5天前
|
Java Spring 容器
如何解决spring EL注解@Value获取值为null的问题
本文探讨了在使用Spring框架时,如何避免`@Value(&quot;${xxx.xxx}&quot;)`注解导致值为null的问题。通过具体示例分析了几种常见错误场景,包括类未交给Spring管理、字段被`static`或`final`修饰以及通过`new`而非依赖注入创建对象等,提出了相应的解决方案,并强调了理解框架原理的重要性。
37 4
|
1天前
|
XML Java 数据格式
Spring从入门到入土(bean的一些子标签及注解的使用)
本文详细介绍了Spring框架中Bean的创建和使用,包括使用XML配置文件中的标签和注解来创建和管理Bean,以及如何通过构造器、Setter方法和属性注入来配置Bean。
17 9
Spring从入门到入土(bean的一些子标签及注解的使用)
|
5天前
|
Java Spring 容器
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
这篇文章讨论了在Spring Boot 3.2.1版本中,同名同类型的bean和@Service注解类之间冲突的问题得到了解决,之前版本中同名bean会相互覆盖,但不会在启动时报错,而在配置文件中设置`spring.main.allow-bean-definition-overriding=true`可以解决这个问题。
26 0
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
|
11天前
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
35 2
|
19天前
|
Java Spring 容器
Spring使用异步注解@Async正确姿势
Spring使用异步注解@Async正确姿势,异步任务,spring boot
|
18天前
|
XML Java 数据格式
spring复习03,注解配置管理bean
Spring框架中使用注解配置管理bean的方法,包括常用注解的标识组件、扫描组件、基于注解的自动装配以及使用注解后的注意事项,并提供了一个基于注解自动装配的完整示例。
spring复习03,注解配置管理bean
|
19天前
|
XML 前端开发 Java
控制spring框架注解介绍
控制spring框架注解介绍
|
3天前
|
XML Java 数据格式
Java-spring注解的作用
Java-spring注解的作用
11 0
|
8天前
|
监控 Java 数据库
Spring事务中的@Transactional注解剖析
通过上述分析,可以看到 `@Transactional`注解在Spring框架中扮演着关键角色,它简化了事务管理的复杂度,让开发者能够更加专注于业务逻辑本身。合理运用并理解其背后的机制,对于构建稳定、高效的Java企业应用至关重要。
21 0
|
1月前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit