css - 我可以在 SPRING 3 MVC 元素中显示图像

标签 css image spring jsp spring-mvc

我无法在 Spring 3 MVC 元素中显示图像。我没有找到错误并且已经阅读了很多教程。我的代码是下一个:

dispatcher-servlet

<mvc:annotation-driven />
<mvc:resources location="/resources/" mapping="/resources/**"/>

<context:property-placeholder location="classpath:jdbc.properties" />
<context:component-scan base-package="com.barrancofv" />
<tx:annotation-driven transaction-manager="hibernateTransactionManager"/>

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

    <bean id="localeChangeInterceptor"
    class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <property name="paramName" value="lang" />
    </bean>

    <bean id="localeResolver"
    class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="es"/>
    </bean>

    <bean id="handlerMapping"
    class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    <property name="interceptors">
        <ref bean="localeChangeInterceptor" />
    </property>
    </bean>    

    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>mymessages</value>
            <value>messages</value>
        </list>
    </property>
    </bean>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${database.driver}" />
    <property name="url" value="${database.url}" />
    <property name="username" value="${database.user}" />
    <property name="password" value="${database.password}" />
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="annotatedClasses">
    <list>
        <value>com.barrancofv.model.Empleado</value>
        <value>com.barrancofv.model.Documento</value>
    </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
        </props>
    </property>
    </bean>

    <bean id="hibernateTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>     

web.xml

<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>

<listener>
<listener-class>
    org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
    /WEB-INF/dispatcher-servlet.xml,
    /WEB-INF/spring-security.xml
</param-value>
</context-param>

<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
    org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

安全.xml

<http use-expressions="true">
    <!-- intercept-url seguridad de flujo de paginas -->
    <intercept-url pattern="/welcome" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/*" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/*/" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/*/*" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/*/*/" access="ROLE_USER" />
    <intercept-url pattern="/welcome/*/*/*/*" access="ROLE_USER" />
    <intercept-url pattern="/resources/**" access="permitAll" />
    <form-login login-page="/login" default-target-url="/welcome" authentication-failure-url="/loginfailed" />
    <logout logout-success-url="/logout" />
</http>

在我的 login.jsp 中

为了放置我的图像,我使用这个:

<img src="<c:url value="/resources/img/a.jpg" alt="" />

我的结构是:

src/main/resources/images/a.jpg

我没有找到错误。谢谢!!!

最佳答案

您必须在您的 spring 配置中配置一个资源处理程序,以便它与您的元素结构相匹配

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources -->
<mvc:resources 
        mapping="/resources/** 
        location="/images/, classpath:/META-INF/web-resources/" />

并且您需要添加配置您的安全性,以便无需登录即可访问此图像(以在登录页面上显示它们)。

 <security:intercept-url pattern="/resources/**" access="permitAll" />

关于css - 我可以在 SPRING 3 MVC 元素中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14400216/

相关文章:

python - OpenCV 是否支持 .HEIC 图像格式?

css - 如何缩放多个图像以填充区域

java - 在提交时将多个值从 spring 表单 jsp 传递到 spring Controller

java - @Value 和 @PropertySource ("classpath:application.properties")始终返回 null

html - 如何去除图像和表格之间的这些空白区域?

javascript - 使用 Javascript 更改背景渐变颜色

jQuery 在 td 数据数字(动态表)时更改 css 右对齐

html - 在 TD 上添加背景颜色使我的边框消失

image - 使用本地资源的 SVG <image> 元素的语法

java - 如何在 Spring 中加载系统属性以获取属性文件位置