Не могу вызвать проблему sendRedirect() после запуска Tomcat проекта Glassfish (но мой друг может)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Не могу вызвать проблему sendRedirect() после запуска Tomcat проекта Glassfish (но мой друг может)

Сообщение Anonymous »

Я создал свой веб-проект Java с помощью Glassfish, он работал отлично, но когда я пытаюсь использовать Tomcat, потому что мой друг, который использует Tomcat для запуска моего проекта, заявил, что мой проект также работает и на его Tomcat. Проблема началась, у меня вот это:

Код: Выделить всё

java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:494)
at Controller.Admin.ProductManagerController.processRequest(ProductManagerController.java:177)
at Controller.Admin.ProductManagerController.doGet(ProductManagerController.java:184)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Мой код:

Код: Выделить всё

package Controller.Admin;

import DAO.productDAO;
import Entity.Category;
import Entity.Color;
import Entity.Product;
import Entity.Size;
import Entity.User;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
* @author vietth
*/
public class ProductManagerController extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
String action = request.getParameter("action");
try {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");

if (user != null && user.getIsAdmin().equalsIgnoreCase("true")) {
productDAO dao = new productDAO();

// Display product list
if (action == null || action.equals("")) {
List
 product = dao.getProductFull();
List size = dao.getSize();
List color = dao.getColor();
List  category = dao.getCategory();

request.setAttribute("CategoryData", category);
request.setAttribute("ProductData", product);
request.setAttribute("SizeData", size);
request.setAttribute("ColorData", color);

request.getRequestDispatcher("/admin/product.jsp").forward(request, response);
}

// Navigate to product insertion page
if (action.equalsIgnoreCase("insert")) {
List category = dao.getCategory();
request.setAttribute("CategoryData", category);
request.getRequestDispatcher("/admin/productinsert.jsp").forward(request, response);
}

// Handle product insertion
if (action.equalsIgnoreCase("insertproduct")) {
String product_id = request.getParameter("product_id");
String category_id = request.getParameter("category_id");
String product_name = request.getParameter("product_name");
String product_price = request.getParameter("product_price");
String product_size = request.getParameter("product_size");
String product_color = request.getParameter("product_color");
String product_quantity = request.getParameter("product_quantity");
String product_img = "images/" + request.getParameter("product_img");
String product_describe = request.getParameter("product_describe");

product_id = (product_id == null || product_id.isEmpty()) ? "NEW" : product_id;
category_id = (category_id == null || category_id.isEmpty()) ? "1" : category_id;
product_name = (product_name == null || product_name.isEmpty()) ? "NEW" : product_name;
product_price = (product_price == null || product_price.isEmpty()) ? "0" : product_price;
product_size = (product_size == null || product_size.isEmpty()) ? "" : product_size;
product_color = (product_color == null || product_color.isEmpty()) ? "" : product_color;
product_quantity = (product_quantity == null || product_quantity.isEmpty()) ? "0" : product_quantity;
product_img = (product_img == null || product_img.isEmpty()) ? "default.jpg" : product_img;
product_describe = (product_describe == null || product_describe.isEmpty()) ? "No description" : product_describe;

int quantity = Integer.parseInt(product_quantity);
BigDecimal price = new BigDecimal(product_price);
int cid = Integer.parseInt(category_id);

Category cate = new Category(cid);

String[] sizeArray = product_size.split("\\s*,\\s*");
String[] colorArray = product_color.split("\\s*,\\s*");

List sizeList = new ArrayList();
for (String s : sizeArray) {
sizeList.add(new Size(product_id, s));
}

List  colorList = new ArrayList();
for (String c : colorArray) {
colorList.add(new Color(product_id, c));
}

Product product = new Product();
product.setCate(cate);
product.setProduct_id(product_id);
product.setProduct_name(product_name);
product.setProduct_price(price);
product.setProduct_describe(product_describe);
product.setQuantity(quantity);
product.setImg(product_img);
product.setSize(sizeList);
product.setColor(colorList);
productDAO dao1 = new productDAO();
dao1.insertProduct(product);

response.sendRedirect("productmanager");
}

// Handle product update
if (action.equalsIgnoreCase("updateproduct")) {
String product_id = request.getParameter("product_id");
String category_id = request.getParameter("category_id");
String product_name = request.getParameter("product_name");
String product_price = request.getParameter("product_price");
String product_size = request.getParameter("product_size");
String product_color = request.getParameter("product_color");
String product_quantity = request.getParameter("product_quantity");
String product_img = "images/" + request.getParameter("product_img");
String product_describe = request.getParameter("product_describe");

int quantity = Integer.parseInt(product_quantity);
BigDecimal price = new BigDecimal(product_price);
int cid = Integer.parseInt(category_id);

Category cate = new Category(cid);

String[] sizeArray = product_size.split("\\s*,\\s*");
String[] colorArray = product_color.split("\\s*,\\s*");

List sizeList = new ArrayList();
for (String s : sizeArray) {
sizeList.add(new Size(product_id, s));
}

List  colorList = new ArrayList();
for (String c : colorArray) {
colorList.add(new Color(product_id, c));
}

Product product = new Product();
product.setCate(cate);
product.setProduct_id(product_id);
product.setProduct_name(product_name);
product.setProduct_price(price);
product.setProduct_describe(product_describe);
product.setQuantity(quantity);
product.setImg(product_img);
product.setSize(sizeList);
product.setColor(colorList);

dao.updateProduct(product);

response.sendRedirect("productmanager");
}

// Handle product deletion
if (action.equalsIgnoreCase("deleteproduct")) {
String product_id = request.getParameter("product_id");
dao.deleteProduct(product_id);
response.sendRedirect("productmanager");
}

} else {
response.sendRedirect("user?action=login");
}

} catch (Exception e) {
e.printStackTrace();
response.sendRedirect("404.jsp");
}
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

@Override
public String getServletInfo() {
return "Product management servlet";
}
}

Это так забавно, когда все мои друзья могут использовать мой код на Tomcat без меня, лол, пожалуйста, помогите!


Подробнее здесь: https://stackoverflow.com/questions/793 ... sh-project
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»