Dúvidas sobre uso de Jquery em páginas JSP

Estou dando uma estudada na apostila “Caelum Java Web - FJ21” e estou tendo um pouco de dificuldade na parte relacionada a criação das minhas taglibs, pois estou seguindo o exemplo dado no livro para utilizar um componente do jquery (DatePicker) para exibir um calendário nas páginas jsp, porem não está funcionando. Gostaria se possível da ajuda dos amigos, para entender o que poderia estar errado no meu código.

Página JSP

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix='c' %>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='d'%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"  %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@taglib tagdir="/WEB-INF/tags" prefix="caelum" %>


 <c:import url="Cabecalho.jsp" />


 <jsp:useBean id="dao" class="br.com.caelum.dao.ContatoDao"/>
 <jsp:useBean id="contato" class="br.com.caelum.model.Contato"/>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <link href="css/jquery-ui.css" rel="stylesheet">
    <link href="css/jquery-ui.min.css" rel="stylesheet">
    <link href="css/jquery-ui.structure.css" rel="stylesheet">
    <link href="css/jquery-ui.structure.min.css" rel="stylesheet">
    <link href="css/jquery-ui.theme.css" rel="stylesheet">
    <link href="css/jquery-ui.theme.min.css" rel="stylesheet">
    <script src="js/jquery-ui.min.js"></script>
    <script src="js/jquery-ui.js"></script>
    <script src="js/jquery.js"></script>
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
</head>

<body>

	<form action="adicionaContato">
  
  		Nome: <input type="text" name="nome" /><br />
  		E-mail: <input type="text" name="email" /><br />
  		Endereço: <input type="text" name="endereco" /><br />
  		Data Nascimento: <caelum:campodata id="dataNascimento" /> <br />
  		

  		<input type="submit" value="Gravar"/>
  		
	</form>

	<c:import url="Rodape.jsp" />
</body>
`

Conteúdo da minha taglib chamada “campodata.tag”

<%@ attribute name="id" required="true" %>

<input id="${id}" name="${id}" type="text" />
<script>
  $("#${id}").datePicker({dateFormat: 'dd/mm/yy'});
</script>

E esse é o desenho da minha estrutura, coloquei só para saber mesmo se pode ter alguma pasta sendo colocada em local errado.

Quando eu executo a página “adicionaContato.jsp” ele exibe normalmente todos os campos, porem o calendário que deveria estar aparecendo o “DatePicker”, na verdade aparece como campo de texto normal.

Desde já agradeço por qualquer ajuda.

veja se teve algum erro de javascript.

veja o html final. ele faz sentido?

Isole o problema antes de misturar tecnologias. Esses componentes visuais do jquery-ui independem do JSP. Aqui tem um exemplo pra você praticar: https://jqueryui.com/datepicker/ Depois que conseguir fazer funcionar e entender, você aplica no seu projeto de acordo com suas demais escolhas.

Não vi detalhadamente seu código, mas de cara notei que no <head> você colocou a referencia do script jquery-ui antes do jquery, sendo que jquery-ui depende de jquery, então o certo é colocar jquery antes de tudo, no exemplo oficial que te passei do site deles está assim.

Como o @peczenyj falou, veja sempre qual erro está dando no client (navegador), isso facilita a resolver qualquer problema nesse sentido.

Muito obrigado @javaflex e @peczenyj

Realmente com base no que vocês falaram peguei o exemplo e verifiquei que estava incorreta algumas configurações que eu havia feito.

Desde já agradeço a atenção de vocês.

pra vc ver, a gente as vezes foca no JSP quando na verdade tem que olhar os fundamentos do bagulho.

no fim vc tem que gerar js e html valido, os cabeçalhos http certos, etc. é uma questão de ter uma cadeia de processos na mente e olha as coisas da perspectiva certa. leva tempo…