У меня возникла проблема с моим сервлетом, когда он был открыт из моего JSP, который является ShowPurchasingItems.jsp, и он не переходит к следующему JSP.ошибка при сервлет при открытии jsp
вот мой ShowPurchasingItems.jsp http://jsfiddle.net/0g3erumm/
и вот мой сервлет, что привычка открывать мой следующий JSP
package connection;
import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@WebServlet("/CheckOutServlet")
public class CheckOutServlet extends HttpServlet
{
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
HttpSession session = request.getSession();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String User = (String) session.getAttribute("username");
String id = (String) session.getAttribute("stockIdToPurchase");
float price = (float) session.getAttribute("UnitPriceToPurchase");
int stock = (int) session.getAttribute("OnStockToPurchase");
int quantityOrdered = (int) session.getAttribute("purchaseQuantity");
float totalPrice = price * quantityOrdered;
int newStock = stock - quantityOrdered;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String url = "jdbc:mysql://localhost:3306/inventory";
String user = "root";
String password = "password";
String query = "INSERT INTO purchases (username,stockId,price,quantityOrdered,totalPrice) VALUES ('"+User+"', '"+id+"', "+price+", "+quantityOrdered+", "+totalPrice+");";
try
{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
if(rs.next())
{
String encodedURL = response.encodeRedirectURL("ShowInventoryList.jsp");
response.sendRedirect(encodedURL);
}
}
catch(Exception e)
{
out.println("There is an error here");
}
finally
{
out.close();
try
{
rs.close();
stmt.close();
conn.close();
}
catch (Exception e)
{
out.println("There is no error here");
}
}
}
}
он будет продолжать ловить ошибку на даного out.println ("Eсть ошибка здесь "); и я застрял здесь, я не знаю, что еще не так с моей программой, надеюсь, кто-то может мне помочь.
out.close(); вы закрываете выходной поток. , а затем вы попробуете: out.println ("")? не должен работать – Joeblade
Также не используйте out.println ("") как способ отладки. Вместо этого используйте system.out (или лучше, регистратор). out.print is onyl, предназначенный для отправки данных обратно в браузер – Joeblade