할 수 있는 방법을 호스트.jar 파일 내부에 직접 전쟁에서 Wildfly/JBoss?
문제
그래서 나는 아주 간단한 질문입니다.했어요 매우 간단하다.전쟁일 것입니다 행복하게 호스트는 모든 유형의 파일을 나에서 제외.jar 파일입니다.
여기 나의.전쟁 file:
WEB-INF/web.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" />
META-INF/나타납니다.MF:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.8.0_05-b13 (Oracle Corporation)
다음과 같은 네 가지 파일이 있습니다.
index.html
folder/jar.jar
folder/jar.zip
folder/index.html
나 배포하는 내 전쟁을 wildfly-8.1.0 의 서버로"testwar.전쟁"이다.을 때 나는 그렇게 액세스할 수 있는 모든 파일을 제외하고 folder/jar.jar 를 통해 완벽하게 정상적인 URL:
http://localhost:8080/testwar/
http://localhost:8080/testwar/folder/
http://localhost:8080/testwar/folder/jar.zip
모든 사람들의 작동합니다.지
http://localhost:8080/testwar/folder/jar.jar
404.
못한 이유를 알아 jar 파일이 보이지 않습니다,또 그것을 해결하는 방법.어떤 생각?
해결책
기본 servlet 의 Wildfly/물러 목록이 허용되고 허용 확장자에서 구성할 수 있는 web.xml
을 통해 init 매개 변수입니다. jar
은 허용되지 않는 기본적으로 합니다.
에 다음을 추가하십시오 web.xml
사 jar
확장자:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>io.undertow.servlet.handlers.DefaultServlet</servlet-class>
<init-param>
<param-name>default-allowed</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowed-extensions</param-name>
<param-value>jar</param-value>
</init-param>
<init-param>
<param-name>disallowed-extensions</param-name>
<param-value>exe,bat,sh</param-value>
</init-param>
</servlet>
다른 팁
버전 8.1.0의 기본적으로 기본적으로 .jar 파일을 제공하는 것을 거부합니다.Web.xml에 다음 블록을 추가하여 해당 버전을 무시해야합니다 (기본적으로 "jar"은 허용되지 않는 확장자입니다).
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>io.undertow.servlet.handlers.DefaultServlet</servlet-class>
<init-param>
<param-name>allowed-extensions</param-name>
<param-value>jar, js, css, png, jpg, gif, html, htm, txt, pdf, jpeg, xml, zip</param-value>
</init-param>
<init-param>
<param-name>disallowed-extensions</param-name>
<param-value>class, war</param-value>
</init-param>
</servlet>
. 제휴하지 않습니다 StackOverflow