Galera estou com uma dúvida em JSP, quero que quando o usuário click no botão ele abra uma outra pagina jsp.
Funciona assim, tenho uma comboBox, ele pega informações no banco, quando clica no botão, ele pega essa chave e joga para uma query, dessa query, ele seta os valores que vieram do banco, e também abre uma jsp para as informações.
Eu fiz assim só para teste, só quero entender como eu faço para abrir a página jsp com as informações.
Tenho configurado no XML.
[color=red]XML[/color]
<servlet>
<servlet-name>GerarRelatorio</servlet-name>
<servlet-class>br.com.sein.relatorio.BoletimHtml</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GerarRelatorio</servlet-name>
<url-pattern>/gerarRelatorio</url-pattern>
</servlet-mapping>
[color=red]JSP INDEX[/color]
<%@page import="java.awt.Button"%>
<%@ page import="br.com.sein.dao.AnalysisDAO, br.com.sein.bean.PrintAnalysisBean, java.text.SimpleDateFormat, java.sql.Date " %>
<%@ page import="java.util.*, java.sql.SQLException" %>
<%@ page import="java.sql.*" %>
<%@ page import="org.postgresql.Driver" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>CETEM - Centro Tecnologico Mineral</title>
</head>
<body>
<br />
<img src="imagens/cetem.png" alt="" width="200" height="60" align="top">
<br />
<br />
<br />
<!--Conexão com o banco de dados -->
<%
String url = "jdbc:postgresql://172.16.0.160:5432/sca"; //Informe a porta de conexão. Assim você garante todas as informações de conexão.
String username = "postgres";
String password = "";
Class.forName("org.postgresql.Driver");//Não precisa chamar o método newInstance, basta assim como coloquei.
Connection conn = DriverManager.getConnection( url, username, password );
%>
<br />
<!--Inicio da construção da tabela Top -->
<form action="gerarRelatorio" method="post" onclick="relatorio.jsp">
<table align="center">
<tr>
<td align="center"><a style="color:#FFD700"> SCA - Sistema para Controle de Análises Minerais</a></td>
</tr>
<tr align="center">
<td>
<a style="color:black">Obs: No caso de TRAVAMENTO durante o processamento pressione a tecla 'SHIFT' <br /> simultaneamente com o botão 'ATUALIZAR'</a>
</td>
</tr>
</table>
<br />
<!--Inicio da construção da tabela center -->
<table align="center" style="background-color:#27408B;">
<tr>
<td align="center"><h4><a style="color:#FFD700">Resultados / Impressão de Boletins de Análise</a></h4>
<input type="submit" value="Gerar Relatório" name="bottonSca" style="font-size: 10 pt; font-family: arial" />
</td>
</tr>
<tr>
<td>
<h5><a style="color:white;"><b>Boletins:</b> (Data de Geração, Código do Boletim, Código da SA, Sigla do Projeto e Nome do Cliente) *</a></h5>
<!--ComboBox -->
<select name="imprimir_analise" >
<%
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy HH:mm");
//formato.format(new Date(System.currentTimeMillis()));
AnalysisDAO dao = new AnalysisDAO();
List<PrintAnalysisBean> bean = dao.getComboBox();
for(PrintAnalysisBean analysisBean: bean){
%>
<option value="<%= analysisBean.getCodeBulletin() %>" >
<%
out.print(formato.format(new Date(analysisBean.getDateGeneration().getTime())) + " : " +
analysisBean.getCodeBulletin() + " : " +
analysisBean.getCodeSa() + " : " +
analysisBean.getAcronym() + " : " + " " +
analysisBean.getNameClient());
%>
</option>
<%
}
%>
</select>
<br />
</td>
</tr>
</table>
</form>
</body>
</html>
[color=red]JSP relatorio[/color]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="br.com.sein.dao.AnalysisDAO, br.com.sein.bean.PrintAnalysisBean, java.text.SimpleDateFormat, java.sql.Date " %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Relatorio</title>
</head>
<body>
<img src="imagens/cetemintra.png" alt="" width="200" height="60" align="top" >
<br />
MCT - Ministério de Ciência e Tecnologia / CETEM - Centro de Tecnologia Mineral <br />
COAM - Coordenação de Análises Minerais / Emissão <br />
<b> SCA / Boletim de Análise Minerais /</b>
<br />
<hr />
<br />
<br />
<%
PrintAnalysisBean bean = new PrintAnalysisBean();
%>
<table border="1" align="center" width="60%">
<tr>
<td colspan="4" align="center"> Boletim de Análises Nº <% bean.getCodeBulletin(); %> </td>
</tr>
<tr>
<td> Código da SA: <br /> </td>
<td> Cliente: <br /> </td>
<td colspan="2"> Solicitante: <br /> </td>
</tr>
<tr>
<td> Sigla do Projeto: <br /></td>
<td> Titulo do Contrato: <br /></td>
<td> Recepção Em: <br /> </td>
<td> Boletim Gerado Em: <br /></td>
</tr>
</table >
<br />
<br />
<br />
<br />
<table border="1" align="center" width="60%" bordercolor="blue">
<tr>
<td colspan="11" align="center"> Resultados Analíticos </td>
</tr>
<tr>
<td>Itens do<br /> contrato</td>
<td> Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
</tr>
<tr>
<td>Itens do<br /> contrato</td>
<td> Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
</tr>
<tr>
<td>Itens do<br /> contrato</td>
<td> Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
<td>Teste para valor</td>
</tr>
</table>
<br />
<br />
<br />
<br />
<table width="60%" border="1" align="center">
<tr>
<td align="center">Métodos Analíticos utilizados nas Determinações</td>
</tr>
<tr>
<td>AACH:</td>
</tr>
</table>
<br />
<br />
<br />
<br />
<hr />
<table align="center">
<tr>
<td align="center"><h5> Avenida Ipê, 900 - Ilha da Cidade Universitária - CEP 21941-590 - Rio de Janeiro - RJ <br />
Tel:(21) 3865-7366 ; Fax:(21) 2290-4286 ; E-mail: alcover@cetem.gov.br </h5></td>
</tr>
<tr>
<td align="center"><h4> </h4></td>
</tr>
</table>
</body>
</html>
[color=red]controle[/color]
package br.com.sein.relatorio;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.sein.bean.PrintAnalysisBean;
import br.com.sein.dao.AnalysisDAO;
import br.com.sein.jdbc.ConnectionFactory;
public class BoletimHtml extends HttpServlet{
private Connection connection;
public BoletimHtml() throws SQLException{
this.connection = new ConnectionFactory().getConnection();
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String codigoBoletim = request.getParameter("imprimir_analise");
try{
StringBuffer sql = new StringBuffer();
sql.append("select sa.sa_con, sa.sa_bol, sa.sa_dba, cli.cli_nome, con.con_sigla, con.con_titulo, sa.sa_din, sa.sa_dua ");
sql.append("from Sa sa, Contratos con, Clientes cli ");
sql.append("where (SUBSTR(sa.sa_con,1,4)='2011' ");
sql.append("OR SUBSTR(sa.sa_con,1,4)='2012') ");
sql.append("AND (SUBSTR(sa.sa_con,1,8)=con.con_codigo) ");
sql.append("AND sa.sa_sit=4 AND con.con_resp=cli.cli_logon ");
sql.append("AND sa.sa_bol = "+ "'" + codigoBoletim + "'" + " ORDER BY sa.sa_dba DESC,sa.sa_Bol;");
List<PrintAnalysisBean> print = new ArrayList<PrintAnalysisBean>();
PreparedStatement stmt = this.connection.prepareStatement(sql.toString());
ResultSet rs = stmt.executeQuery();
PrintAnalysisBean bean = new PrintAnalysisBean();
while(rs.next()){
bean.setCodeBulletin(rs.getString("sa_bol")); //Codigo do Boletin
bean.setCodeSa(rs.getString("sa_con")); //Codigo SA
bean.setNameClient(rs.getString("cli_nome"));// nome do cliente
//Solicitante
bean.setAcronym(rs.getString("con_Sigla")); //Sigla
bean.setDateGeneration(rs.getTimestamp("sa_Dba"));
print.add(bean);
}
System.out.println(bean.getCodeBulletin());
System.out.println(bean.getCodeSa());
System.out.println(bean.getNameClient());
System.out.println(bean.getAcronym());
}catch(SQLException e){
throw new RuntimeException(e);
}
}
}
Ainda tenho outras implementações e acertos para realizar, mais preciso só tirar essa dúvida.