Gerenciando Recursos Estáticos em Aplicações Spring MVC

Ao desenvolver aplicações web com Spring MVC, um desafio comum surge quando o DispatcherServlet é configurado para interceptar todas as requisições (por exemplo, usando um padrão de URL como /). Nesses casos, os arquivos estáticos, como imagens, folhas de estilo CSS e scripts JavaScript, também são interceptados pelo Spring, resultando em erros ...

Publicado em 7-25 15:56

Exibindo Projetos Web em Iframes com Arquivos Armazenados no Banco de Dados

Em um projeto recente, enfrentamos o desafio de: Para projetos frontend fornecidos por terceiros, contendo CSS, JS, HTML, imagens e outros recursos, precisávamos armazenar esses projetos em um banco de dados e exibi-los em um iframe. Além disso, os recursos referenciados pelo HTML (como scripts e folhas de estilo) também precisavam ser carregad ...

Publicado em 7-24 22:20

Construção de Aplicação SSM com Maven - Exemplo Prático

Este tutorial demonstra a construção de uma aplicação SSM (Spring + Spring MVC + MyBatis) utilizando Maven para gerenciamento de dependências. O objetivo é implementar uma funcionaildade que consulta informações de um produto pelo seu identificador. Preparação do Banco de Dados Crie o banco de dados ssmtest e a tabela item com o script SQL a ...

Publicado em 7-21 10:32

对比 entre filtros e interceptadores em Java/Spring

No desenvolvimento com Java EE e Spring, filtros e interceptadores desempenham papéis importantes no processamento de requisições, mas possuem diferenças fundamentais em sua implementação e aplicação. Diferenças Conceituais Filtros são baseados em um mecanismo de funções de retorno (callback), enquanto interceptadores utilizam reflexão Java. F ...

Publicado em 7-20 04:14

Spring MVC: Edição de Produtos e Tipos de Retorno do Controlador

Cenário de Negócio O fluxo operacional para edição de um produto segue estas etapas: O usuário acessa a listagem de produtos disponíveis Ao clicar em um item, a página de edição é carregada com os dados recuperados do banco Após alterar as informações, o usuário confirma o envio do formulário Mapeamento de Consulta no MyBatis O arquivo de map ...

Publicado em 7-19 06:19

Prevenção de Submissão Duplicada com Spring MVC

Prevenção de Submissão Duplicada com Spring MVC Em aplicações web, submissões repetidas de formulários podem causar prbolemas como inserções de dados múltiplas. Uma abordagem eficaz envolve o uso de tokens únicos associados à sessão do usuário, gerenicados por um enterceptor no Spring MVC para validar requisições e bloquear duplicatas. Princípi ...

Publicado em 7-17 16:42

Como Receber e Processar Dados entre Páginas no Layui com Paginação no Servidor

Enviando Dados para uma Nova Página via URL Ao abrir uma nova janela ou aba no Layui usando layer.open, é possível transmitir parâmetros diretamente na URL. O exemplo abaixo ilustra como passar o tipo de operação e identificadores: layer.open({ type: 2, title: 'Gerenciar Projeto', shadeClose: false, shade: [0.3], m ...

Publicado em 7-13 07:27

Autorização com Shiro e Desenvolvimento Baseado em Anotações

Objetivo: Este artigo aborda a implementação de autorização utilizando o framework Apache Shiro e desenvolvimento baseado em anotações para controle de acesso em aplicações web. Autorização com Shiro Primeiramente, projetamos a estrutura de tabelas para o sistema de permissões do Shiro: Camada de Mapper A interface ShiroUserMapper define os mét ...

Publicado em 7-9 21:42

Validação Declarativa de Dados no Spring MVC

Validação Declarativa O Spring MVC integra o Bean Validation (JSR-303) desde a versão 3, permitindo validar objetos de comando diretamente por anotações. Abaixo está o passo a passo para ativar e usar esse recurso. Dependências Necessárias Usaremos o Hibernate Validator como implementação de referência. Adicione os seguintes JARs ao classpath d ...

Publicado em 7-4 16:08

Interceptores e Filtros no Spring MVC

Spring Interceptores Visão Geral dos Interceptores Os interceptores no Spring são baseados na técnica de Programação Orientada a Aspectos (AOP), funcionando sobretudo através de proxies. Eles atuam nas requisições da camada de controladores (Controller), permitindo, por exemplo, a verificação de permissões de acesso a endpoints. Implementação d ...

Publicado em 7-3 23:59