Pagina de Busca

7 respostas
A

Ola pessoal, eu estou desenvolvendo um trabalho, que consiste de uma pagina de busca, que irá no banco de dados MySql, e irá retornar os resultados mais semelhantes…ele trabalhará em cima de uma revista eletronica.
Bem a consulta eh dividia entre artigo(no caso uma palavra que remeta a ele), revista(no caso, retornar tudo que tiver cadastrado na revista) e por periodo(dando uma data inicial e final)

Eu to tendo dificuldade em criar o código, pois eu costumo trabalhar com php…então to sofrendo muiiiito pra pode assimilar como desenvolver…

eu comecei a consulta usando um código de outra pag, que faz uma consulta ao banco de dados e retorna um artigo…mas como eu não sou muito bom em manipulação de objetos, eu to tendo dificuladades em pegar os valores das caixas de texto…eu sei que pode parecer idiota mas é isso…

o código é esse…alguem pode me dar uma luz???

<%@ page language=“java” import=“java.util.,java.sql.” pageEncoding=“UTF-8”%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>
<% Connection conn = null; try { try { Class.forName("org.gjt.mm.mysql.Driver").newInstance(); } catch (InstantiationException e) { throw new ServletException(e.getMessage()); } catch (IllegalAccessException e) { throw new ServletException(e.getMessage()); } } catch (ClassNotFoundException e) { e.printStackTrace(); throw new ServletException(e.getMessage()); } try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spel?user=root&password=spel"); } catch (SQLException e) { throw new ServletException(e.getMessage()); } %>
<% 	        
    try {
		Statement stmt =  conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
		String sql = "SELECT * from artigos where ArtTitulo Like '%"+artigo.getText()+"%';");
		ResultSet rst = stmt.executeQuery(sql);
		int cont = 0;
		while (rst.next()){%>
Busca
<%out.println(rst.getString("arttitulo"));%>
<% String testes = rst.getString("artconteudo"); String a = null; a = testes.replaceAll("<","<"); a= a.replaceAll(">",">"); a= a.replaceAll(""",""); a= a.replaceAll("&","&"); out.println(a); %>
 
Artigo
 
Revista
 
Periodo
 
até

 

 

 

 

 

 

 

7 Respostas

Luca

Olá

Pare tudo e estude mais um pouco. E também com Java ninguém coloca código dentro de páginas JSP que seria terrível para fazer manutenção.

[]s
Luca

A

o código java eh gerado por uma aplicação que meu grupo está desenvolvendo…ela gera a revista e também através dela, que será feita a config e manutenção da mesma…dai a existencia do código…

até o momento eu estava empenhado na documentação do projeto, mas decidi que eu queria fazer algo mais…por isso não sei tanto quanto eles…se você puder indicar um local onde eu possa ler algo a respeito eu agradeceria

Luca

Olá

Baixe os 2 tutorias free da Caelum. Leia o FJ11 com bastante calma e atenção antes de passar para o FJ21.

[]s
Luca

A

bem...eu ja consigo pegar os valores que eu quero(rss) mas agora to com um erro que eu num to conseguindo descobrir o que é

Esse é o código que eu to compilando:

<link href="includes/css/body.css" rel="stylesheet" type="text/css">
<%@ page import="java.sql.*" %>
<%
Connection conn = null;
try {
	try {
		Class.forName("org.gjt.mm.mysql.Driver").newInstance();
	} catch (InstantiationException e) {
		throw new ServletException(e.getMessage());
	} catch (IllegalAccessException e) {
		throw new ServletException(e.getMessage());
	}
} catch (ClassNotFoundException e) {
	e.printStackTrace();
	throw new ServletException(e.getMessage());
}
try {
	conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/spel?user=root&password=spel");
} catch (SQLException e) {
	throw new ServletException(e.getMessage());
}
%>

<%

String art = request.getParameter("artigo");
String rev = request.getParameter("revista");
String per_inicio = request.getParameter("inicio");
String per_fim = request.getParameter("fim");
int select = request.getParameter("selecao");
%>
<table width="905" height="252" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="291"><div align="center">Busca</div></td>
    <td width="10" rowspan="2"><br>
</td></tr>
<tr>
<td width="291"><form name="Pesquisa" method="post" action="busca.jsp">
      <table width="200" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><label>
          <input type="radio" name="selecao" value="1">
Artigo</label></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="artigo" type="text" id="artigo">
          </div></td>
        </tr>
        <tr>
          <td><label>
            <input type="radio" name="selecao" value="2">
Revista</label></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="revista" type="text" id="revista">
          </div></td>
        </tr>
        <tr>
          <td><label>
            <input type="radio" name="selecao" value="3">
Periodo</label></td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="inicio" type="text" id="inicio">
          </div></td>
        </tr>
        <tr>
          <td>at&eacute;</td>
        </tr>
        <tr>
          <td><div align="center">
            <input name="fim" type="text" id="fim">
          </div></td>
        </tr>
        <tr>
          <td><input type="submit" name="Submit" value="Submit"></td>
        </tr>
      </table>
    </form></td>
<td valign="top" width="600">


	
	
	<% 	   

		try {
			Statement stmt =  conn.createStatement();
			String sql = "SELECT * from artigos WHERE ArtTitulo Like  Like '%cinco%'";    
			ResultSet rst = stmt.executeQuery(sql);
			int cont = 0;
			while (rst.next()){
				cont++;
			}
			int metade = cont/2;
			cont=0;
			rst.beforeFirst();
			while ((rst.next())&&((cont<metade)||(metade==0))){
				cont++;
				out.println("<table width=\"100%\" border=\"0\" cellspacing=\"2\" )+"\" cellpadding=\"2\">");
					out.println("<tr> ");
					out.println("<td height=\"18\" ><div align=\"left\"><a href=\"javascript://nop/\" onclick=\"javascript:abrir('includes/artigo.jsp?codart="+rst.getInt("Artcodigo")+"','teste')\">"+rst.getString("ArtTitulo")+"<br></a></div></td>");
					out.println("</tr>		");		
					out.println("<tr> ");
					out.println("<td height=\"18\" ><p>"+rst.getString("ArtChamada")+"</p></td>");
					out.println("</tr>");
					out.println("<tr> ");
					out.println("</tr>");
					out.println("</table>");		
				}
				out.println("</CENTER>");
				out.println("</td>");
				out.println("<td width=\"2\" background=\"imagens/x_ver.gif\"></td>");
				out.println("<td width=\"6\">&nbsp;</td>");
				out.println("<td width=\"2\" background=\"imagens/x_ver.gif\"></td>");
				out.println("<td valign=\"top\" width=\"100%\">");
				rst.previous();
			out.println("<CENTER>");
				while (rst.next()){
					out.println("<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">");
					out.println("<tr class=\"titulo\"> ");
					out.println("<td height=\"18\" ><div align=\"left\"><a href=\"javascript://nop/\" onclick=\"javascript:abrir('includes/artigo.jsp?codart="+rst.getInt("Artcodigo")+"','teste')\">"+rst.getString("ArtTitulo")+"<br> </a></div></td>");
					out.println("</tr>		");		
					out.println("<tr> ");
					out.println("<td height=\"18\" ><p>"+rst.getString("ArtChamada")+"</p></td>");
					out.println("</tr>");
					out.println("<tr> ");
					out.println("</tr>");
					out.println("</table>");
				}
							out.println("</CENTER>");
			stmt.close();
			rst.close();
			conn.close();
		} catch (SQLException e) {
			throw new ServletException(e.getMessage());
		}
%>
</td>
<td width="4" background="imagens/x_ver.gif"></td>
</tr>
</table>
<form name="form1" method="post" action="">
  <p>
    <label></label>
    <br>
    <label>    </label>
    <br>
    <label>    </label>
    <br>
  </p>
</form>

esse é o erro:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 88 in the jsp file: /www.com.br1/busca.jsp
Generated servlet error:
Syntax error on token "Invalid Character", , expected


	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause 

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 88 in the jsp file: /www.com.br1/busca.jsp
Generated servlet error:
Syntax error on token "Invalid Character", , expected


	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.15
Luca

Olá

O tomcat está subindo usando o JRE? Ele precisa do JDK para poder compilar os JSPs.

[]s
Luca

A

o tomcat está usando os dois…tanto o jdk quanto o jre

bebad

po brother, teu codigo ta mto mal desenvolvido, vc coloca tudo junto numa classe só.
nao pode nao cara, se tu precisar fzer outro site vai se embananar todo com esse codigo java no meio do html, e outra isso eh mto sujeito a falhas…vc precisa pensar em tudo broou…

vlw

Criado 14 de outubro de 2006
Ultima resposta 20 de out. de 2006
Respostas 7
Participantes 3