簡體   English   中英

Spring MVC:URL模式

[英]Spring MVC : URL Pattern

這是我的web.xml

<servlet>
      <servlet-name>Learn</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>Learn</servlet-name>
      <url-pattern>/learn/*</url-pattern>
   </servlet-mapping>

如果我更改此代碼

<url-pattern>/learn/*</url-pattern>

<url-pattern>/learn/abc/</url-pattern>

我可以點擊我的控制器代碼

@Controller
@RequestMapping(value = "/learn")
public class ControllerClass
{
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String callRequest(ModelMap model)
    {
        return "index";
    }

    @RequestMapping(value = "/abc/", method = RequestMethod.GET)
    public String personController(ModelMap model)
    {
        return "welcome";
    }
}

但我也想打第一種方法,否則我將添加更多方法,這是我無法實現的

/learn/abc/

在網址映射中。

所以請幫我

pom.xml

<dependencies>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- spring-context which provides core functionality -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>

        <!-- The spring-aop module provides an AOP Alliance-compliant aspect-oriented 
            programming implementation allowing you to define -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>

        <!-- The spring-webmvc module (also known as the Web-Servlet module) contains 
            Spring’s model-view-controller (MVC) and REST Web Services implementation 
            for web applications -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>

        <!-- The spring-web module provides basic web-oriented integration features 
            such as multipart file upload functionality and the initialization of the 
            IoC container using Servlet listeners and a web-oriented application context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.1.6.RELEASE</version>
        </dependency>
    </dependencies>

請讓我知道我是否錯過任何依賴

使用此url-pattern <url-pattern>/learn/*</url-pattern>配置,要執行您的方法,URL路徑將為: / learn / learn

web.xml上的url-pattern屬性就像spring的servlet的基本路徑一樣。 因此,一個不錯的選擇是將url-pattern更改為/ *,如下所示:

<url-pattern>/*</url-pattern>

或者,如果您需要一些基本路徑,請將url模式更改為如下形式:/ basepath / *

要使用您的方法,您需要使用路徑URL: / basepath / learn

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM