gpt4 book ai didi

java - Spring MVC URL 映射

转载 作者:行者123 更新时间:2023-12-01 15:18:37 24 4
gpt4 key购买 nike

嗨,我正在创建一个 spring mvc 应用程序。 spring 上下文似乎将 Controller 方法映射到错误的 url。

我有以下 Controller :

HelloWorld Controller

package com.springapp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/hello")
public class HelloWorldController {

@RequestMapping(method = RequestMethod.GET)
public ModelAndView helloWorld() {

String message = "Hello World, Spring 3.0!";
return new ModelAndView("hello", "message", message);
}
}

联系人 Controller

package com.springapp.controller;

import com.springapp.form.Contact;
import com.springapp.service.ContactService;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
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;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/contacts")
public class ContactsController {

@Autowired
private ContactService contactService;

@RequestMapping(method = RequestMethod.GET)
public String listContacts(Model map) {

map.addAttribute("contact", new Contact());
map.addAttribute("contactList", contactService.listContacts());

return "contact";
}

@RequestMapping(value="{contactId}", method=RequestMethod.GET)
public String showContact(@PathVariable("contactId") Integer contactId) {

contactService.getContact(contactId);
return "redirect:/contacts";
}

@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addContact(@ModelAttribute("contact") Contact contact, BindingResult result) {

contactService.addContact(contact);
return "redirect:/contacts";
}

@RequestMapping("/{contactId}/delete")
public String deleteContact(@PathVariable("contactId") Integer contactId) {

contactService.removeContact(contactId);
return "redirect:/contacts";
}
}

但是 spring 上下文将它们映射为:

INFO: Mapped URL path [/contacts/new] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/new.*] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/new/] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/addContact] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/addContact.*] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/addContact/] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/delete/{contactId}] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/delete/{contactId}.*] onto handler 'contactsController'
INFO: Mapped URL path [/contacts/delete/{contactId}/] onto handler 'contactsController'
INFO: Mapped URL path [/hello] onto handler 'helloWorldController'
INFO: Mapped URL path [/hello.*] onto handler 'helloWorldController'
INFO: Mapped URL path [/hello/] onto handler 'helloWorldController'

从哪里获取这些 newaddContact 模式?此外,映射 /contacts 也丢失。

最佳答案

您的问题可能取决于旧版本应用程序中的映射。尝试更新Tomcat中部署的版本。

如果您使用 Eclipse 来运行/调试您的项目,请尝试清理/编译您的项目,而不是在 Tomcat 中部署新版本。

关于java - Spring MVC URL 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com