【问题标题】:How do I map my servlet correctly?如何正确映射我的 servlet?
【发布时间】:2013-10-29 19:45:11
【问题描述】:

我有这两个控制器:

@Controller
@RequestMapping("/controllerPath")
public class MyController {

    @RequestMapping("/sayHello")
    public String sayHello(Model model){
        ...
    }

}

@Controller
@RequestMapping("/restControllerPath")
public class RestController {

    @RequestMapping (value = "importantObject", method = RequestMethod.GET)
    @ResponseBody
    public  VeryImportantlClass getInformation(){
        ...
    }
}

第一个控制器渲染到jsp

第二个返回 JSON。

因此我想为这个控制器设置不同的配置

我在 web.xml 中写了以下内容:

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

  <servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/controllerPath/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>mvc-dispatcher-rest</servlet-name>
        <url-pattern>/restControllerPath/*</url-pattern>
  </servlet-mapping>

当我从浏览器发送 http 请求时,我看到 404

如果我只对一个 servlet 使用这样的样式(如下):

<servlet-mapping>
            <servlet-name>mvc-dispatcher-rest</servlet-name>
                <url-pattern>/</url-pattern>
          </servlet-mapping>
  • 控制器方法调用,我看到了很好的结果。

如何使用第一种样式重写它?

【问题讨论】:

  • 上一个问题有什么变化?
  • 另一种表述。我希望更清楚
  • 使用这两个 servlet 的原因是什么?
  • 不同的*-servlet.xml
  • 和关于映射的问题,你的建议 - 题外话

标签: java servlets spring-mvc configuration


【解决方案1】:

mvc-dispatchermvc-dispatcher-rest 都在加载同一个 servlet。

因此,您不需要两个条目。只需使用单个条目并将根上下文 / 映射到 servlet。

【讨论】:

  • 但一个使用 mvc-dispatcher-servlet.xml 其他 mvc-dispatcher-rest-servlet.xml
  • 您应该能够合并 xml 文件。有问题吗?
  • 我想要 2 个不同的 xml 文件。
  • 我认为模式有误
  • 是的,但是这次尝试失败了
猜你喜欢
  • 2015-02-14
  • 1970-01-01
  • 2017-02-05
  • 2015-02-07
  • 2015-06-09
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 2015-03-01
相关资源
最近更新 更多