Projeto não reconhece caminho CSS/Imagens

Boa Tarde,

Estou com um problema de caminho no meu projeto, achei muitos tópicos sobre o assunto, porem fiz todos os testes desses tópicos, mas ainda não conseguir solucionar o meu problema.

O projeto é uma aplicação java web (com spring), estou com dificuldade no projeto de achar imagens, css e scripts através de links relativos, links absolutos, o projeto está reconhecendo sem problemas. Segue a estrutura da página, e o JSP com várias tentativas que eu realizei.

Segue o JSP modelo.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Channel</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
	href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

	<div class="container-fluid">
		<div class="row">
			<div class="col-md-4">
			
			
<!-- 			Testando endereços -->
		<img src="./imagens/multiplus.png">
		<img src="/imagens/multiplus.png">
		<img src="imagens/multiplus.png">
		<img src="../imagens/multiplus.png">
		<img src="../../imagens/multiplus.png">
		<img src="../../../imagens/multiplus.png">
		<img src="../../../../imagens/multiplus.png">
		<img src='<c:url value='./imagens/multiplus.png'/>'>
		<img src='<c:url value='/imagens/multiplus.png'/>'>
		<img src='<c:url value='imagens/multiplus.png'/>'>
		<img src='<c:url value='../imagens/multiplus.png'/>'>
		<img src='<c:url value='../../imagens/multiplus.png'/>'>



				<img
					src="https://raw.githubusercontent.com/thiagobsoares/ProjetoChannel/master/src/main/webapp/imagens/multiplus.png"
					class="img-rounded" alt="Imagem Multiplus" />
			</div>
			<div class="col-md-3 col-md-offset-5">
				<p>Informações básica do usuario</p>
			</div>
		</div>
		<div class="row">
			<ul class="list-inline">
				<li>CORRETIVAS</li>
			</ul>
		</div>
	</div>

</body>
</html>

Talvez possa ser relevante esse trecho das configurações do SPRING

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

	}

Obs: já coloquei a pasta imagens dentro da view também e não obtive sucesso.

Alguém pode me da uma força ?

Qual url vc acessa no browser pra executar esse jsp?

E as demais pastas de webapps vc consegue acessar? Css e JS?

A outra JSP (home) importa essa JSP, segue o código.

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Channel</title>
</head>
<body>
	<!-- 	Cabeçalho -->
	<jsp:include page="./modelo.jsp" />
	<table class="table-bordered">
		<tr>
			<th>Código</th>
			<th>Usuario</th>
			<th>Titulo</th>
			<!-- 			<th>Descrição</th> -->
			<th>Finalizada</th>
			<th>Data Abertura</th>
			<th>Passo Atual</th>
			<th>Data Entrada Atual Passo</th>
			<th>Reportada</th>
		</tr>
		<c:forEach items="${lista}" var="ticket">
			<tr>
				<td>${ticket.codigo}</td>
				<td>${ticket.responsavel.nome}</td>
				<td>${ticket.titulo}</td>
				<%-- 				<td>${ticket.descricao}</td> --%>
				<td>${ticket.finalizada}</td>
				<td>${ticket.dateAbertura}</td>
				<td>${ticket.workflow.nome}</td>
				<td>${ticket.workflow.logTicket.dataEntrada}</td>
				<td>${ticket.reportado}</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

E essa JSP home é chamada por esse trecho do código controler.

    @RequestMapping("/N")
	public ModelAndView filterN() throws SQLException {
		ModelAndView mav = new ModelAndView("home");
		
		
		Workflow workflow = new Workflow();
		workflow.setId(Corretiva.WORKFLOW_ID_ENCERRADA);
		List<Ticket> corretivasSistemaWeb = corretiva.getCorretivasPerFilter(false);
		corretivasSistemaWeb = corretiva.getCorretivasPerArea(corretivasSistemaWeb,
				Area.getArea(Area.getGrupo(Area.ID_GRUPO_SISTEMA_WEB)));
		Collections.sort(corretivasSistemaWeb);
		mav.addObject("lista", corretivasSistemaWeb);
		return mav;
	}

O link final para acessar na web fica

http://localhost:8080/channel/N

Nenhuma outra pasta está sendo reconhecida pela aplicação, fiz um teste também, chamar a imagem direito pelo JSP home ( sem importar a outra JSP ), não tive sucesso também.

Funciona se acessar no navegador direto? http://localhost:8080/channel/imagens/multiplus.png

Se nao funcionar, vc ta algum problema de publicacao da aplicacao no servidor. Tudo que vc coloca no webapps nao ta sendo exposto no server. Recomendaria remover a aplicacao do servidor e adicionar de novo.

Já tinha tentado também acessar diretamente, mas sem sucesso…

Um detalhe, o projeto reconhece somente arquivos JSP. Os demais tipos de arquivos ele não reconhece, nem mesmo HTML. Segue a imagem dos teste que realizei, somente o arquivo JSP que ele reconheceu.

Vc está usando os arquivos css, js e imagens usando caminho relativo.

Logo se os seguintes arquivos usarem o modelo que usa a imagem em ‘./imagem/multiplus.png’ apontarão para locais diferentes.

/index.jsp -> /imagem/multiplus.png
/cadastro/pessoa.jsp -> /cadastro/imagem/multiplus.png

Então o ideal é usar caminhos absolutos a partir da raiz do seu contexto.

img src="${request.contextPath}/imagens/multiplus.png"

Da mesma forma vc deve baixar o bootstrap e adicioná-lo em sua aplicação, mapeamento seu css e js para caminhos absolutos.

link rel=“stylesheet” href="${request.contextPath}/bootstrap-3.3.5-dist/css/bootstrap.min.css"
script src="${request.contextPath}/bootstrap-3.3.5-dist/js/bootstrap.min.js"

Outra coisa, na imagem enviada o arquivo ‘multiplus.png’ está na raiz, logo deve ser acessível como:

URL_SERVIDOR/channel/multiplus.png

Tentei também e não deu certo. A ‘solução’ que consegui foi uma gambiarra, como meu projeto só consegue acha arquivos JSP (mesmo que esteja na mesma pasta que uma imagem, o projeto só enxerga o JSP) então estou criadno paginas JSP como se fosse CSS e JS e usando include no arquivo desejado, imagens estou fazendo como link absoluto mesmo, claro que não é a melhor solução, mas estava perdendo muito tempo nisso. Futuramente volto nesse detalhe.

Obrigado a todos.