2012-11-28 6 views
0

Я используюСтатическое содержимое с Spring

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

Для обработки статического контента в моем приложении SpringMVC. Это прекрасно работает. Я могу загружать изображения и извлекать их в приложении с помощью URL-адреса «/ resources». Я хочу использовать jpeg для фонового изображения в jsp, поэтому, хотя я бы просто сбросил jpeg в папку ресурсов в моей рабочей области , Однако в моей папке рабочего места нет папки ресурсов. Где весна хранит эти изображения? Как добраться до этой папки, чтобы добавить фоновое изображение?

по просьбе web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web- app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
<display-name>SpringMVCTest</display-name> 

<servlet> 
    <servlet-name>springMVCTest</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

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

servlet.xml уточнить все настроено правильно.

<?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:context="http://www.springframework.org/schema/context" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:p="http://www.springframework.org/schema/p" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd 
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"> 

<tx:annotation-driven /> 
<mvc:annotation-driven /> 
<mvc:resources mapping="/resources/**" location="/resources/" /> 
<context:component-scan base-package="/"></context:component-scan> 

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

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

<bean id="personService" class="PersonServiceImpl" /> 

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="url" value="jdbc:mysql://localhost:3306/test" /> 
    <property name="username" value="root" /> 
    <property name="password" value="" /> 
</bean> 

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="packagesToScan" value="/" /> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop> 
     </props> 
    </property> 
</bean> 

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

Вызов метода сохранения изображения

saveImage(context.getRealPath("/resources/" + person.getId() + ".jpg"), image); 
+0

Можете ли вы разместить свой 'web.xml'? – rptmat57

+0

Конечно, но почему? все, что он содержит, - это отображение для сервлета диспетчера. – AlyoshaKaramazov

+0

хотел удостовериться, что у вас не было определения сервлета ресурсов там – rptmat57

ответ

0

Однако нет папки ресурсов в моей папке рабочего пространства в любом месте

Он должен присутствовать в Веб-контент. Если его нет, то <mvc:resource> не используется для обслуживания статического содержимого.

Как добраться до этой папки, чтобы добавить фоновое изображение?

Создайте папку ресурсов под WebContent и поместите в нее свои изображения. Получите доступ к изображениям /resources/foo.jpeg.

+0

Если он не использует, как весна обращается к изображениям, которые я загружаю в своем веб-приложении? Я попытался добавить папку ресурсов в этом месте, но это не повлияло. – AlyoshaKaramazov

+0

Весна не решает, где вы сохраняете * загруженные * изображения. Его полностью до вас/код, чтобы решить, где хранить изображения. Загруженные изображения IMO будут храниться в db. – xyz

+0

правильно, и я использую saveImage (context.getRealPath ("/ resources /" + person.getId() + ".jpg"), изображение); чтобы сохранить их в папку ресурсов, чтобы они могли получить доступ к моим jsp. Но папка ресурсов не выходит из моей папки рабочего пространства. – AlyoshaKaramazov

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