2013-03-08 27 views
5

ile jsp görüntülenmeyen Ben temelde benim jspgörüntü bahar

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
     <title>JSP-Page</title> 
    </head> 
    <body> 
     <img src="images/top.jpg"> 
    </body> 
</html> 

İlkbahar-servlet xml bir resmi görüntülemek için çalışıyorum jsp bahar yeni am:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" 
     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-3.0.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 

    <!-- Enable annotation driven controllers, validation etc... --> 
    <mvc:annotation-driven /> 
<mvc:resources location="/images/" mapping="/images/**"/> 

    <!-- Application controllers package --> 
    <context:component-scan base-package="net.ignou.onlinetest.controller" /> 

    <bean id="viewoseesolver" 
       class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/views/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 
       destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" 
          value="jdbc:mysql://localhost:3306/online_test" /> 
     <property name="username" value="root" /> 
     <property name="password" value="root" /> 
    </bean> 

    <bean id="sessionFactory" 
       class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>net.ignou.onlinetest.domain.Question</value> 
       <value>net.ignou.onlinetest.domain.Student</value> 
       <value>net.ignou.onlinetest.domain.Answer</value> 
      </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.hbm2ddl.auto">none</prop> 
      </props> 
     </property> 
    </bean> 

    <bean id="multipartResolver" 
       class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
    </bean> 

    <bean id="questionDao" class="net.ignou.onlinetest.dao.daoImpl.QuestionDaoImpl"> 
     <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 
    <bean id="loginDao" class="net.ignou.onlinetest.dao.daoImpl.LoginDaoImpl"> 
     <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 

    <bean id="answerDao" class="net.ignou.onlinetest.dao.daoImpl.AnswerDaoImpl"> 
     <property name="sessionFactory" ref="sessionFactory"/> 
    </bean> 

    <bean id="service" class="net.ignou.onlinetest.service.serviceImpl.ServiceImpl"> 
     <property name="questionDao" ref="questionDao"/> 
    </bean> 

</beans> 

My 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>Person Detail</display-name> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
<welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    </web-app> 

Ben

bulunmaktadır maven.My resim dosyasını kullanıyorum

online-test \ src \ ana \ Webapp \ görüntüleri ve benim jsp sayfası

online-testinde ise \ src \ ana \ Webapp \ web inf \ ben de src olarak değiştirilmesi çalıştı görünümler

<img src="../../images/top.jpg"> ama işe yaramadı ben de jsp ve resim doğrudan webapp klasörüne hareket etmeyi de denedim ama hayır. Yanlış yaptığım bir şey var mı Bahar, img isteklerini nasıl ele alıyor?

+0

Görüntü isteklerini işleyen bir yayın değil, tarayıcınız. İlkbahar için bir kaynak işleyici eşleştirmesi var mı? –

+0

Hayır sadece çözünürlüğü görüntüle ... – Lakshmi

+0

adim 1: ./images/and böylelikle –

cevap

12

Yapmak istediğiniz şey, bu satırı bahar servlet-context xml yapılandırmanıza eklemek.

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

mvc xml ad alanı resources etiket temelde ilan konumdan bir adlı dosyayı yayınlandığı yerine Denetleyiciniz yığını geçerek beyan haritalama istekleri işlemek için Bahar söyler xmlns:mvc="http://www.springframework.org/schema/mvc"

yer almaktadır. css, js, pdf vb

Birden <mvc:resources> etiketlerini gerekmez, genel bir haritalama ile sadece birini, mesela: haritalama ayrıca herhangi bir kaynak sunmak için kullanılabilir./resources/** ve konumların virgülle ayrılmış listesi, örn./kaynaklar/css /,/kaynaklar/js /.

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

<resources> etiket bahar 3.0.4 tanıtılan, böylece Bahar ve xsd en azından bu sürümü gerekir edildi. Sen JB Nizet söylediği gibi, akrabası yolu için

<img src="<c:url value='/images/top.jpg'/>"/> 

olarak imajınızı başvuruda bulunmalıdır, ayrıca

http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd` 

kullanabilirsiniz.

+0

@Lakshmi Web uygulamanızın bağlamsal kökü nedir? Ve tüm servlet içeriği konfigürasyonunuzu sorunuza ekleyin, böylece her şeyin yolunda olup olmadığını görebiliriz. –

+0

benim soruya bir de daha bir şey ekledim bir şey daha ben mvc ekleyerek SaxParserException olsun: kaynak şema tanımı ekledim rağmen bu nedeni budur Eşleşen joker katıdır, ancak 'mvc: resources' öğesi için herhangi bir bildirim bulunamadı – Lakshmi

+0

@ Lakshmi Kullanımı http://www.springframework.org/schema/mvc http: // www.springframework.org/schema/mvc/spring-mvc.xsd'. Kaynaklar etiketi 3.0.4 yayında tanıtıldı. Mvc için şema yerinde '-3.0' son eki bulunmuyor. –

4

JSP dosyasının konumu, URL yolları söz konusu olduğunda ilgisizdir. Önemli olan, tarayıcınız tarafından görüntülenen sayfanın, yani tarayıcınızın adres çubuğunda görüntülenen sayfanın adresidir. sayfanın adresi /webapp/foo/bar/someAction.html ve görüntü /webapp/images/top.jpg de ise dosyaları taşımak veya URL'ler değiştirirseniz

Yani, yol refactor /webapp/images/top.jpg (mutlak yol, preferrable ve net) veya ../../images/top.jpg (göreli yolu, sert olmalı).

Benim tavsiyem: daima mutlak yolları kullanabilir ve JSTL en c kullanın: webapp içerik yolunu sabit kodlama önlemek için url etiketi:

<img src="<c:url value='/images/top.jpg'/>"/> 

Yukarıdaki çizgi her zaman çalışacaktır.

+0

çalışmayı ayrı ayrı denediniz ve ayrıca Sotirios Delimanolis ile birlikte deneyin çözüm. İyi uygulama önerileriniz için – Lakshmi

+0

+1 + – Lakshmi