java - Spring MVC : How url mapping was done before use of @RequestMapping() in spring framework?

标签 java spring spring-mvc request-mapping

我现在正在为新项目学习 Spring MVC。在那里我遇到了 @RequestMapping 注释,用于了解如何将请求与 URL 映射。

我想了解,在不使用此注释的情况下,请求和 URL 是如何映射的? 它是如何在 XML 文件中配置的?

Controller 代码:

@Controller
public class HelloController {

    @RequestMapping(value = "/greeting")
    public String sayHello(Model model){
        model.addAttribute("greeting","Helloworld");
        return "hello";
    }
}

servlet-config.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:osgi="http://www.springframework.org/schema/osgi" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

        <bean name="/greeting.html" class="com.pj.controller.HelloController"/>

        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
</beans>

web.xml

<servlet>
  <servlet-name>fitTrackerServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/config/servlet-config.xml</param-value>
  </init-param>
</servlet>

<servlet-mapping>
  <servlet-name>fitTrackerServlet</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

最佳答案

看看这个:Difference between the annotations @GetMapping and @RequestMapping(method = RequestMethod.GET)

现在,

  1. RequestMapping 用于映射 Controller 的端点。
  2. 对于 http 动词,有特定的映射注释,例如
    • @Getmapping,
    • @PostMapping,
    • @PutMapping...

关于java - Spring MVC : How url mapping was done before use of @RequestMapping() in spring framework?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59564987/

相关文章:

java - 使用多对一映射编写插入 HQL 查询

java - 应用程序范围记录器的最佳实践

java - Spring:在 Controller post请求方法中使用@Valid注释验证@Entity字段

java - HTTP - 500 组织.springframework.web.util.NestedServletException : Handler processing failed;

java - Spring MVC - 如何将继承类型从jsp传递到 Controller

java - HystrixCommand注解导致Session关闭错误

java - 通过 Windows 身份验证连接到 SQL Server,并使用 Java 提供凭据

java.lang.ClassNotFoundException : net. sourceforge.jtds.jdbc.Drive

java - 为什么在 Jenkins 部署期间 JUnit 测试会在中午 12 点到 1 点之间失败?

java - @Value 不在扩展其他类的类中工作