Настроить web.xml (Tomcat 5) для одного сервлета для обрабатывания всех входящих запросов?

У вас есть синтаксические ошибки:

  1. document.getElementById)('ofbat'): ) после Id. То же самое со всеми последующими строками.
  2. alert также является функцией, поэтому она должна называться alert(argument)

Я думаю, что я обнаружила все синтаксические ошибки, если не сообщите мне:

<html !doctype>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title> Lab7 Baseball Form</title>
    <script type="text/javascript">
        function calculation() {
        var batterName = parseFloat(document.getElementById('battername').value);
        var atBat = parseFloat(document.getElementById('ofbat').value);
        var ofSingles = parseFloat(document.getElementById('ofsingles').value);
        var ofDoubles = parseFloat(document.getElementById('ofdoubles').value);
        var ofTriples = parseFloat(document.getElementById('oftriples').value);
        var ofHome = parseFloat(document.getElementById('ofhome').value);
        var totalBases = ofSingles * 1 + ofDoubles * 2 + ofTriples * 3 + ofHome * 4;
        var slugPercent = totalBases / atBat;
            alert(batterName + slugPercent);
        }
    </script>
</head>

<body>
    <h1>Slugging Percentage Calculator</h1>
    <form>
        <p>Batter's Name:</p> 
        <input type="text" id="battername" /><br />
        <p>Enter number of At Bats:</p>
        <input type="text" id="ofbat" /><br />
        <p>Enter number of Singles:</p>
        <input type="text" id="ofsingles" /><br />
        <p>Enter number of Doubles:</p>
        <input type="text" id="ofdoubles" /><br />
        <p>Enter number of Triples:</p>
        <input type="text" id="oftriples" /><br />
        <p>Enter number of Home Runs:</p>
        <input type="text" id="ofhome" /><br />
        <input type="button" value="Whats his slugging percentage?" onclick="calculation()">
    </form>
</body>
</html>
[1111 ] UPD: редактировал код несколько раз, потому что обнаружил еще одну синтаксическую ошибку. Если вы не видели эту строку, пожалуйста, проверьте код еще раз.

5
задан demongolem 1 July 2011 в 16:02
поделиться

4 ответа

Pattern /* will definetly invoke your Redirect servlet. Did you debug your servlet to see if it received the request for that url? What you mean be did not work? Did you get any error or what happened?

0
ответ дан 15 December 2019 в 01:10
поделиться

Did you try

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

?

-1
ответ дан 15 December 2019 в 01:10
поделиться

/ * должно работать. Ваше веб-приложение необходимо развернуть в корневом контексте. По умолчанию tomcat использует веб-приложение с именем ROOT; однако вы можете изменить его для поиска другого веб-приложения в вашем server.xml.

Другой подход - создать ServletFilter для выполнения этой работы и сопоставить его таким же образом. У каждого подхода есть свои плюсы и минусы (сервлет и фильтр сервлетов). Однако из вашего примера похоже, что вы просто хотите отправить все на другой сайт, поэтому любой из них должен работать.

1
ответ дан 15 December 2019 в 01:10
поделиться

Tomcat 5 реализует спецификацию сервлета 2.4. Его можно скачать здесь: Спецификация сервлета JCP 2.4

На стр. 86 - SRV.11.2 он описывает, как определять сопоставления сервлетов. Если я понимаю, что вы пытаетесь сделать правильно, вы пытаетесь перехватить каждый запрос (независимо от пути) к вашему серверу с помощью одного сервлета. Чтобы это работало, ваше веб-приложение должно быть смонтировано в контексте по умолчанию («ROOT») в случае Tomcat, а ваш сервлет должен быть сопоставлен с сервлетом по умолчанию в вашем web.xml. Ваше отображение в вашем web.xml правильное.

<servlet-mapping>
    <servlet-name>Redirect</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

Я думаю, что у вас проблема с контекстом ROOT. Что отображается при доступе к www.mydomain.com/ и www.mydomain.com? Вы не упоминаете, дает ли ваша среда общего хостинга полный доступ к вашей собственной конфигурации Tomcat, но если вы можете получить доступ и изменить свой каталог $ TOMCAT5_HOME / conf, есть несколько способов сделать это за вас.

Вероятно, самый простой способ - добавить следующее:

< Context path="" debug="0" docBase="your-app">

в $ TOMCAT5_HOME / conf / server.xml. Предполагается, что ваше приложение называется "your-app.war".

Надеюсь, это поможет.

4
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: