Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jetty 7-禁用根文件夹中的目录列表/_Java_Jetty - Fatal编程技术网

Java Jetty 7-禁用根文件夹中的目录列表/

Java Jetty 7-禁用根文件夹中的目录列表/,java,jetty,Java,Jetty,我有很多生产服务器在每个服务器上运行RMI应用程序,还有4个以上的Java Web应用程序,例如: Server A: RMI app by JNLP file; webapp_1 (connected by RMI with local RMI app); webapp_2 (connected by RMI with local RMI app); webapp_3 (connected by RMI with local RMI app); webapp_4 (connected by R

我有很多生产服务器在每个服务器上运行RMI应用程序,还有4个以上的Java Web应用程序,例如:

Server A:
RMI app by JNLP file;
webapp_1 (connected by RMI with local RMI app);
webapp_2 (connected by RMI with local RMI app);
webapp_3 (connected by RMI with local RMI app);
webapp_4 (connected by RMI with local RMI app);

Server B:
...the same..OK
所有用户在默认上下文中直接通过8080端口(直接到Jetty)访问此服务器,例如“主区域”,在该区域,用户可以通过一些html链接访问所有应用程序(RMI应用程序、webapp_1、webapp_2等)

当某些用户访问“/”页面时,例如:

www.foo.com:8080/

main-area/
webapp_1/
webapp_2/
webapp_3/
...
Jetty返回一个包含所有应用程序的列表(就像Apache的目录列表一样)


是否有方法阻止它,或重定向到“主区域”上下文?

为该位置创建index.html文件

这将被提供,因此不需要生成列表


然后,您可以在其中放置一个简单的重定向,如果浏览器不尊重重定向,还可以添加一个普通链接

为该位置创建index.html文件

这将被提供,因此不需要生成列表

然后,您可以在其中放置一个简单的重定向,如果浏览器不尊重重定向,还可以添加一个普通链接

多亏了by解决方案:

我使用一个index.jsp创建了一个基本的动态Web应用程序,其中包含jsp HTML/JS重定向:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="1;url=bar/index.jsp">
        <script type="text/javascript">
            window.location.href = "bar/index.jsp"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        If you are not redirected automatically, follow the <a href='bar/index.jsp'>main area</a>
    </body>
</html>

window.location.href=“bar/index.jsp”
页面重定向
如果没有自动重定向,请按照
我部署为“ROOT.war”,并在“…jetty/contexts/”中配置了一个“ROOT.xml”:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/ROOT.war</Set>
</Configure>

/
/webapps/ROOT.war
多亏了by解决方案:

我使用一个index.jsp创建了一个基本的动态Web应用程序,其中包含jsp HTML/JS重定向:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="1;url=bar/index.jsp">
        <script type="text/javascript">
            window.location.href = "bar/index.jsp"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        If you are not redirected automatically, follow the <a href='bar/index.jsp'>main area</a>
    </body>
</html>

window.location.href=“bar/index.jsp”
页面重定向
如果没有自动重定向,请按照
我部署为“ROOT.war”,并在“…jetty/contexts/”中配置了一个“ROOT.xml”:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/ROOT.war</Set>
</Configure>

/
/webapps/ROOT.war

不匹配的webapp上下文列表作为

,以保持与Servlet规范的一致性

禁用DefaultHandler:

如果您只需要一个简单的404,而DefaultHandler不提供任何信息,那么只需在
${jetty.home}/etc/jetty.xml


显示
“/”
(根)上下文的静态内容:

如果希望根上下文
“/”
(root)显示其他内容,请创建
${jetty.home}/webapps/root
目录,并在其中放置index.html文件

[jetty-distribution-7.6.13.v20130916]$cat webapps/ROOT/index.html
这是根
这将部署一个静态内容webapp,您可以将任何想要的内容、图像、css等放到其中

自动将
“/”
(根目录)重定向到另一个路径:

注意:这不会与上面的
${jetty.home}/webapps/ROOT
选项、his this选项或that选项同时工作,但不能同时工作

如果希望Jetty自动重定向到另一个URL,请使用重写处理程序

确保已启用“重写”选项,并包含一组重写规则xml

[jetty-distribution-7.6.13.v20130916]$grep rewrite start.ini
选项=服务器、jsp、jmx、资源、websocket、ext、重写
etc/jetty-rewrite.xml
接下来,您将要定义您的重写规则

${jetty.home}/etc/jetty rewrite.xml
的内容,用于将访问从
“/”
重定向到
“/test/”


真的
假的
请求路径
^/$
/试验/

不匹配的webapp上下文列表作为

,以保持与Servlet规范的一致性

禁用DefaultHandler:

如果您只需要一个简单的404,而DefaultHandler不提供任何信息,那么只需在
${jetty.home}/etc/jetty.xml


显示
“/”
(根)上下文的静态内容:

如果希望根上下文
“/”
(root)显示其他内容,请创建
${jetty.home}/webapps/root
目录,并在其中放置index.html文件

[jetty-distribution-7.6.13.v20130916]$cat webapps/ROOT/index.html
这是根
这将部署一个静态内容webapp,您可以将任何想要的内容、图像、css等放到其中

自动将
“/”
(根目录)重定向到另一个路径:

注意:这不会与上面的
${jetty.home}/webapps/ROOT
选项、his this选项或that选项同时工作,但不能同时工作

如果希望Jetty自动重定向到另一个URL,请使用重写处理程序

确保已启用“重写”选项,并包含一组重写规则xml

[jetty-distribution-7.6.13.v20130916]$grep rewrite start.ini
选项=服务器、jsp、jmx、资源、websocket、ext、重写
etc/jetty-rewrite.xml
接下来,您将要定义您的重写规则

${jetty.home}/etc/jetty rewrite.xml
的内容,用于将访问从
“/”
重定向到
“/test/”


真的
假的
请求路径
^/$
/试验/

制作一个包含index.html和jetty配置文件的war文件,告诉它