如何解决spring-boot-2,在没有控制器的情况下提供普通的旧jsp页面?
我正在尝试将旧的旧版应用程序从JavaEE转换为spring-boot-2。
实际上如何在没有控制器的情况下提供普通的旧JSP页面?
我已经一遍又一遍地进行搜索,听起来很奇怪,我无法弄清楚,也找不到一个实际可行的简单示例。尝试访问JSP时,我只会不断收到“ 404 Not Found”消息。
我正在使用maven,将其打包为WAR文件,并且可以以“爆炸”(似乎是最好的选择)运行它,但是仍然无法使其正常工作。
我不明白这怎么可能这么难,在spring-boot-2中不再可能这样做吗?
任何人都可以向我指出一个可行的例子吗? 或详细说明如何?
编辑:这是Spring文档所说的。 JSP局限性:
“对于Jetty和Tomcat,如果使用战争包装,它应能工作。” 发件人:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
但是如何?这就是我要找出的...
解决方法
问题在于,默认情况下,Spring Boot会接管世界,即它使用DispatcherServlet
的servlet映射注册/
,从而高举*.jsp
的servlet容器处理文件。
要允许Servlet容器正常处理JSP,我们需要确保Spring DispatcherServlet
不会拦截它们,例如确保只处理带有某些后缀或某些前缀的请求。
例如如果没有JSP路径以/api/
开头,那么我们可以将其用于DispatcherServlet
,即,对/api/*
的任何请求将由Spring Boot处理,而其他任何请求将由Spring Boot处理。 servlet容器。
为此,请将以下内容添加到application.properties
文件中:
spring.mvc.servlet.path = /api
,
您是否在某个地方声明了servlet映射? 我相信您需要一个切入点,否则只是一个指向无处的死文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。