首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring :在DispatcherServlet中没有找到名称为“appServlet”的URI [/myproject/]的HTTP请求映射

Spring :在DispatcherServlet中没有找到名称为“appServlet”的URI [/myproject/]的HTTP请求映射
EN

Stack Overflow用户
提问于 2015-04-12 12:54:50
回答 1查看 3.4K关注 0票数 0

在使用Spring安全性设置默认安全页(内存中)后,我会收到以下错误:

代码语言:javascript
复制
No mapping found for HTTP request with URI [/myproject/] in DispatcherServlet with name 'appServlet'

更新:通过将组件扫描(它扫描我的安全包)从servlet-context.xml移到root-context.xml,解决了这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 13:18:32

您的错误消息告诉No mapping found for HTTP request with URI [/addressbook/]。换句话说,您还没有映射到URL /addressbook的请求映射。

如果您希望您的项目有一个基本的URL作为/addressbook,那么更改web.xml如下所示

代码语言:javascript
复制
<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    ....
</servlet>
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/addressbook/*</url-pattern>
</servlet-mapping>

控制器

代码语言:javascript
复制
@Controller
public class HomeController {
    @RequestMapping(value="/", method = RequestMethod.GET)
    public String home(Locale locale, Model model) {
        return "home";
    }
}

然后转到浏览器并键入以下内容。结束时应该有一个/

http://hostname:port/addressbook/

但是,如果您想要更改上下文根,则不能通过web.xml进行此操作。上下文根不是标准web.xml文件的一部分。您可以通过在eclipse中执行以下操作来更改此操作

  1. 在项目属性中,单击Web Project Settings (假设您在动态web项目中)。唯一的配置值是“上下文根:”
  2. 将“上下文根”更改为/addressbook
  3. 将web.xml url-模式更改为<url-pattern>/</url-pattern>
  4. 重建
  5. 将项目从tomcat中删除
  6. 重新部署。

引用自digitaljoel

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

https://stackoverflow.com/questions/29589692

复制
相关文章

相似问题

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