如何解决如何使用Jetty在Spring Boot 2中启用目录列表
我有带有bootty服务器的spring boot 2服务器,需要公开其中一个要通过url访问的目录。如何使用码头和弹簧靴子2做到这一点?我需要公开的目录在
我尝试添加一个bean,但是当我尝试访问{basUrl} / desiredDirectory时返回404
@Bean
public ServletRegistrationBean servletRegistrationBean() {
final DefaultServlet servlet = new DefaultServlet();
final ServletRegistrationBean registrationBean = new ServletRegistrationBean(servlet,"/<desiredDirectory>/*");
registrationBean.addInitParameter("listings","true");
registrationBean.setLoadOnStartup(0);
return registrationBean;
}
此外,在访问this之后,我可以为tomcat实现相同的功能。但是我无法绕过码头实施。
@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
// customize the factory here
TomcatContextCustomizer tomcatContextCustomizer = new TomcatContextCustomizer() {
@Override
public void customize(Context context) {
context.setDocBase(
System.getProperty("user.dir"));
Wrapper defServlet = (Wrapper) context.findChild("default");
defServlet.addInitParameter("listings","true");
defServlet.addInitParameter("readOnly","true");
defServlet.addMapping("/" +desiredLocation + "*");
}
};
factory.addContextCustomizers(tomcatContextCustomizer);
}
}
但是,类似的码头实施尝试并没有给我相同的结果-实际上是404
@Component 公共类JettyWebServerCustomizer实现WebServerFactoryCustomizer {
@Override
public void customize(JettyServletWebServerFactory factory) {
// customize the factory here
JettyServerCustomizer jettyCustomizer = new JettyServerCustomizer() {
@Override
public void customize(Server server) {
DefaultServlet servlet = new DefaultServlet();
ServletRegistrationBean bean = new ServletRegistrationBean(servlet,System.getProperty("user.dir"));
bean.addInitParameter("listings","true");
bean.addUrlMappings("/" + desiredLocation + "/*");
server.addBean(bean);
}
};
factory.addServerCustomizers(tomcatContextCustomizer);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。