我是Spring Boot和React的开发新手。我正在尝试开发具有多种形式的基于Web的向导应用程序。使用Spring Boot作为后端,使用React作为前端框架。我想提供一个登录表单,以及向导任务的多种表单。 不幸的是,我无法使Spring Boot自动将html文件提供给URI。例如, test.html 显示在http://localhost:8080/test 上。 那么如何将(React-)html文件链接到Spring Boot的URI?
我已经成功地将React与Spring Boot结合在一起,以便将带有React内容的 index.html 显示在http://localhost:8080上。因此,会自动找到 index.html 并将其映射到路径“ /”。 index.html 与其他'.html'文件一起位于名为 public 的React文件夹中。但是Spring Boot似乎只能自动识别 index.html 。我使用了错误的文件夹吗?
- public
+ index.html
+ login.html
+ publicNoSecurity.html
+ ...
- src
+ main
+ java
+ com
* ressources
- application.properties
* webwizard.connection
- SelfServiceWebwizard.java
- index.tsx
- index.css
- ...
例如,当我打开publicNoSecurity时,出现404错误: no controller -> 404
我还尝试用URI实现带有Requestmappings的Controller-Class。但这也没有帮助:
@Controller
public class DefaultController
{
@RequestMapping("/login")
public String login() {
return "login";
}
@RequestMapping("/publicNoSecurity")
public String publicNoSecurity() {
return "publicNoSecurity";
}
}
使用控制器时,出现500错误和一个异常: with controller -> 500
2018-07-12 08:35:10.103错误13560 --- [io-8080-exec-10] o.a.c.c.C。[。[。[/]。[dispatcherServlet]:的Servlet.service() 路径[]中的servlet [dispatcherServlet]抛出异常 [圆形视图路径[publicNoSecurity]:将分派回 当前处理程序URL [/ publicNoSecurity]。检查您的ViewResolver 设定! (提示:由于以下原因,这可能是未指定视图的结果: 默认视图名称生成。)]根本原因
javax.servlet.ServletException:循环视图路径[publicNoSecurity]: 将分派回当前的处理程序URL [/ publicNoSecurity] 再次。检查您的ViewResolver设置! (提示:这可能是由于 由于默认的视图名称生成,因此未指定的视图。) org.springframework.web.servlet.view.InternalResourceView.prepareForRendering(InternalResourceView.java:209) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:147) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:314) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1325) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1069) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1008) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866) 〜[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
您可以在github上查看完整的代码:https://github.com/The-Taskmanager/SelfServiceWebwizard
答案 0 :(得分:0)
由我自己解决。我错过了返回值中的“ .html”:
@Controller
public class DefaultController
{
@RequestMapping("/login")
public String login() {
return "login.html";
}
@RequestMapping("/publicNoSecurity")
public String publicNoSecurity() {
return "publicNoSecurity.html";
}
}