/ / Моето сървърно картографиране е директно съвпадащо по подразбиране сървлет - java, jsp, spring-mvc, servlets, glassfish

Моето servlet-mapping е пряко съвпадащо по подразбиране servlet - java, jsp, spring-mvc, servlets, glassfish

Днес получавам някакъв въпрос.

Това по-долу е съдържанието ми за сървърно картографиране на web.xml

<servlet>
<servlet-name>static-resource</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>static-resource</servlet-name>
<url-pattern>/statis-resource/*</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

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

Структурата на директорията ми за приложения е:

/WEB-INF
/static-resource

Надявам се на това

  1. Този случай на заявката се съпоставя static-resource сървлет

    • http://myserver/static-resource/test.js
    • http://myserver/static-resource/images/img1.jpg
    • http://myserver/static-resource/test.xml
  2. И този случай на заявката се съпоставя dispatcher сървлет

    • http://myserver/other/whole/uri

Но моят web.xml е цялостно на заявката, която се картографира dispatcher сервлет директно. По-долу е моят дневник на сървъра на стъклени рибки при поискване

[# | 2014-10-28T09: 54: 27.722 + 0900 | ВНИМАНИЕ | glassfish3.1 | org.springframework.web.servlet.PageNotFound | _ThreadID = 680; _ThreadName = Thread-1; | Няма намерено картографиране за HTTP заявка с URI [/static-resource/test.js] в DispatcherServlet с име "диспечер" | #]

И така, аз се замислих, защо цели заявки са картографирани dispatcher сървлет? Някой да ми помогне?

Актуализация


Съжалявам за моята грешка, поправям грешки, но все пак отговор 404 грешка. Хм ... вероятно имаш други проблеми?

Отговори:

1 за отговор № 1

Картирането на сървъли се извършва въз основа на най-специфичното съвпадение на URL. Така че използвате правилния подход, но просто правите грешка в печата за статична дума във вашия URL адрес тук:

<url-pattern>/statis-resource/*</url-pattern>

променете го

<url-pattern>/static-resource/*</url-pattern>