Revisão de Conceitos de Programação Web
Classificado em Computação
Escrito em em português com um tamanho de 12,64 KB.
1. Comente detalhadamente a seguinte expressão: “A linguagem Perl é uma linguagem que apenas funciona em ambientes Windows, tendo como principal objectivo a manipulação de patterns”.
Essa afirmação não está correta.
A linguagem Perl não é exclusiva pára ambientes Windows; é multiplataforma e pode ser executada numa variedade de sistemas operacionais, incluindo Windows, Linux, maços e outros.
Além disso, embora Perl seja conhecida por sua poderosa capacidade de manipulação de padrões (expressões regulares), ela é uma linguagem de propósito geral que pode ser usada pára uma ampla gama de tarefas de programação, desde scripting até desenvolvimento web e administração de sistemas.
2. A linguagem PHP permite usar a seguinte função “mysqli_connect()”. Descreva pára que serve a referida função (nomeadamente, referindo todas as possibilidades de parâmetros) e apresente um exemplo completo pára aceder à base de dados “lpi_a” e visualizar os registos da tabela “aluno_a”.
A linguagem PHP permite usar a seguinte função “mysqli_connect()”. Descreva pára que serve a referida função (nomeadamente, referindo todas as possibilidades de parâmetros) e apresente um exemplo completo pára aceder à base de dados “lpi_a” e visualizar os registos da tabela “aluno_a”
A função mysqli_connect() em PHP é usada pára estabelecer uma conexão com um banco de dados MySQL. Ela retorna um objeto de conexão que pode ser usado pára realizar consultas e interagir com base de dados.
Paramêtros
Servidor (host): O nome do servidor MySQL. Pode ser especificado como um nome de host ou um endereço IP.
Utilizador (username): O nome de utilizador usado pára autenticar-se no servidor MySQL.
Senha (password): A senha associada ao nome de utilizador pára autenticação no servidor MySQL.
Base de Dados (dbname): O nome da base de dados à qual se deseja conectar.
Porta (port): O número da porta do servidor MySQL. Este é um parâmetro opcional e por padrão é "3306".
Exemplo:
// Dados de conexão com o banco de dados MySQL
$servidor = "localhost"; // Endereço do servidor MySQL (normalmente "localhost")
$utilizador = "seu_utilizador"; // Nome de utilizador do MySQL
$senha = "sua_senha"; // Senha do MySQL
$base_de_dados = "lpi_a"; // Nome da base de dados
// Estabelecendo a conexão com o banco de dados
$conn = mysqli_connect($servidor, $utilizador, $senha, $base_de_dados);
// Verificando a conexão
if (!$conn) {
die("Falha na conexão: " . Mysqli_connect_error());
}
// Consulta SQL pára selecionar todos os registros da tabela "aluno_a"
$sql = "SELECT * FROM aluno_a";
// Executando a consulta e associando o resultado a uma variável
$retval = mysqli_query($conn, $sql);
// Exibindo os registros
while ($registro = mysqli_fetch_assoc($retval)) {
echo "ID: " . $registro["id"] . " - Nome: " . $registro["nome"] . " - Idade: " . $registro["idade"] . "<br>";
}
// Fechando a conexão com o banco de dados
mysqli_close($conn);
?>
3. Comente detalhadamente a seguinte expressão: “A linguagem JSP disponibiliza, de forma não automática, os objectos explícitos ‘mostra’ e ‘out’ pára aceder à página ‘webapps’
A afirmação está incorreta.
Em JavaServer Pages (JSP), os objetos 'out' e 'mostra' são, de fato, objetos implícitos padrão que são disponibilizados automaticamente pelo contêiner JSP e não precisam ser explicitamente criados ou importados.
O objeto 'out' é um objeto implícito que representa a Sáída padrão da página JSP. Ele é usado pára enviar texto pára o navegador do cliente. Por exemplo, você pode usar o método out.Print() ou out.Println() pára enviar conteúdo HTML dinâmico pára o navegador.
O objeto 'request' é um objeto implícito que representa a solicitação HTTP feita pelo cliente. Ele fornece métodos pára acessar parâmetros de solicitação, atributos de solicitação e outros dados relacionados à solicitação atual.
4. Considerando a linguagem PHP, é possível o uso das “formas” GET, POST ou SESSION na troca de dados entre páginas PHP. Explique as diferenças e exemplifique (pára cada uma das formas enumeradas).
GET:
Utilizado pára enviar dados de forma visível na URL.Os dados são anexados à URL como parâmetros de consulta.Limitado em termos de quantidade de dados que podem ser enviados (URLs têm um limite prátiço de tamanho) Os dados são visíveis na barra de endereços do navegador.
Adequado pára enviar dados que não são sensíveis, como parâmetros de pesquisa em uma página de resultados.
Exemplo:
<title>Formulário GET</title>
Nome: <input type="text" name="nome"><br>
Idade: <input type="text" name="idade"><br>
$nome = $_GET['nome'];
$idade = $_GET['idade'];
echo "Nome: " . $nome . "<br>";
echo "Idade: " . $idade;
?>
POST:
Utilizado pára enviar dados de forma invisível ao usuário.Os dados são enviados no corpo da solicitação HTTP.Adequado pára enviar grandes volumes de dados.Os dados não são visíveis na barra de endereços do navegador.
Mais seguro do que GET, pois os dados não são expostos na URL.Adequado pára enviar dados sensíveis, como informações de formulários.
Exemplo:
<title>Formulário POST</title>
Nome: <input type="text" name="nome"><br>
Idade: <input type="text" name="idade"><br>
$nome = $_POST['nome'];
$idade = $_POST['idade'];
echo "Nome: " . $nome . "<br>";
echo "Idade: " . $idade;
?>
Os dados são enviados através de um formulário HTML <form method="post">.
SESSION:
Utilizado pára armazenar dados do lado do servidor pára uso em várias páginas durante a sessão do usuário.Os dados são armazenados no servidor, geralmente em arquivos de sessão ou em um banco de dados.Cada usuário recebe um ID de sessão úNicó, que é usado pára recuperar os dados da sessão associados a esse usuário.
Adequado pára armazenar informações de login do usuário, preferências do usuário, carrinho de compras em uma loja online, etc.
Os dados da sessão não são transmitidos pára o cliente, tornando-os mais seguros pára armazenar informações sensíveis.
Exemplo: $_SESSION['usuário'] = 'Joao';.
session_start(); // Inicia a sessão
$_SESSION['usuário'] = 'Joao';
?>
session_start(); // Inicia a sessão
echo "Bem-vindo, " . $_SESSION['usuário'];
?>
5. Considerando a linguagem JSP, explique a diferença do uso do método GET e POST na troca de dados entre um formulário HTML e a respectiva página JSP (considere o campo de input o nome “freq_lpi” do tipo de dados “integer”).
A principal diferença entre GET e POST na troca de dados entre um formulário HTML e uma página JSP está na forma como os dados são transmitidos: GET os anexa à URL como parâmetros de consulta visíveis, enquanto POST os envia no corpo da solicitação HTTP de forma invisível.
HTML
<title>Formulário HTML (Método GET)</title>
Frequência em LPI: <input type="number" name="freq_lpi" required><br>
<title>Processamento do Formulário JSP (Método GET)</title>
<h1>Dados Recebidos do Formulário (Método GET):</h1>
<p>A frequência em LPI recebida é: <%= freq_lpi %></p>
6 e 7 estão numa outra resolução
8. A linguagem PHP permite o uso de arrays simultaneamente com índices numéricos e não numéricos. Apresente um exemplo de construção e visualização de um desses arrays.
// Array de livros com índices numéricos e não numéricos
$livros = array(
array(
"título" => "Dom Casmurro",
"autor" => "Machado de Assis",
"ano_publicacao" => 1899
),
array(
"título" => "O Senhor dos Anéis",
"autor" => "J.R.R. Tolkien",
"ano_publicacao" => 1954
),
array(
"título" => "Harry Potter e a Pedra Filosofal",
"autor" => "J.K. Rowling",
"ano_publicacao" => 1997
),
"último" => array(
"título" => "1984",
"autor" => "George Orwell",
"ano_publicacao" => 1949
// Visualizando o conteúdo do array
echo "Livro 1: " . $livros[0]['título'] . " por " . $livros[0]['autor'] . ", Publicado em " . $livros[0]['ano_publicacao'] . "<br>";
echo "Livro 2: " . $livros[1]['título'] . " por " . $livros[1]['autor'] . ", Publicado em " . $livros[1]['ano_publicacao'] . "<br>";
echo "Livro 3: " . $livros[2]['título'] . " por " . $livros[2]['autor'] . ", Publicado em " . $livros[2]['ano_publicacao'] . "<br>";
echo "Último Livro: " . $livros['último']['título'] . " por " . $livros['último']['autor'] . ", Publicado em " . $livros['último']['ano_publicacao'] . "<br>";
?>
Índices Numéricos:
Os índices numéricos são aqueles que são representados por números inteiros, como 0, 1, 2, etc.
No exemplo dos livros, os índices numéricos são 0, 1 e 2, que representam os três primeiros livros na lista.
Esses índices são usados pára acessar os livros individualmente no array.
Índices Não Numéricos:
Os índices não numéricos são aqueles que não são representados por números inteiros, mas por strings ou outros tipos de dados.
No exemplo dos livros, o índice não numérico é "último", que representa o último livro na lista.
9. Exemplifique como na linguagem JSP se desabilita o uso da sessão.
Pára desabilitar o uso de sessão em uma página JSP, podemos adicionar a instrução "session" com o valor false no topo da página.
Isso indica ao contêiner JSP pára não criar ou usar uma sessão pára essa página.
Exemplo:
<title>Exemplo Sem Sessão</title>
<h1>Esta página não usa sessão</h1>
<p>Conteúdo da página...</p>
10. Escreva a função com o nome “f_dobro_tri_quad”, em PHP, que devolva simultaneamente o dobro, o triplo e o quadrado do valor passado em parâmetro, de nome “param1”, como referência.
function f_dobro_tri_quad(&$param1) {
$dobro = $param1 * 2;
$triplo = $param1 * 3;
$quadrado = $param1 * $param1;
// Atualiza o valor de $param1 com o dobro
$param1 = $dobro;
// Retorna os resultados como um array associativo
return array(
'dobro' => $dobro,
'triplo' => $triplo,
'quadrado' => $quadrado
}
// Exemplo de uso da função
$número = 5;
$resultados = f_dobro_tri_quad($número);
echo "Dobro: " . $resultados['dobro'] . "<br>";
echo "Triplo: " . $resultados['triplo'] . "<br>";
echo "Quadrado: " . $resultados['quadrado'] . "<br>";
echo "Valor atualizado de \$número: " . $número;
?>