linux 下用 eclipse 开发 JSP 连接 MySQL 报错 500 提示查询语句处有问题

只为一世逍遥 2015-04-12 09:16:13
我用原来的查SQL 的查询语句直接上Mysql
数据库已经连接上了,测试过
这是源代码:
<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.*,java.sql.*"%>
<%
request.setCharacterEncoding("GBK");
//链接数据库程序
Class.forName("org.gjt.mm.mysql.Driver");
//Connection conn = DriverManager.getConnection( -------SQL桥
// "jdbc:odbc:bookshoplk", "sa", "");
Connection connect = DriverManager
.getConnection("jdbc:mysql://localhost:3306/bookshop?user=root&password=root&useUnicode=true&characterEncoding=GBK");
//Statement stmt = conn.createStatement( ---------- SQL的连接
// ResultSet.TYPE_SCROLL_INSENSITIVE,
// ResultSet.CONCUR_READ_ONLY);
Statement stmt = connect.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs = null;
//rs结果集
String s_where = (String) session.getAttribute("s_where");
String s_bookid = "";
String s_bookname = "";
String s_author = "";
String s_publisher = "";
String s_price = "";
int i_totalnum = 0;//book number

rs = stmt
.executeQuery("select count(distinct bookid) from book left join publisher on book.publisherid=publisher.publisherid where bookid is not null "
+ s_where);
rs.next();
i_totalnum = rs.getInt(1);
%>
<%
if (i_totalnum != 0) {//显示的是查询结果
%>
<table border=1>
<tr>
<td width=30%>书号</td>
<td width=30%>书名</td>
<td width=10%>作者</td>
<td width=15%>出版社</td>
<td width=30%>价格</td>
</tr>
<%

rs= stmt
.executeQuery("select * from book left join publisher on book.publisherid=publisher.publisherid where bookid is not null "
+ s_where + " order by bookid ");
for (int i = 0; i <= i_totalnum; i++) {
if (!rs.isLast()) {
rs.next();
s_bookid = rs.getString("bookid");
s_bookname = rs.getString("bookname");
s_author = rs.getString("author");
s_price = rs.getString("price");
s_publisher = rs.getString("name");
%>
<tr>
<td><%=s_bookid%></td>
<td><%=s_bookname%></td>
<td><%=s_author%></td>
<td><%=s_publisher%></td>
<td><%=s_price%></td>
</tr>
<%
}
}
%>
</table>
<%
} else {
String temp = "没有您要找的书,请重新搜索!返回。";
temp = java.net.URLEncoder.encode(temp.toString(), "gbk");
response.sendRedirect("error.jsp?error=" + temp);
//显示,为查询到结果
%>
<!-- ---
<table>
<tr>
<td>
<img src="../img/sorry.jpeg" />
</td>
</tr>
<tr>
<td>
没有您要找的书,请
<a href="search.jsp">重新搜索</a>
</td>

</tr>
</table>
-->

<%
}
%>

这是错误提示:

type Exception report

message An exception occurred processing JSP page /cust/booklist.jsp at line 28

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /cust/booklist.jsp at line 28

25: int i_totalnum = 0;//book number
26:
27: rs = stmt
28: .executeQuery("select count(distinct bookid) from book left join publisher on book.publisherid=publisher.publisherid where bookid is not null "
29: + s_where);
30: rs.next();
31: i_totalnum = rs.getInt(1);


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:454)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

javax.servlet.ServletException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'book.publisherid' in 'on clause'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:908)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:837)
org.apache.jsp.cust.booklist_jsp._jspService(booklist_jsp.java:224)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'book.publisherid' in 'on clause'
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
com.mysql.jdbc.Connection.execSQL(Connection.java:3206)
com.mysql.jdbc.Statement.executeQuery(Statement.java:1232)
org.apache.jsp.cust.booklist_jsp._jspService(booklist_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:431)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.20 logs.

...全文
411 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
只为一世逍遥 2015-04-12
  • 打赏
  • 举报
回复
我用的linux 啊,那块有错啊
似梦飞花 2015-04-12
  • 打赏
  • 举报
回复
windows下不报错吗? Unknown column 'book.publisherid' in 'on clause'
microhex 2015-04-12
  • 打赏
  • 举报
回复
book.publisherid 这列你是不是打错了啊。。。不是book.bookid 吗???
只为一世逍遥 2015-04-12
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
windows下不报错吗? Unknown column 'book.publisherid' in 'on clause'
但是我在ubuntu 下就报错了
只为一世逍遥 2015-04-12
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
windows下不报错吗? Unknown column 'book.publisherid' in 'on clause'
windows 下 连接sql 这句话没有问题啊
书名:JSP 2.0 技术手册(电子书) 格式:PDF 出版:电子工业出版社 作者:林上杰、林康司 本书图文并茂,以丰富的实例为引导,全面介绍了主流的 Java Web 开发技术—— JSP 2.0,重点介绍Java在展示层的两项重要技术:Java Servlet与JavaServer Pages。 它们是最重要的 Java 核心技术。对这两项技术的深入了解,将有助于您未来对于 JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1 Servlet 简介 2-2 First Servlet Sample Code 2-3 Servlet 的生命周期 2-4 Servlet 范例程序 2-5 Servlet 2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与 Servlet 的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ 的比较 3-6 JSP 2.0 新功能 第四章 JSP 语法 4-1 Elements 和 Template Data 4-2 批注(Comments) 4-3 Quoting 和 Escape 规则 4-4 Directives Elements 4-5 Scripting Elements 4-6 Action Elements 4-7 错误处理 第五章 隐含对象(Implicit Object) 5-1 属性( Attribute ) 与范围( Scope ) 5-2 与 Servlet 有关的隐含对象 5-3 与 Input / Output 有关的隐含对象 5-4 与 Context 有关的隐含对象 5-5 与 Error 有关的隐含对象 第六章 Expression Language 6-1 EL 简介 6-2 EL 语法 6-3 EL 隐含对象 6-4 EL 算术运算符 6-5 EL 关系运算符 6-6 EL 逻辑运算符 6-7 EL 其他运算符 6-8 EL Functions 第七章 JSTL 1.1 7-1 JSTL 1.1 简介 7-2 核心标签库(Core tag library) 7-3 I18N 格式标签库(I18N-capable formatting tags library) 7-4 SQL 标签库(SQL tag library) 7-5 XML 标签库(XML tag library) 7-6 函数标签库(Functions tag library) 第八章 JSP 与 JavaBean 8-1 JavaBean 的简介 8-2 JSP 与 JavaBean 8-3 JavaBean 的范围 8-4 JavaBean 的移除 第九章 网页窗体的处理 9-1 HTML 窗体如何传送数据 9-2 窗体中常见的输入类型 9-3 JSP 处理窗体 9-4 文件上传—— Oreilly 上传组件 9-5 jspSmartUpload ——上传和下载 9-6 本文区输入类型(Textarea) 第十章 Session Tracking 10-1 Stateful & Stateless 10-2 Session Tracking 的四种方法 10-3 Session 的生命周期 10-4 HttpSessionBindingListener 接口 10-5 Shopping Cart 范例程序一 10-6 Shopping Cart 范例程序二 第十一章 Filter 与 Listener 11-1 Filter 简介 11-2 Filter 的运作方式 11-3 实现阶段第一个 Filter 11-4 对请求做统一的认证处理 11-5 ServletRequest 和 ServletResponse 之 Wrapper 类 11-6 使用 Filter 来解决中文问题 11-7 Listener 接口简介 11-8 ServletContext Listener 11-9 HttpSession Listener 11-10 ServletRequest Listener 第十二章 JSP 执行环境与开发工具 12-1 Tomcat 5.0 的介绍 12-2 JSP 开发工具介绍 12-3 Eclipse 简介与安装 12-4 使用 Eclipse 开发 Hello

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧