问题描述
我想搞个模糊搜索框搜索sql数据库并输出来但出不来大神教教我是不是搜索语句错了?这是搜索框<formaction="inseach.jsp"method="post"><inputname="name"type="text"value="请输入关键字">下面是JSP代码<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@pageimport="java.sql.*"%><%@pageimport="qouwuche.*"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>MyJSP'inseach.jsp'startingpage</title></head><body><%!publicstaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";publicstaticfinalStringDBURL="jdbc:mysql://localhost:3306/qiu";publicstaticfinalStringDBUSER="root";publicstaticfinalStringDBPASS="3306";%><%request.setCharacterEncoding("utf-8");Stringname=request.getParameter("name");Connectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;%><%=name%><%try{Class.forName(DBDRIVER);conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);Stringsql="SELECT*FROMallWHEREnameLIKE'%"+name+"%'";pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();%><%//这里定义过方法while(rs.next()){Stringimg=rs.getString(1);Stringtype=rs.getString(2);Stringna=rs.getString(3);Stringprice=rs.getString(4);Stringid=rs.getString(5);%><table><tr><td><imgsrc="goods/<%=img%>"width="300"heigh="300"></td><td>商品类别:<%=type%><br>商品名称:<%=na%><br>商品单价:<%=price%><br></td></tr><%}%></table><%}catch(Exceptione){System.out.println(e);}finally{pstmt.close();conn.close();}%></body></html>
解决方案
解决方案二:
报什么错误吗?可以尝试着这样做下Stringsql="SELECT*FROMallWHEREnameLIKE'%"+name+"%'";打印下这句System.out.println(sql);然后把内容拷贝到数据库里执行下,看看结果对不对
解决方案三:
用Myeclipse打断点调试看看;你把页面上报的500的错误贴出来看看。
解决方案四:
什么报错都没有出来个空白页
解决方案五:
先看你后台有没有报错,如果没有,用谷歌浏览器的F12调试,看页面有没有报错的,你的JSP代码写的有点乱。。
解决方案六:
你先把sql写到数据库执行一下,看看有数据没有,如果能正常查出来,第二步,页面打印出sql,接着看看执行sql的代码有么有顺利完成,不就知道问题出在那部分了么?
解决方案七:
driver换一下:publicstaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";换成:com.mysql.jdbc.Driver。。。。
解决方案八:
你走个断点看看<td>商品类别:<%=type%><br>商品名称:<%=na%><br>商品单价:<%=price%><br></td></tr>这里对应的type····是否有值
解决方案九:
你debug调试看看。