升级Tomcat版本 apache-tomcat-7.0.77
diff --git a/tomcat-uid/webapps/examples/websocket/chat.xhtml b/tomcat-uid/webapps/examples/websocket/chat.xhtml
new file mode 100644
index 0000000..5e31dab
--- /dev/null
+++ b/tomcat-uid/webapps/examples/websocket/chat.xhtml
@@ -0,0 +1,134 @@
+<?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.

+-->

+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

+<head>

+    <title>Apache Tomcat WebSocket Examples: Chat</title>

+    <style type="text/css"><![CDATA[

+        input#chat {

+            width: 410px

+        }

+

+        #console-container {

+            width: 400px;

+        }

+

+        #console {

+            border: 1px solid #CCCCCC;

+            border-right-color: #999999;

+            border-bottom-color: #999999;

+            height: 170px;

+            overflow-y: scroll;

+            padding: 5px;

+            width: 100%;

+        }

+

+        #console p {

+            padding: 0;

+            margin: 0;

+        }

+    ]]></style>

+    <script type="application/javascript"><![CDATA[

+        var Chat = {};

+

+        Chat.socket = null;

+

+        Chat.connect = (function(host) {

+            if ('WebSocket' in window) {

+                Chat.socket = new WebSocket(host);

+            } else if ('MozWebSocket' in window) {

+                Chat.socket = new MozWebSocket(host);

+            } else {

+                Console.log('Error: WebSocket is not supported by this browser.');

+                return;

+            }

+

+            Chat.socket.onopen = function () {

+                Console.log('Info: WebSocket connection opened.');

+                document.getElementById('chat').onkeydown = function(event) {

+                    if (event.keyCode == 13) {

+                        Chat.sendMessage();

+                    }

+                };

+            };

+

+            Chat.socket.onclose = function () {

+                document.getElementById('chat').onkeydown = null;

+                Console.log('Info: WebSocket closed.');

+            };

+

+            Chat.socket.onmessage = function (message) {

+                Console.log(message.data);

+            };

+        });

+

+        Chat.initialize = function() {

+            if (window.location.protocol == 'http:') {

+                Chat.connect('ws://' + window.location.host + '/examples/websocket/chat');

+            } else {

+                Chat.connect('wss://' + window.location.host + '/examples/websocket/chat');

+            }

+        };

+

+        Chat.sendMessage = (function() {

+            var message = document.getElementById('chat').value;

+            if (message != '') {

+                Chat.socket.send(message);

+                document.getElementById('chat').value = '';

+            }

+        });

+

+        var Console = {};

+

+        Console.log = (function(message) {

+            var console = document.getElementById('console');

+            var p = document.createElement('p');

+            p.style.wordWrap = 'break-word';

+            p.innerHTML = message;

+            console.appendChild(p);

+            while (console.childNodes.length > 25) {

+                console.removeChild(console.firstChild);

+            }

+            console.scrollTop = console.scrollHeight;

+        });

+

+        Chat.initialize();

+

+

+        document.addEventListener("DOMContentLoaded", function() {

+            // Remove elements with "noscript" class - <noscript> is not allowed in XHTML

+            var noscripts = document.getElementsByClassName("noscript");

+            for (var i = 0; i < noscripts.length; i++) {

+                noscripts[i].parentNode.removeChild(noscripts[i]);

+            }

+        }, false);

+

+    ]]></script>

+</head>

+<body>

+<div class="noscript"><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable

+    Javascript and reload this page!</h2></div>

+<div>

+    <p>

+        <input type="text" placeholder="type and press enter to chat" id="chat" />

+    </p>

+    <div id="console-container">

+        <div id="console"/>

+    </div>

+</div>

+</body>

+</html>
\ No newline at end of file