使用Spring安全性(在内存中)设置默认安全页面后,收到以下错误:
No mapping found for HTTP request with URI [/myproject/] in DispatcherServlet with name 'appServlet'
更新: 通过将组件扫描(扫描我的安全包)从servlet-context.xml移动到root-context.xml来解决此问题
答案 0 :(得分:1)
你的错误消息告诉No mapping found for HTTP request with URI [/addressbook/]
。换句话说,您尚未映射URL /addressbook
如果您希望项目的基本网址为/addressbook
,请按以下方式更改web.xml
<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>
控制器
@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文件的一部分。您可以通过在日食中执行以下操作来更改此操作
Web Project Settings
(假设您处于动态Web项目中。)唯一的配置值是&#34;上下文根:&#34; /addressbook
<url-pattern>/</url-pattern>