我已经将Broadleaf演示站点配置为直接从eclipse运行tomcat服务器(而不是使用ant任务)。 我试图访问登录,注册和购物车页面,但链接被重定向。 因为在tomcat的demosite中,登录页面必须在/ mycompany / login,当我点击登录链接时,我被重定向到/ mycompany / mycompany / login。

我试图直接点击URL http://localhost:8181/mycompany/login但它也被重定向/更改为http://localhost:8181/mycompany/mycompany/login 点击注册和购物车链接也会重复同样的问题。

在LoginController中,我可以看到请求映射为“@RequestMapping(”/ mycompany / login“)”。

在日志中,我可以看到“在具有名称'mycompany'的DispatcherServlet中找不到具有URI [/ mycompany / mycompany / login]的HTTP请求的映射”,这是真的,因为我们没有此URL的映射。

任何指向我可以查找错误的指针。

===============>>#1 票数:3 已采纳

我假设你实际上看到它重定向到https://localhost:8081 (而不是8181http )。

这些URL专门在applicationContext-security.xml中标记为需要SSL:

<sec:intercept-url pattern="/register*" requires-channel="https" />
<sec:intercept-url pattern="/login*/**" requires-channel="https" />
<sec:intercept-url pattern="/account/**" access="ROLE_USER" requires-channel="https" />
<sec:intercept-url pattern="/checkout/**" requires-channel="https" />
<sec:intercept-url pattern="/null-checkout/**" requires-channel="https" />
<sec:intercept-url pattern="/null-giftcard/**" requires-channel="https" />
<sec:intercept-url pattern="/confirmation/**" requires-channel="https" />

如果你对它们进行评论(或删除它们),那么你将不再看到重定向。 另一种方法是在Tomcat实例上配置SSL。

此外,您在LoginController提到的@RequestMapping应该只是@RequestMapping("/login") 由于Spring URL忽略它,因此不需要包含/mycompany部分(我假设是Tomcat上下文)。

  ask by Prabhat translate from so

未解决问题?本站智能推荐: