Uma aplicação web simples com acesso a Banco de dados
1 - Uma aplicação web simples com acesso a Banco de dados
2 - Criação do Banco de Dados no mysql
A seguir é mostrado os procedimentos necessários para se criar um banco de dados para armazenar notícias, cada notícia será composta dos seguintes campos, descritos a seguir:
titulo: título da notícia
noticia: o texto completo da notícia
link: o endereço internet (url) da notícia original.
Os procedimentos foram criados para o SGBD MySQL.
Conectando no banco de dados
mysql -u root -p
Banco portal_noticias
Código:
CREATE DATABASE portal_noticias
Tabela Noticias
CREATE TABLE noticias (
titulo char(50),
noticia text,
link char(50)
);
Inserindo dados:
Código:
insert into noticias values ('titulo1', 'noticia1', 'http://www.uol.com.br');
insert into noticias values ('titulo2', 'noticia2', 'http://www.globo.com');
3 - Classe Noticia
A seguir temos uma implementação de uma classe Noticia, que possui os seguintes métodos:
conectar() - conecta no banco de dados e retorna uma conexão;
listar() - retorna uma lista de todas notícias disponíveis no banco de dados;
métodos getters - são métodos do tipo get*, que retornam valores das propriedades;
Código:
package portal_noticias;
import java.util.*;
import java.sql.*;
public class Noticia {
static Connection conexao = null;
private String titulo, noticia, link;
public Noticia(String titulo,String noticia,String link) {
this.titulo = titulo;
this.noticia = noticia;
this.link = link;
}
private static Connection conectar() throws ClassNotFoundException, SQLException {
if (conexao == null) {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
conexao = DriverManager.
getConnection("jdbc:mysql://localhost/portal_noticias?user=root&password=root");
return conexao;
}
else return conexao;
}
public static List$lt;Noticia$gt; listar() throws SQLException, ClassNotFoundException{
String titulo, link, noticia;
ArrayList$lt;Noticia$gt; noticias = new ArrayList$lt;Noticia$gt;();
Connection conexao = conectar();
Statement consulta = conexao.createStatement();
ResultSet resultado =
consulta.executeQuery(
"SELECT titulo,link,noticia FROM noticias");
while (resultado.next()) {
titulo = resultado.getString("titulo");
noticia = resultado.getString("noticia");
link = resultado.getString("link");
noticias.add(new Noticia(titulo,noticia,link));
}
resultado.close();
return noticias;
}
public String getTitulo() {
return titulo;
}
public String getNoticia() {
return noticia;
}
public String getLink() {
return link;
}
}
Baixe o código-fonte acima neste link:
http://pt.wikinourau.org/pub/GrupoJava/ ... ticia.java
Perceba nesta implementação da classe Noticias:
4 - noticia_visualizar.jsp
A seguir temos um arquivo com código-fonte JSP com HTML. Note que o código JSP é delimitado com:
Delimitador Descrição
$lt;% Abertura de código JSP
%$lt; Fechamento de código JSP
Para poder utilizar uma classe em seu código JSP, é necessário utilizar:
Código:
$lt;%@ page import="portal_noticias.Noticia" %$gt;
$lt;%@ page import="portal_noticias.Noticia" %$gt;
$lt;%@ page import="java.util.List" %$gt;
$lt;html$gt;
$lt;head$gt;$lt;title$gt;Listagem de notícias$lt;/title$gt;$lt;/head$gt;
$lt;body$gt;
$lt;h1$gt;Listagem de notícias$lt;/h1$gt;
$lt;%
List$lt;Noticia$gt; noticias = (List$lt;Noticia$gt;) request.getAttribute("noticias");
for (Noticia noticia: noticias) {
%$gt;
$lt;%= noticia.getTitulo() %$gt;
$lt;br$gt;$lt;%= noticia.getNoticia() %$gt;
$lt;br$gt;$lt;a href="$lt;%= noticia.getLink() %$gt;"$gt;$lt;%= noticia.getLink() %$gt;$lt;/a$gt;
$lt;hr$gt;
$lt;%
}
%$gt;
$lt;br$gt;$lt;a href="index.jsp"$gt;voltar$lt;/a$gt;
$lt;/body$gt;
$lt;/html$gt;
Baixe o código-fonte acima neste link:
http://pt.wikinourau.org/pub/GrupoJava/ ... alizar.jsp
5 - Classe NoticiaControle
Código:
package portal_noticias;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class NoticiaControle extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
List$lt;Noticia$gt; noticias = new ArrayList$lt;Noticia$gt;();
String acao = request.getParameter("acao");
if (acao.equals("visualizar")) {
PrintWriter out = response.getWriter();
try {
noticias = Noticia.listar();
} catch (Exception e) {
out.print("erro: ");
for (StackTraceElement ste: e.getStackTrace())
out.print(ste.toString()+"\n");
}
request.setAttribute("noticias", noticias);
RequestDispatcher rd = request.getRequestDispatcher("/noticia_visualizar.jsp");
rd.forward(request,response);
}
}
}
6 - Arquivo index.jsp
Código:
$lt;html$gt;
$lt;head$gt;$lt;title$gt;Portal de notícias$lt;/title$gt;$lt;/head$gt;
$lt;body$gt;
$lt;h1$gt;Portal de Notícias$lt;/h1$gt;
$lt;br$gt;$lt;a href="/noticias/noticia?acao=visualizar"$gt;listar$lt;/a$gt;
$lt;/body$gt;
$lt;/html$gt;
Baixe o código-fonte acima neste link:
http://pt.wikinourau.org/pub/GrupoJava/ ... /index.jsp
7 - Arquivo web.xml
Código:
$lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
web-app_2_4.xsd"
version="2.4"$gt;
$lt;servlet$gt;
$lt;servlet-name$gt;NoticiaControle$lt;/servlet-name$gt;
$lt;servlet-class$gt;portal_noticias.NoticiaControle$lt;/servlet-class$gt;
$lt;/servlet$gt;
$lt;servlet-mapping$gt;
$lt;servlet-name$gt;NoticiaControle$lt;/servlet-name$gt;
$lt;url-pattern$gt;/noticia$lt;/url-pattern$gt;
$lt;/servlet-mapping$gt;
$lt;/web-app$gt;
Baixe o código-fonte acima neste link:
http://pt.wikinourau.org/pub/GrupoJava/ ... BD/web.xml
8 - Exercícios
1) Baseado no arquivo cadastrar.html logo abaixo, que é um Formulário de cadastro de notícias, implemente a inclusão
Código:
$lt;h1$gt;Cadastro de noticias$lt;/h1$gt;
$lt;form action="cadastrar.php" method="get"$gt;
$lt;table$gt;
$lt;tr$gt;
$lt;td$gt;Titulo: $lt;/td$gt;
$lt;td$gt;$lt;input type="text" name="titulo" size=50$gt; $lt;/td$gt;
$lt;/tr$gt;
$lt;tr$gt;
$lt;td$gt;Texto: $lt;/td$gt;
$lt;td$gt;$lt;textarea name="noticia" cols=50$gt;$lt;/textarea$gt; $lt;/td$gt;
$lt;/tr$gt;
$lt;tr$gt;
$lt;td$gt;Link: $lt;/td$gt;
$lt;td$gt;$lt;input type="text" name="link" size=50$gt;$lt;/td$gt;
$lt;/tr$gt;
$lt;tr$gt;
$lt;td$gt;$lt;/td$gt;
$lt;td$gt;$lt;input type="submit" value="entrar"$gt;$lt;input type="reset" value="limpar"$gt;$lt;/td$gt;
$lt;/tr$gt;
$lt;/table$gt;
$lt;/form$gt;
Baixe o código-fonte acima neste link: http://pt.wikinourau.org/pub/GrupoJava/ ... strar.html
2) Implemente as operações de alteração, inserção e deleção.
Estava usando Java no Site da minha corretora de seguros mas estava deixando um pouco lento e prejudicando na colocação do Google. O que posso fazer para manter a velocidade de carregamento mais alta?
Valeu! Estou em projeto para uma transportadora com banco de dados.
Era que eu estava buscando obrigado.
Xo สล็อตออนไลน์ โปรสล็อต XO เกมออนไลน์ทำเงินยอดฮิตเกมสล็อต xopg.net คือเกมทำเงิน reeffutures2018 ผ่านทางออนไลน์อย่างหนึ่ง ที่เล่นง่าย และได้เงินไว แถมยังลงทุนด้วยเงินน้อย mavoixtavoie ทำเงินได้ตลอดเวลา ซึ่งหลายคนอาจได้เคยเห็นรีวิวเรื่องของ สล็อต xo สล็อตออนไลน์ ไว้มากมาย เทคนิคสล็อต ทั้งเรื่องการเล่นแล้วได้เงิน herbalpertpresents และเล่น สล็อต แล้วไม่ได้เงิน นั่นเองค่ะ ซึ่งการที่คุณจะเล่นได้เงินหรือไม่ได้เงินนั้น essentialsforasoul ส่วนหนึ่งก็เป็นในเรื่องของดวงเข้ามาเกี่ยวด้วย northbristol เพราะสล็อตเป็นเกมออนไลน์เสี่ยงโชค ทดลองเล่น xo เกมหนึ่งซึ่งจะมีสูตร หรือเทคนิคเข้ามาช่วย gclub เพื่อโกงดวงอยู่เสมอซึ่งในเว็บของเรา สมัคร xo ก็มีมาแนะนำไว้ให้เห็นกันมากมายหลายสูตร