取消JAVA JSP上的预订
我有一个简单的web应用程序,可以在其中预订房间。如果我去我预定的房间,我有我预定的房间的清单。 现在我想实现一个简单的按钮来删除特定的预订。 在我的数据库中,我有: 酒店预订 使用此参数: cid、cname、电子邮件、到达日期、离开日期、人员、房间、类型、房间、评论、状态、uid 现在我创建了: cancel.jsp 这是代码:取消JAVA JSP上的预订,java,mysql,database,jsp,Java,Mysql,Database,Jsp,我有一个简单的web应用程序,可以在其中预订房间。如果我去我预定的房间,我有我预定的房间的清单。 现在我想实现一个简单的按钮来删除特定的预订。 在我的数据库中,我有: 酒店预订 使用此参数: cid、cname、电子邮件、到达日期、离开日期、人员、房间、类型、房间、评论、状态、uid 现在我创建了: cancel.jsp 这是代码: <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@ page import =
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import ="java.sql.*" %>
<%
int id;
int person;
int room;
id = Integer.parseInt(request.getParameter("id"));
// out.println(id);
String cname = request.getParameter("cname");
// out.println(cname);
String email = request.getParameter("email");
String arrival = request.getParameter("arrival_date");
String departure = request.getParameter("departure_date");
person = Integer.parseInt(request.getParameter("person"));
room = Integer.parseInt(request.getParameter("room"));
String type_room = request.getParameter("type_room");
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/HotelReservation","root" ,"123456789");
String del = "delete from hotel_booking where id='" + Integer.parseInt(request.getParameter("id")) + "'AND cname='" + request.getParameter(cname) + "'AND emal='" + request.getParameter(email) + "'";
java.sql.Statement st = con.createStatement();
int rowNum = st.executeUpdate(del);
response.sendRedirect("home.jsp");
st.close();
%>
我怎样才能解决这个问题?每当有人预订房间时,my DB中的cid参数会自动增加一个。
谢谢大家请尝试下面的代码
<form action='cancel.jsp'>
<input type="hidden" name="id" value="<%=id%>">
<input type='submit' name='cancel' value='Cancel Reservation'>
</form>
</div>
由于id的值作为“\”+id+“\””传递。但在代码中,您试图将包含非数值的字符串解析为整数抛出NumberFormatException 如果是我,我不会“删除”这个。我认为知道预订已经开始但尚未完成是很有用的。
value=“”>
或诸如此类(value=“${id}”>
),但有些答案可能会详细说明非常好的编码。@草莓你认为不删除预订更好吗?在现实世界中,数据很少被删除。它是“软删除”,意味着它被标记为已删除,而不是真正被删除。如果我不这么认为,我不会这么说:-$
HTTP Status 500 – Internal Server Error
Type Exception Report
Message An exception occurred processing [/cancel.jsp] at line [10]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: An exception occurred processing [/cancel.jsp] at line [10]
7:
8:
9:
10: id = Integer.parseInt(request.getParameter("id"));
11: // out.println(id);
12: String cname = request.getParameter("cname");
13: // out.println(cname);
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:593)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:482)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NumberFormatException: For input string: "\""+id+"\""
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
java.lang.Integer.parseInt(Integer.java:580)
java.lang.Integer.parseInt(Integer.java:615)
org.apache.jsp.cancel_jsp._jspService(cancel_jsp.java:128)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.
<form action='cancel.jsp'>
<input type="hidden" name="id" value="<%=id%>">
<input type='submit' name='cancel' value='Cancel Reservation'>
</form>
</div>