Below is report how would i fix this been i've tried to return the requestdispatcher on the doPost Could someone explain what is going on. I just inserting the parameters in the database what's wrong with my code? thanks
type Exception report
message Cannot forward after response has been committed
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.IllegalStateException: Cannot forward after response has been committed
EventHandler.InsertEvent.doPost(InsertEvent.java:75)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
SERVLET
package EventHandler;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/AddEvent")
public class InsertEvent extends HttpServlet {
String title,description, founder, time, date, location, payment;
int price = 0;
int bank = 0;
String query;
Connection conn;
Statement stmt;
ResultSet rs;
DatabaseConnection dbconn;
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
try{
title = request.getParameter("title");
description = request.getParameter("description");
founder = request.getParameter("founder");
time = request.getParameter("time");
date = request.getParameter("date");
location = request.getParameter("location");
payment = request.getParameter("payment");
price = Integer.parseInt(request.getParameter("price"));
bank = Integer.parseInt(request.getParameter("bank"));
System.out.println(title);
System.out.println(description);
System.out.println(founder);
System.out.println(time);
System.out.println(date);
System.out.println(location);
System.out.println(payment);
System.out.println(price);
System.out.println(bank);
conn = dbconn.setConnection();
stmt = conn.createStatement();
query = "insert into event_list values('"+title+"','"+description+"','"+founder+"','"+time+"','"+date+"','"+location+"','"+payment+"',"+price+","+bank+")";
int i = stmt.executeUpdate(query);
}catch(Exception e){
request.setAttribute("Error", e);
RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
rd.forward(request, response);
}finally{
RequestDispatcher rd = request.getRequestDispatcher("CreateEvent.jsp");
rd.forward(request, response);
}
}
}
DBCONNECTION
package EventHandler;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DatabaseConnection {
Connection conn;
Statement stmt;
ResultSet rs;
String url = "jdbc:mysql://localhost:3306/form";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "Incorrect00!";
public DatabaseConnection(){
}
public Connection setConnection(){
try{
Class.forName(driver);
conn = DriverManager.getConnection(url, userName, password);
}catch(Exception e){
}
return conn;
}
public ResultSet getResult(String sql, Connection conn){
this.conn = conn;
try{
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}catch (Exception e){
}
return rs;
}
}
JSP
<html>
<head>
<title>Create An event</title>
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/bootstrap-datetimepicker.min.js"></script>
<script src="js/CreateEvent.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>
<link href="css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<form method="post" action="AddEvent" >
<br>
Title: <input type="text" name="title" ><br><br>
Event Founder: <input type="text" name="founder" ><br><br>
Description: <textarea name="description" ></textarea><br><br>
Time:
<input type='text' class="form-control" name="time" />
Day:
<input type='text' class="form-control" data-date-format="YYYY/MM/DD" name="date"/>
Where: <input type="text" name="location"> <br>
Include Payment? <br>
<input type="radio" name="payment" id="showprice" value="yes">Yes<br>
<input type="radio" name="payment" value="no">No<br>
<div id="price">
Price: <input type="text" value="0" name="price">
<br>
Bank Account Number : <input type="text" name="bank" value="0">
</div>
<input type="submit" value="Finish" class="btn btn-success"/>
</form>
<a href="/EventPlannerV3">Show List</a>
</body>
</html>