O que é Jakarta Struts?

Jakarta Struts é incrivelmente útil para ajudar a criar aplicativos da Web excelentes. Quando você usa Jakarta Struts, suas aplicações devem trabalhar de forma mais eficaz e ter menos bugs. Tão importante quanto isso (porque o seu tempo é importante), Struts deve poupar horas e horas de programação e depuração.

Struts é um estrutura que estrutura todas as componentes de um aplicativo Web baseado em Java em um todo unificado. Estes componentes de um aplicativo Web são

  • Servlets Java: Programas escritos em Java que residem em um servidor Web e respondem a solicitações de usuários
  • JavaServer Pages: A tecnologia para a geração de páginas da Web com tanto conteúdo estático e dinâmico
  • JavaBeans: Os componentes que seguem regras específicas, como convenções de nomenclatura
  • Logíca de negócios: O código que implementa a funcionalidade ou as regras da sua aplicação específica

Jakarta Struts usa um específico paradigma, ou padrão de design, estruturar sua aplicação. Basta preencher as peças da estrutura. O padrão de projeto é chamado Model-View-Controller (MVC). O padrão de projeto MVC ajuda a organizar as várias peças do quebra-cabeça aplicativo para máxima eficiência e flexibilidade.

UMA aplicação web como um programa que reside em um servidor Web e produz páginas estáticas e criados dinamicamente em uma linguagem de marcação (mais comumente HTML) em resposta a uma solicitação do usuário. O usuário faz a solicitação em um navegador, geralmente clicando em um link na página da Web.

Para criar aplicativos da Web, você usa Java 2 Enterprise Edition (J2EE), que fornece suporte para Servlets, JSP e Enterprise JavaBeans (EJB), um sistema distribuído, multi-tier, tecnologia de componentes escalável.

UMA contêiner web é um programa thatmanages os componentes de um aplicativo da Web, em particular páginas JSP e Servlets Java. Um contêiner da Web oferece uma série de serviços, tais como

  • Segurança: acesso restrito a componentes, tais como a proteção de senha
  • Concorrência: A capacidade de processar mais de uma ação de cada vez
  • gerenciamento do ciclo de vida: O processo de arranque e desligar um componente

Apache Tomcat é um exemplo de um recipiente Web - um open-source implementação das especificações J2EE Java Servlet e JavaServer Pages (JSP). UMA especificação é um documento que descreve todos os detalhes de uma tecnologia. A implementação é o programa atual que funciona de acordo com sua especificação. Na verdade, Apache Tomcat é a implementação de referência oficial para as especificações J2EE Java Servlet e JSP. Como resultado, o Apache Tomcat é um contêiner Web popular para aplicativos da Web que usam JSP e Servlets, incluindo aplicações que utilizam Struts.

Normalmente, um recipiente Web também funciona como um servidor Web, proporcionando HTTP básica (Hypertext Transfer Protocol) suporte para usuários que desejam acessar informações no site. Quando os pedidos são para conteúdo estático, o servidor Web processa o pedido diretamente, sem envolver Servlets ou páginas JSP.

No entanto, você pode querer suas páginas da Web para se adaptar em resposta a uma solicitação do usuário, em que a resposta é dinâmico. Para gerar respostas dinâmicas, o Servlet e JSP parte do recipiente se envolve. Tomcat tem a capacidade de agir como um servidor Web e um recipiente Web. No entanto, ele também pode interagir com um servidor Web padrão, como o Apache Web Server, deixando-a lidar com todas as solicitações estáticas e se envolver apenas quando os pedidos requerem Servlet e JSP serviço.

Usando Java Servlets

Servlets Java estender a funcionalidade de um servidor Web e lidar com pedidos de algo diferente de uma página Web estática. Eles são a resposta de Java para CGI (Common Gateway Interface) roteiros de tempos antigos (5 a 6 anos). Como seu nome sugere, você escreve Java Servlets em Java e, normalmente, estender a classe HttpServlet, que é a classe base a partir da qual você cria todos os Servlets. Como tal, Java Servlets têm à sua disposição todas as funcionalidades da linguagem Java, o que lhes dá uma grande quantidade de energia.

Servlets precisa ser executado em um contêiner da Web, um aplicativo que adere ao Java Servlet Specification. Na maioria dos casos, o recipiente vai apoiar também a especificação Java Server Pages. Você pode encontrar uma lista de produtos que suportam as especificações Java Servlet e JSP no esse site. A mais recente Java Servlet Specification é de 2,3, eo mais recente JavaServer Pages Especificação é 1.2.

Criando JavaServer Pages

Você usar JavaServer Pages para apresentar informação dinâmica para o usuário em uma página da Web. Uma página JSP tem uma estrutura como qualquer página HTML estático, mas também inclui várias tags JSP, ou Java embutido scriptlets (fragmentos curtos de código Java), ou ambos. Essas marcas especiais e scriptlets são executados no lado do servidor para criar a parte dinâmica da apresentação, para que a página pode modificar sua saída para refletir a solicitação do usuário.

O que realmente acontece nos bastidores é que o contêiner JSP traduz a página JSP em um Java Servlet e, em seguida, compila o código-fonte Servlet em código byte executável. Este processo de tradução acontece somente na primeira vez que um usuário acessa a página JSP. O Servlet resultante é então responsável por gerar a página da Web para enviar de volta para o usuário.

Cada vez que a página JSP for alterado, o contêiner Web traduz a página JSP em um servlet.

Listagem 1 mostra um exemplo de uma página JSP, com as tags específicas do JSP em negrito.

Listagem 1 Sample JSP Página

1 lt;% @ page contentType = "text / html-charset = UTF-8" language = "java"%>
2 lt;% - tag JSTL libs -%>
3 lt;% @ taglib prefix = "FMT" URI = "/ WEB-INF / fmt.tld"%>
4 lt;% - suportes fornecidos Taglibs -%>
5 lt;% @ taglib uri = "/ WEB-INF / struts-html-el.tld" prefix = "html"%>
6
7
8
9
10
11
12
13


14
15
16
17


18
19

JSP define seis tipos de elementos de tag:

  • Açao: Segue o formato XML (eXtended Markup Language) e sempre começa com alguma ação/>. Ele fornece uma maneira de adicionar mais funcionalidades ao JSP, tais como encontrar ou instanciar (criar) um JavaBean para uso posterior. Você vê um exemplo de uma marca de ação na linha 12 do código na Listagem 1.
  • Directiva: Uma mensagem para as propriedades da página contêiner da Web descrevendo, especificando as bibliotecas de tags, ou substituindo texto ou código em tempo de tradução. O formulário é lt;% @ a directiva %>. Listagem 1 tem directivas sobre as linhas 1, 3 e 5.
  • Declaração: Declara uma ou mais variáveis ​​ou métodos que podem ser usados ​​mais tarde na sua página Java. A etiqueta tem esta forma lt;%! declaração %>.
  • Expressão: Define uma expressão Java que é avaliada para uma Corda. Sua forma é lt;% = expressão %>.
  • scriptlet: código de inserções de Java na página para executar alguma função não está disponível com os outros elementos de tag. Sua forma é lt;% código java %>.
  • Comente: Uma breve explicação de uma linha ou linhas de código pelo desenvolvedor. Comentários têm a forma lt;% - o comentário --%>. Linhas 2 e 4 na Listagem 1 são exemplos de comentários.

Porque um arquivo JSP é apenas um arquivo de texto, você pode criá-lo em praticamente qualquer tipo de editor de texto. Note-se que alguns editores entender a sintaxe JSP e pode fornecer características interessantes, tais como formatação e codificação de cores. Alguns dos maiores são Macromedia Dreamweaver, NetBeans, e Eclipse- os dois últimos são ambientes completos de desenvolvimento Java.

Como Java Servlets, JSP deve ser executado em um recipiente Web que fornece suporte para a tecnologia JSP.

usando JavaBeans

Quando você programar em Java, você define ou classes de uso, que funcionam como um modelo para objetos que você cria. UMA JavaBean é uma forma especial de classe Java que segue certas regras, incluindo os métodos que utiliza e suas convenções de nomenclatura.

Beans são tão úteis porque são portáteis, reutilizável e independente de plataforma. O feijão é componentes porque eles funcionam como pequenos programas, independentes. JavaBeans arquitetura de componentes define como Beans são construídos e como eles interagem com o programa no qual eles são usados.

Você pode chamar um JavaBean um Bean e todo mundo vai saber o que você está falando, contanto que você não está discutindo café.

A documentação JavaBean refere-se às regras que Padrões de design. No entanto, este termo é mais usado geralmente para se referir a padrões de design, como o padrão de design Model-View-Controller. convenções de nomenclatura é um termo mais apropriado.

Como exemplo das regras especiais de feijão, olhar para propriedades. As propriedades de um feijão que são expostos (público) só estão disponíveis através dos métodos get e set, porque a definição de propriedade real é tipicamente privada (disponível apenas para a classe de definição). As propriedades siga a convenção de nomenclatura que a primeira letra da propriedade deve estar em letras minúsculas e qualquer palavra subsequente no nome deve começar com uma letra maiúscula, como endereço de correspondência. Listagem 2 é um exemplo de um simples feijão.

Listagem 2 Exemplo de um JavaBean simples

classe pública Simplebean implementa java.io.Serializable
{
nome- private String
// Construtor público sem parâmetros
Simplebean pública ()
{
}
// Método getter para a propriedade nome
Cadeia getName pública ()
{
voltar nome-
}
// Método setter para a propriedade nome
setName public void (String aName)
{
name = aName-
}
}

Neste exemplo, Corda é o tipo de propriedade e nome é a propriedade.

Métodos que acessam ou definir uma propriedade são público (Disponível para qualquer pessoa usando o Bean) e também usar uma determinada convenção de nomenclatura. Você nome destes métodos da seguinte forma:

  • Para obter o valor de uma propriedade, o método deve começar com obter seguido pelo nome da propriedade com a primeira letra maiúscula, como em Cadeia getName pública () -.Estes métodos são chamados getters.
  • Para definir o valor de uma propriedade, o método deve começar com conjunto seguido pelo nome da propriedade com a primeira letra maiúscula e o valor para definir a propriedade para, como em setName public void (String o nome) -. Estes métodos são chamados setters.

menu