2013-08-04 3 views
0

Добрый день. Я создал MVC-dipatcher-servlet.xmlВесна MVC не показывает изображения

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
     "> 

    <mvc:resources mapping="/static/**" location="/static/images/, /static/css/" /> 

    <context:component-scan base-package="com.springapp.mvc"/> 

    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
     <property name="viewClass"> 
      <value> 
       org.springframework.web.servlet.view.tiles2.TilesView 
      </value> 
     </property> 
    </bean> 
    <bean id="tilesConfigurer" 
      class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> 
     <property name="definitions"> 
      <list> 
       <value>/WEB-INF/tiles.xml</value> 
      </list> 
     </property> 
    </bean> 

</beans> 

В моем веб-приложение я создаю "статические" папки, и изображения, JS, CSS папки в нем.

Вот моя web.xml:

<web-app version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

     <display-name>Spring MVC Application</display-name> 

     <welcome-file-list> 
      <welcome-file>index.jsp</welcome-file> 
     </welcome-file-list> 

     <servlet> 
      <servlet-name>mvc-dispatcher</servlet-name> 
      <servlet-class> 
       org.springframework.web.servlet.DispatcherServlet 
      </servlet-class> 
      <load-on-startup>1</load-on-startup> 
     </servlet> 
     <servlet-mapping> 
      <servlet-name>mvc-dispatcher</servlet-name> 
      <url-pattern>/</url-pattern> 
     </servlet-mapping> 

     <servlet-mapping> 
      <servlet-name>default</servlet-name> 
      <url-pattern>/static/css/*</url-pattern> 
     </servlet-mapping> 
     <servlet-mapping> 
      <servlet-name>default</servlet-name> 
      <url-pattern>/static/js/*</url-pattern> 
     </servlet-mapping> 
    </web-app> 

И tiles.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 
<tiles-definitions> 
    <definition name="base.definition" 
       template="/WEB-INF/jsp/layout.jsp"> 
     <put-attribute name="title" value="" /> 
     <put-attribute name="header" value="/WEB-INF/jsp/header.jsp" /> 
     <put-attribute name="menu" value="/WEB-INF/jsp/menu.jsp" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footer" value="/WEB-INF/jsp/footer.jsp" /> 
    </definition> 

    <definition name="contact" extends="base.definition"> 
     <put-attribute name="title" value="Contact Manager" /> 
     <put-attribute name="body" value="/WEB-INF/jsp/contact.jsp" /> 
    </definition> 

</tiles-definitions> 

Если удалить строку с MVC: ресурсов - мой сайт работает, но <img src="<c:url value="/images/header_icon_02.png"/>" alt="" /> тег не отображается изображений. Но css/js файлы, которые я включил в

<link rel="stylesheet" type="text/css" href="<c:url value="static/css/style.css"/>" /> 

работа хорошо.

Если я добавляю mvc: ресурсы - сайт всегда возвращает 404 для страницы. Как я могу отображать статические изображения в моем проекте ???

P.S.
Вот мой контроллер:

@Controller 
public class HelloController { 
    @RequestMapping(value="/", method = RequestMethod.GET) 
    public String printWelcome(ModelMap model) { 
     model.addAttribute("message", "Hello world!"); 
     return "contact"; 
    } 
} 

ответ

0

я решил проблему! мне нужно добавить <mvc:annotation-driven /> в мой MVC-dipatcher-servlet.xml

0

Я думаю, что вы все ребята, имеющие большую работу относительно решения проблемы, я хотел бы добавить какие-то момент здесь, то есть

Вы должны должны дать конкретное сопоставление url для DispatcherServlet, чтобы сервлет мог получить запрос определенного шаблона, иначе это создаст проблему.

Может быть, вы будете сталкиваться с проблемой

No HTTP request handler found for " some url pattern" 

Так я просил добавить определенный шаблон URL («* .Не» .... и т.д.), а не общий (как вы это делали «/»)

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