首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring : URL模式

Spring : URL模式
EN

Stack Overflow用户
提问于 2017-04-09 19:43:54
回答 1查看 1.1K关注 0票数 0

这是我的web.xml

代码语言:javascript
复制
<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>

如果我更改这段代码

代码语言:javascript
复制
<url-pattern>/learn/*</url-pattern>

代码语言:javascript
复制
<url-pattern>/learn/abc/</url-pattern>

我可以按我的控制器代码,它是

代码语言:javascript
复制
@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";
    }
}

但我也想点击第一个方法,否则我会添加更多的方法,这是我无法实现的。

代码语言:javascript
复制
/learn/abc/

在url地图上。

所以请帮帮我

pom.xml

代码语言:javascript
复制
<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>

如果我错过了任何依赖,请告诉我

EN

回答 1

Stack Overflow用户

发布于 2017-04-09 20:23:54

使用这个url模式的<url-pattern>/learn/*</url-pattern>配置,要命中您的方法,url路径将是:/学习/学习

web.xml上的url模式像spring servlet的basepath一样工作。因此,一个很好的选择是将url模式更改为/*,如下所示:

代码语言:javascript
复制
<url-pattern>/*</url-pattern>

或者,如果您希望使用basepath,请将url模式更改为: /basepath/*

要命中您的方法,需要使用路径url:/basepath/learn

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43311108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档