JavaServer Pages (JSP) é uma tecnologia que permite a criação de páginas web dinâmicas , incorporando código de linguagem de programação Java em sua página web. JSP é uma tecnologia do lado do servidor , para que o seu código é executado no servidor web , em vez de no navegador da web. JSP oferece-lhe todo o poder da linguagem Java, incluindo conectividade de banco de dados , gráficos 2D , criptografia e segurança. Além de páginas web HTML formatados , você pode usar JSP para desenvolver outros tipos de documentos , tais como XML, CSS , planilhas e PDFs. JSP Básico  
 A página JSP é um documento HTML formatado com código JSP embutido nele o uso de tags especializadas. Existem dois tipos básicos de etiquetas chamados elementos e ações de script. Além disso , JSP também contém diretrizes e tags de comentário . Nome suas páginas JSP com a extensão. Jsp ( por exemplo, index.jsp ) . 
 
 Directivas e Comentários 
 
 < % @ directiva %> Use a diretiva tag para fornecer informações ou instruções sobre como sua página JSP está a ser construída . Directivas mais utilizados estão " página " e " incluir ". Use a diretiva de página na parte superior da sua página para importar classes e definir a página de atributos como tipo de conteúdo , a linguagem , a sessão e informação. Use a diretiva "incluir" para incluir uma cópia de outro arquivo em sua página 
 
 . <% - Comentário -% > Use a tag de comentário para documentar seu código. Ao contrário de comentários HTML , JSP comentários não são emitidos para a sua página web. 
 
 Scripting Elementos 
 
 elementos script são marcadas com <% ... %> , com toda a ação acontecendo no meio. Existem três tipos básicos de elementos de script : . Expressões, scriptlets e declarações 
 
 < % = expressão %> Um elemento de expressão faz com que o código de expressão a ser avaliada e os resultados a ser impressa na saída do página . Por exemplo, o código a seguir irá imprimir a data ea hora que a página foi solicitada em sua página web: 
 
 data e hora atual: <% = new java.util.Date ()% > 
 
 <% scriptlet código %> Um elemento scriptlet contém o código Java que você deseja executar, como cálculos , laços, instruções condicionais e conexões de banco de dados . 
 
 <% ! declaração %> Um elemento declaração contém declarações para variáveis, funções e classes internas. Estas declarações são persistentes para a vida do JSP no servidor. 
 
 Ações 
 
 Ações são tags XML que chamam a funcionalidade embutida no mecanismo de servlet . A sintaxe básica para ações é   , onde " elemento " é o nome da ação e " atributo " é uma propriedade passada para a ação. Por exemplo, você pode usar o jsp : include ação para inserir um arquivo em sua página: 
   
 
 Existem várias ações internas padrão que você pode usar , incluindo estas ações úteis : 
 
 jsp : include inclui um arquivo estático ou a saída de código executável em sua página 
 
 jsp: . frente . encaminha o pedido para outra página 
 
 jsp : param é um elemento filho de jsp : include , jsp : forward e jsp: . params blocos, e é usado para passar parâmetros para essas ações 
 
 objetos implícitos 
 
 Quando a página JSP é executado, uma série de pré-definido " objetos implícitos " estão automaticamente disponíveis para você usar para recuperar dados de um formulário , a gestão de uma sessão e outras tarefas específicas para o ambiente JSP . Esses objetos implícitos incluem a aplicação , configuração, exceção, fora , página, pageContext , solicitação , resposta e sessão. O objeto do pedido é particularmente importante porque mantém os valores apresentados a partir de um formulário HTML. Use request.getParameter ( " nome do campo " ) , por exemplo, a partir de informações fornecidas neste formulário HTML: 
 
 
 
  podem ser recuperadas em sua página JSP, getFormData.jsp , usando a função getParameter e impresso na página web usando o elemento de expressão de script : 
 
 < % @ page import = " . java.util * "%> html head 
 Olá mundo!     Olá mundo! 
 <% Cordas firstName = "", sobrenome = ""; if ( request.getParameter ( " prenome " ) = null !) { nome = request.getParameter ( " prenome ");} if ( request.getParameter ( " last_name " ) = null !) { sobrenome = pedido . getParameter ( " last_name "); ! }% >  Olá <% = nome %> < % = lastName % >