增加初始版本
diff --git a/webapps/host-manager/META-INF/context.xml b/webapps/host-manager/META-INF/context.xml
new file mode 100644
index 0000000..c31d376
--- /dev/null
+++ b/webapps/host-manager/META-INF/context.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+<Context antiResourceLocking="false" privileged="true" >

+  <!--

+    Remove the comment markers from around the Valve below to limit access to

+    the host-manager application to clients connecting from localhost

+  -->

+  <!--

+  <Valve className="org.apache.catalina.valves.RemoteAddrValve"

+         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

+  -->

+</Context>
\ No newline at end of file
diff --git a/webapps/host-manager/WEB-INF/jsp/401.jsp b/webapps/host-manager/WEB-INF/jsp/401.jsp
new file mode 100644
index 0000000..dc608d9
--- /dev/null
+++ b/webapps/host-manager/WEB-INF/jsp/401.jsp
@@ -0,0 +1,70 @@
+<%--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+--%>

+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

+<html>

+ <head>

+  <title>401 Unauthorized</title>

+  <style type="text/css">

+    <!--

+    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}

+    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

+    PRE, TT {border: 1px dotted #525D76}

+    A {color : black;}A.name {color : black;}

+    -->

+  </style>

+ </head>

+ <body>

+   <h1>401 Unauthorized</h1>

+   <p>

+    You are not authorized to view this page. If you have not changed

+    any configuration files, please examine the file

+    <tt>conf/tomcat-users.xml</tt> in your installation. That

+    file must contain the credentials to let you use this webapp.

+   </p>

+   <p>

+    For example, to add the <tt>admin-gui</tt> role to a user named

+    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the

+    config file listed above.

+   </p>

+<pre>

+&lt;role rolename="admin-gui"/&gt;

+&lt;user username="tomcat" password="s3cret" roles="admin-gui"/&gt;

+</pre>

+   <p>

+    Note that for Tomcat 7 onwards, the roles required to use the host manager

+    application were changed from the single <tt>admin</tt> role to the

+    following two roles. You will need to assign the role(s) required for

+    the functionality you wish to access.

+   </p>

+    <ul>

+      <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>

+      <li><tt>admin-script</tt> - allows access to the text interface</li>

+    </ul>

+   <p>

+    The HTML interface is protected against CSRF but the text interface is not.

+    To maintain the CSRF protection:

+   </p>

+   <ul>

+    <li>Users with the <tt>admin-gui</tt> role should not be granted the

+       <tt>admin-script</tt> role.</li>

+    <li>If the text interface is accessed through a browser (e.g. for testing

+        since this interface is intended for tools not humans) then the browser

+        must be closed afterwards to terminate the session.</li>

+   </ul>

+ </body>

+

+</html>

diff --git a/webapps/host-manager/WEB-INF/jsp/403.jsp b/webapps/host-manager/WEB-INF/jsp/403.jsp
new file mode 100644
index 0000000..60f998a
--- /dev/null
+++ b/webapps/host-manager/WEB-INF/jsp/403.jsp
@@ -0,0 +1,84 @@
+<%--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+--%>

+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

+<html>

+ <head>

+  <title>403 Access Denied</title>

+  <style type="text/css">

+    <!--

+    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}

+    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

+    PRE, TT {border: 1px dotted #525D76}

+    A {color : black;}A.name {color : black;}

+    -->

+  </style>

+ </head>

+ <body>

+   <h1>403 Access Denied</h1>

+   <p>

+    You are not authorized to view this page.

+   </p>

+   <p>

+    If you have already configured the Host Manager application to allow access

+    and you have used your browsers back button, used a saved book-mark or

+    similar then you may have triggered the cross-site request forgery (CSRF)

+    protection that has been enabled for the HTML interface of the Host Manager

+    application. You will need to reset this protection by returning to the

+    <a href="<%=request.getContextPath()%>/html">main Host Manager page</a>.

+    Once you return to this page, you will be able to continue using the Host

+    Manager appliction's HTML interface normally. If you continue to see this

+    access denied message, check that you have the necessary permissions to

+    access this application.

+   </p>

+   <p> If you have not changed

+    any configuration files, please examine the file

+    <tt>conf/tomcat-users.xml</tt> in your installation. That

+    file must contain the credentials to let you use this webapp.

+   </p>

+   <p>

+    For example, to add the <tt>admin-gui</tt> role to a user named

+    <tt>tomcat</tt> with a password of <tt>s3cret</tt>, add the following to the

+    config file listed above.

+   </p>

+<pre>

+&lt;role rolename="admin-gui"/&gt;

+&lt;user username="tomcat" password="s3cret" roles="admin-gui"/&gt;

+</pre>

+   <p>

+    Note that for Tomcat 7 onwards, the roles required to use the host manager

+    application were changed from the single <tt>admin</tt> role to the

+    following two roles. You will need to assign the role(s) required for

+    the functionality you wish to access.

+   </p>

+    <ul>

+      <li><tt>admin-gui</tt> - allows access to the HTML GUI</li>

+      <li><tt>admin-script</tt> - allows access to the text interface</li>

+    </ul>

+   <p>

+    The HTML interface is protected against CSRF but the text interface is not.

+    To maintain the CSRF protection:

+   </p>

+   <ul>

+    <li>Users with the <tt>admin-gui</tt> role should not be granted the

+       <tt>admin-script</tt> role.</li>

+    <li>If the text interface is accessed through a browser (e.g. for testing

+        since this interface is intended for tools not humans) then the browser

+        must be closed afterwards to terminate the session.</li>

+   </ul>

+ </body>

+

+</html>

diff --git a/webapps/host-manager/WEB-INF/jsp/404.jsp b/webapps/host-manager/WEB-INF/jsp/404.jsp
new file mode 100644
index 0000000..2d364d3
--- /dev/null
+++ b/webapps/host-manager/WEB-INF/jsp/404.jsp
@@ -0,0 +1,61 @@
+<%--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+--%>

+<%@ page import="org.apache.catalina.util.RequestUtil" %>

+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

+<html>

+ <head>

+  <title>404 Not found</title>

+  <style type="text/css">

+    <!--

+    BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;font-size:12px;}

+    H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

+    PRE, TT {border: 1px dotted #525D76}

+    A {color : black;}A.name {color : black;}

+    -->

+  </style>

+ </head>

+ <body>

+   <h1>404 Not found</h1>

+   <p>

+    The page you tried to access

+    (<%=RequestUtil.filter((String) request.getAttribute(

+            "javax.servlet.error.request_uri"))%>)

+    does not exist.

+   </p>

+   <p>

+    The Host Manager application has been re-structured for Tomcat 7 onwards and

+    some URLs have changed. All URLs used to access the Manager application

+    should now start with one of the following options:

+   </p>

+    <ul>

+      <li><%=request.getContextPath()%>/html for the HTML GUI</li>

+      <li><%=request.getContextPath()%>/text for the text interface</li>

+    </ul>

+   <p>

+    Note that the URL for the text interface has changed from

+    &quot;<%=request.getContextPath()%>&quot; to

+    &quot;<%=request.getContextPath()%>/text&quot;.

+   </p>

+   <p>

+    You probably need to adjust the URL you are using to access the Host Manager

+    application. However, there is always a chance you have found a bug in the

+    Host Manager application. If you are sure you have found a bug, and that the

+    bug has not already been reported, please report it to the Apache Tomcat

+    team.

+   </p>

+ </body>

+</html>

diff --git a/webapps/host-manager/WEB-INF/web.xml b/webapps/host-manager/WEB-INF/web.xml
new file mode 100644
index 0000000..01716c8
--- /dev/null
+++ b/webapps/host-manager/WEB-INF/web.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+

+<web-app 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_3_0.xsd"

+  version="3.0"

+  metadata-complete="true">

+

+  <display-name>Tomcat Host Manager Application</display-name>

+  <description>

+    A scriptable host management web application for the Tomcat Web Server;

+    Manager lets you view, create and remove virtual hosts.

+  </description>

+

+  <servlet>

+    <servlet-name>HostManager</servlet-name>

+    <servlet-class>org.apache.catalina.manager.host.HostManagerServlet</servlet-class>

+    <init-param>

+      <param-name>debug</param-name>

+      <param-value>2</param-value>

+    </init-param>

+  </servlet>

+  <servlet>

+    <servlet-name>HTMLHostManager</servlet-name>

+    <servlet-class>org.apache.catalina.manager.host.HTMLHostManagerServlet</servlet-class>

+    <init-param>

+      <param-name>debug</param-name>

+      <param-value>2</param-value>

+    </init-param>

+  </servlet>

+

+  <filter>

+    <filter-name>SetCharacterEncoding</filter-name>

+    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>

+    <init-param>

+      <param-name>encoding</param-name>

+      <param-value>UTF-8</param-value>

+    </init-param>

+  </filter>

+

+  <filter-mapping>

+    <filter-name>SetCharacterEncoding</filter-name>

+    <url-pattern>/*</url-pattern>

+  </filter-mapping>

+

+  <filter>

+    <filter-name>CSRF</filter-name>

+    <filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>

+    <init-param>

+      <param-name>entryPoints</param-name>

+      <param-value>/html,/html/,/html/list,/index.jsp</param-value>

+    </init-param>

+  </filter>

+

+  <filter-mapping>

+    <filter-name>CSRF</filter-name>

+    <servlet-name>HTMLHostManager</servlet-name>

+  </filter-mapping>

+

+  <!-- Define the Manager Servlet Mapping -->

+  <servlet-mapping>

+    <servlet-name>HostManager</servlet-name>

+    <url-pattern>/text/*</url-pattern>

+  </servlet-mapping>

+  <servlet-mapping>

+    <servlet-name>HTMLHostManager</servlet-name>

+    <url-pattern>/html/*</url-pattern>

+  </servlet-mapping>

+

+  <!-- Define a Security Constraint on this Application -->

+  <security-constraint>

+    <web-resource-collection>

+      <web-resource-name>HostManager commands</web-resource-name>

+      <url-pattern>/text/*</url-pattern>

+    </web-resource-collection>

+    <auth-constraint>

+       <!-- NOTE:  This role is not present in the default users file -->

+       <role-name>admin-script</role-name>

+    </auth-constraint>

+  </security-constraint>

+  <security-constraint>

+    <web-resource-collection>

+      <web-resource-name>HTMLHostManager commands</web-resource-name>

+      <url-pattern>/html/*</url-pattern>

+    </web-resource-collection>

+    <auth-constraint>

+       <!-- NOTE:  This role is not present in the default users file -->

+       <role-name>admin-gui</role-name>

+    </auth-constraint>

+  </security-constraint>

+

+  <!-- Define the Login Configuration for this Application -->

+  <login-config>

+    <auth-method>BASIC</auth-method>

+    <realm-name>Tomcat Host Manager Application</realm-name>

+  </login-config>

+

+  <!-- Security roles referenced by this web application -->

+  <security-role>

+    <description>

+      The role that is required to log in to the Host Manager Application HTML

+      interface

+    </description>

+    <role-name>admin-gui</role-name>

+  </security-role>

+  <security-role>

+    <description>

+      The role that is required to log in to the Host Manager Application text

+      interface

+    </description>

+    <role-name>admin-script</role-name>

+  </security-role>

+

+  <error-page>

+    <error-code>401</error-code>

+    <location>/WEB-INF/jsp/401.jsp</location>

+  </error-page>

+  <error-page>

+    <error-code>403</error-code>

+    <location>/WEB-INF/jsp/403.jsp</location>

+  </error-page>

+  <error-page>

+    <error-code>404</error-code>

+    <location>/WEB-INF/jsp/404.jsp</location>

+  </error-page>

+

+</web-app>

diff --git a/webapps/host-manager/images/add.gif b/webapps/host-manager/images/add.gif
new file mode 100644
index 0000000..0774d07
--- /dev/null
+++ b/webapps/host-manager/images/add.gif
Binary files differ
diff --git a/webapps/host-manager/images/asf-logo.gif b/webapps/host-manager/images/asf-logo.gif
new file mode 100644
index 0000000..22eb9d7
--- /dev/null
+++ b/webapps/host-manager/images/asf-logo.gif
Binary files differ
diff --git a/webapps/host-manager/images/code.gif b/webapps/host-manager/images/code.gif
new file mode 100644
index 0000000..d27307b
--- /dev/null
+++ b/webapps/host-manager/images/code.gif
Binary files differ
diff --git a/webapps/host-manager/images/design.gif b/webapps/host-manager/images/design.gif
new file mode 100644
index 0000000..f5db0a9
--- /dev/null
+++ b/webapps/host-manager/images/design.gif
Binary files differ
diff --git a/webapps/host-manager/images/docs.gif b/webapps/host-manager/images/docs.gif
new file mode 100644
index 0000000..d64a4a1
--- /dev/null
+++ b/webapps/host-manager/images/docs.gif
Binary files differ
diff --git a/webapps/host-manager/images/fix.gif b/webapps/host-manager/images/fix.gif
new file mode 100644
index 0000000..d59ad64
--- /dev/null
+++ b/webapps/host-manager/images/fix.gif
Binary files differ
diff --git a/webapps/host-manager/images/tomcat.gif b/webapps/host-manager/images/tomcat.gif
new file mode 100644
index 0000000..6175673
--- /dev/null
+++ b/webapps/host-manager/images/tomcat.gif
Binary files differ
diff --git a/webapps/host-manager/images/update.gif b/webapps/host-manager/images/update.gif
new file mode 100644
index 0000000..31e22ab
--- /dev/null
+++ b/webapps/host-manager/images/update.gif
Binary files differ
diff --git a/webapps/host-manager/images/void.gif b/webapps/host-manager/images/void.gif
new file mode 100644
index 0000000..e565824
--- /dev/null
+++ b/webapps/host-manager/images/void.gif
Binary files differ
diff --git a/webapps/host-manager/index.jsp b/webapps/host-manager/index.jsp
new file mode 100644
index 0000000..3cf5cae
--- /dev/null
+++ b/webapps/host-manager/index.jsp
@@ -0,0 +1,18 @@
+<%--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+--%>

+<% response.sendRedirect(response.encodeRedirectURL(request.getContextPath() +

+        "/html")); %>
\ No newline at end of file
diff --git a/webapps/host-manager/manager.xml b/webapps/host-manager/manager.xml
new file mode 100644
index 0000000..b86a8c9
--- /dev/null
+++ b/webapps/host-manager/manager.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+  Licensed to the Apache Software Foundation (ASF) under one or more

+  contributor license agreements.  See the NOTICE file distributed with

+  this work for additional information regarding copyright ownership.

+  The ASF licenses this file to You under the Apache License, Version 2.0

+  (the "License"); you may not use this file except in compliance with

+  the License.  You may obtain a copy of the License at

+

+      http://www.apache.org/licenses/LICENSE-2.0

+

+  Unless required by applicable law or agreed to in writing, software

+  distributed under the License is distributed on an "AS IS" BASIS,

+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+  See the License for the specific language governing permissions and

+  limitations under the License.

+-->

+<!--

+

+    Context configuration file for the Tomcat Manager Web App

+

+    $Id: manager.xml 562814 2007-08-05 03:52:04Z markt $

+

+-->

+

+

+<Context docBase="${catalina.home}/webapps/manager"

+         privileged="true" antiResourceLocking="false" antiJARLocking="false">

+

+</Context>