Spring MVC importa imagem na JSP

Estou tentando importa uma imagem para o meu projeto mais já tentei varias vezes pelo caminho(absoluto e relativo) e não deu certo, esta localizado em

/projeto/WebContent/resources/imagens/excluir.png
codigo na JSP ↓


<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<img src="<c:url value=‘resources/imagens/excluir.png’ />"

no meu projeto com Spring estou utilizando anotações e não xml
so que tem de xml o web.xml que não tem nada configurado. no meu projeto estou utilizando o minimo de XML possivel. Sou iniciante em Spring MVC toda ajuda será valiosa.

Pesquisar, não fez, né?

ja fiz várias pesquisas mais a maioria pedi para eu configura um xml no Spring e eu não sei
onde coloca esse xml.

Está usando o Spring MVC de que forma, sem o xml?

tenho duas classes de configuração onde uma delas é um servlet do Spring e mais algumas que são os meus controlers tudo faço só por anotações nas classes e nos métodos

É spring ou springboot?

é Spring MVC, mais sendo bem honesto nunca vi Spring boot

Entendi.
Bom, não sei como ajudar, uma vez que está fazendo tudo programaticamente.

Programaticamente voce deve colocar isso na classe que EXTENDS WebMvcConfigurerAdapter

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/recursos/**").addResourceLocations("/recursos/");
   }

Uma dica, antes de sai aprendendo Spring por meio programático ou qualquer outro framework, aprenda pelo menos um pouco a mexer em modo XML.

Concordo com Daniel! inclusive estou com raíva de apreender assim. mas infelizmente no curso que eu fiz ensinarão assim, e só mais uma coisa eu não tenho nenhuma classe que extende de WebMvcConfigurerAdapter
so tenho uma classe que extends AbstractAnnotationConfigDispatcherServletInitializer e agora vou ter que cria uma classe só para extende da WebMvcConfigurerAdapter?
agradeço pela ajuda!

A primeira classe é essa que voce citou :

import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
    return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
    return new Class[] { AppWebConfiguration.class };
    }

    @Override
    protected String[] getServletMappings() {
    return new String[] { "/" };
    }
} 

a Segunda é essa que que contem a WebMvcConfigurerAdapter

import javax.persistence.EntityManagerFactory;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalEntityManagerFactoryBean;
import org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = {"br"})
@EnableTransactionManagement
public class AppWebConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addFormatters(FormatterRegistry registry) {

    registry.addConverter(getMyConverter());
    }

    @Bean
    public StringToDepartamento getMyConverter() {
    return new StringToDepartamento();
    }

    @Bean
    public InternalResourceViewResolver internalResourceViewResolver() {
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    return resolver;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/recursos/**").addResourceLocations("/recursos/");
   }

    @Bean
    LocalEntityManagerFactoryBean EntiManagerFactory() {
    LocalEntityManagerFactoryBean persistenceUnitName = new LocalEntityManagerFactoryBean();
    persistenceUnitName.setPersistenceUnitName("mongodb-demo");
    return persistenceUnitName;
    }

    @Bean
    PersistenceAnnotationBeanPostProcessor annotationBeanPostProcessor() {
    return new PersistenceAnnotationBeanPostProcessor();
    }

    @Bean
    public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(emf);
    return transactionManager;
    }
}

Que raio de curso é esse que não lhe mostrou isso ? ainda mais iniciando por programação ao inves de xml mesmo que basico.

veja essas apostilas :

https://www.tutorialspoint.com/springmvc/index.htm

https://www.tutorialspoint.com/spring/index.htm

Daniel Deu certo cara! muito obrigado!! mah passei a noite sem dormi vendo xml e código e mais xml. o complicado é que eu tava muito perdido na parte de xml no Spring mais vou fazer um outro projeto usando xml do Spring para apreender as duas formas! obrigado mais uma vez! valeu pela humildade! e o curso não posso dizer se não vou ser processado kkkkk

1 curtida

Perfeito.
Bons Estudos.