我做了个添加图书的页面add_book.jsp,其action是跳转到addend.jsp页中,测试时总说insert有错。标点和那些名称我都确认过了,没错。可它测试时总说insert into语句有错。谁知道错在哪能里呢?帮帮我啊!!下面是addend.jsp的代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.Date" errorPage="" %>
<%@include file="conn.jsp" %>
<%!
//String transform(String content)
//{
//content=content.replaceAll("&","&");
//content=content.replaceAll("<","<");
//content=content.replaceAll(" "," ");
//content=content.replaceAll(">",">");
//content=content.replaceAll("\n","<br>");
//return content;
//} %>
<%
request.setCharacterEncoding("gb2312");//为了添加到数据库中的数据消除中文显示乱码隐患//下一段程序用于提取网页中输入的信息存入到相应的变量中,以备后面添加语句中使用
String bookno,sortno,title,author,price,number;
bookno=request.getParameter("bookno").trim();
sortno=request.getParameter("sortno").trim();
title=request.getParameter("title").trim();
author=request.getParameter("author").trim();
price=request.getParameter("price").trim();
number=request.getParameter("number").trim();//结束//生成sql命令语句
String sqlcmd,sqlcmd1,sqlcmd2;
sqlcmd="insert into books(bookno,sortno,title,author,price,number) values('";
out.print(sqlcmd);
sqlcmd1=bookno+"','"+sortno+"','"+title+"','"+author+"','"+price+"','"+number+"')";
sqlcmd2=sqlcmd+sqlcmd1;
//执行sql命令
stmt.execute(sqlcmd);
response.sendRedirect("succ_wait.jsp");
%>
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.Date" errorPage="" %>
<%@include file="conn.jsp" %>
<%!
//String transform(String content)
//{
//content=content.replaceAll("&","&");
//content=content.replaceAll("<","<");
//content=content.replaceAll(" "," ");
//content=content.replaceAll(">",">");
//content=content.replaceAll("\n","<br>");
//return content;
//} %>
<%
request.setCharacterEncoding("gb2312");//为了添加到数据库中的数据消除中文显示乱码隐患//下一段程序用于提取网页中输入的信息存入到相应的变量中,以备后面添加语句中使用
String bookno,sortno,title,author,price,number;
bookno=request.getParameter("bookno").trim();
sortno=request.getParameter("sortno").trim();
title=request.getParameter("title").trim();
author=request.getParameter("author").trim();
price=request.getParameter("price").trim();
number=request.getParameter("number").trim();//结束//生成sql命令语句
String sqlcmd,sqlcmd1,sqlcmd2;
sqlcmd="insert into books(bookno,sortno,title,author,price,number) values('";
out.print(sqlcmd);
sqlcmd1=bookno+"','"+sortno+"','"+title+"','"+author+"','"+price+"','"+number+"')";
sqlcmd2=sqlcmd+sqlcmd1;
//执行sql命令
stmt.execute(sqlcmd);
response.sendRedirect("succ_wait.jsp");
%>
解决方案 »
- 请问大家一个关于验证的问题!!!急~~~
- 如何更快更好的学好JSP!
- 向大家求教!数据可以查出,而用jsp却读不出来
- jsp中包装类(Integer)的的错务,希望大家帮个忙?
- 框架网页,当session超时的时候,如何返回到默认首页?
- Error in /cgi-win/itemview.dll,这个是什么错误啊?不懂了。
- Tomcat本地服务器打开jsp文件出现的问题
- ASCII码转换的问题
- 哪位大神懂自动组卷的随机算法,用的是S2SH,求指导!!!!!!
- 3.2.3版本的maven环境变量设置后在dos下输入mvn -v提示无mvn命令,为什么???
- 关于读入utf-8 xx.txt文件报错问题
- 大家发送邮件用的是JavaMail吗?
楼主的代码要规范一下咯!!!毕竟JSP不是PHP!!!
----->>>>>>>>>>>>>>
stmt.execute(sqlcmd2);
而不是用execute .. using..绑定参数那种的,不转型也无妨~~都是自动的吧
这里我怎么看不懂你写的sql语句能解释一下sqlcmd="insert into books(bookno,sortno,title,author,price,number) values('"; 这后面的括号呢?
out.print(sqlcmd); 为什么要有这一句?
id bookno sortno title author price number
对应的数据
==========================
可以整合成一条sql,为什么要这么麻烦呢:sqlcmd2="insert into books(bookno,sortno,title,author,price,number) values('"+bookno+"','"+sortno+"','"+title+"','"+author+"','"+price+"','"+number+"')";//然后执行sql
stmt.execute(sqlcmd2);
response.sendRedirect("succ_wait.jsp");
PrepareStatement来完成
stmt.execute(sqlcmd2);吧
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我看不出来是哪错了。?
..后面你又来个2=1+d ....
并且 sqlcmd语句不完整.
用了out print(sqlcmd2),之前我也有这样测试过。。还是跟我之前测试的一个样。它输出来的是这样子的提示英文:
type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我看不出来是哪错了。?这个就是报错信息啊。。输出sql语句就是这样子的提示了。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.library13.addend_jsp._jspService(addend_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)还是出现上面的那些出错信息。做的快要疯了,一个问题都解决不了。那位会的帮帮忙啊!!
2、测试网页与数据库连接是否正确
3、查看jsp生成的java代码,看有没有错误
4、查看一下应用服务器
"insert into books(bookno,sortno,title,author,price,number) values('";
out.print(sqlcmd);
sqlcmd1=bookno+"','"+sortno+"','"+title+"','"+author+"','"+price+"','"+number+"')"这个bookno,sortno,price应该是整型或浮点之类吧,不用" '' "的,而title和author应该是字符串,才要''改成下面那样试试:
"insert into books(bookno,sortno,title,author,price,number) values("
sqlcmd1=bookno+","+sortno+",'"+title+"','"+author+"',"+price+","+number+")"