2014-11-11 2 views
4

Я использую NetBeans и Tomcat 7.0.4.2 и хотел бы изменить URL-адрес моего проекта от localhost:8080/Servlet до localhost:8080/. В web.xml я изменил URL-адрес сервлета от <url-pattern>/Servlet</url-pattern> до <url-pattern>/</url-pattern>.Не удалось загрузить файлы ресурсов при сопоставлении сервлета по шаблону URL/

Проблема в том, что я не могу загрузить файлы ресурсов сейчас и получите ошибки в журнале браузера консоли:

Failed to load resource: the server responded with a status of 404 (Not Found) (11:45:14:149 | error, network) 
    at src/main/webapp/scripts/aui-min_2.0.0.js 

Путь к ресурсам файлов является src/main/webapp/scripts и в JSP-файле я использую этот путь

<script type="text/javascript" src="scripts/aui-min_2.0.0.js"></script> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" 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"> 
    <servlet> 
     <servlet-name>Servlet</servlet-name> 
     <servlet-class>socialgraphui.Servlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Servlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
</web-app> 
+0

'src' каталог не существует в развертывании. Любой код, который у вас есть, полагается на него, является неправильным. – EJP

+0

Связанный: http://stackoverflow.com/q/4140448 – BalusC

ответ

1

URL-адрес шаблона / используется по умолчанию для сервлета, который способен загружать статические ресурсы, которые не отображаются другими сервлетами. Когда вы переключаетесь на этот шаблон, он перестает работать. Итак, вы должны сохранить отображение сервлета.

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

Если вы хотите начать с индексной страницы используйте index.jsp, который указан в <welcome-file-list> конфигурации. Индексная страница может перенаправлять сервлет с помощью

response.sendRedirect(request.getContextPath() +"/Servlet"); 

Для загрузки статического использования ресурсов контекста сервлета пути, как этот

<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/aui-min_2.0.0.js"></script> 
+0

Спасибо за ответ Роман, но после этого tomcat разворачивает мой проект в цикле и не может остановить – Matt

+0

Хорошо, передислоцируйте его снова. –

+0

Спасибо, Роман, но он все еще не работает. Это мой новый web.xml http://pastebin.com/ZZjQ0EgE, и теперь я могу загружать свои источники на localhost: 8080/address, но с этим решением я не могу передавать переменные из файла Servlet в index.jsp. В классе Servlet я попытался заменить request.getRequestDispatcher («index.jsp»). Forward (request, response); по response.sendRedirect ("/ Servlet"); в методе processRequest, но все же не может передавать переменные. – Matt

 Смежные вопросы

  • Нет связанных вопросов^_^