@WebServlet(name = "AddCart", urlPatterns = {"/AddCart"})
public class AddCart extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
ArrayList<Product> previousItems = (ArrayList<Product>) session.getAttribute("previousItems");
Product p = (Product) session.getAttribute("currentProduct");
if (previousItems == null) {
previousItems = new ArrayList<Product>();
}
if (p != null) {
if (previousItems.size()>0) {
for (Product p1 : previousItems) {
if (p1.getId() == p.getId()) {
p1.addQuantity();
} else { //This
previousItems.add(p);
}
}
} else {
previousItems.add(p);
}
}
session.setAttribute("previousItems", previousItems);
response.sendRedirect("cart.jsp");
}
}
ConcurrentModificationException
java.util.arrayList$itr.checkforcoModification(arrayList.java:901)java.util.arrayList$itr.next(arrayList.java:851)servlets.addcart.doget
不能用增强的for循环将项添加到正在迭代的列表中。这是因为您正在修改列表的内部状态;虽然可以处理这一点,但大多数迭代器实现不处理底层集合的状态更改,以便在大量、绝大多数的用例中保持简单。
而不是这样:
for (Product p1 : previousItems) {
previousItems.add(p); // Simplified
}
如果您希望p
在之后的列表中,请将其放入另一个列表中,然后在迭代之后添加该列表:
List<Product> other = new ArrayList<>();
for (Product p1 : previousItems) {
other.add(p);
}
previousItems.addAll(other);
问题内容: 到现在为止,因为它适用于服务的HTTP请求,我想条款- 和意味着同样的事情。但是显然,它们分别在Servlet 3.0和3.1中分别实现。我正在努力了解这里的区别… 请问有人可以进一步阐明这个话题吗?具体来说,我正在寻找一个示例,该示例说明服务器的Servlet 3.0实现如何异步而又在线程上阻塞?我想可能是,如果我理解了这一点,可能更容易理解Servlet 3.1中的非阻塞I / O
我对servlet和spring MVC有基本的了解。但是我不知道spring mvc中是否有servlet的用法。在spring mvc中,我们有控制器类。我的想法是servlet在spring mvc中用作控制器。如果我不正确,请纠正我。
问题内容: 我已经开发了一个将信息发送到的HTML页面。在中,我正在使用方法和: 在调用Servlet的html页面代码中是: method = “get”在Servlet中使用时,我会获得id和password的值,但是在使用时method = “post”,id和password会设置为null。为什么在这种情况下我无法获取值? 我想知道的另一件事是如何使用Servlet生成或验证的数据。例如
问题内容: servlet类有多个实例吗?当我听到“每个servlet实例”时,有人可以详细说明吗? 问题答案: Servlet容器启动时,它: 读; 在类路径中找到已声明的Servlet;和 加载和实例化每个Servlet一次。 大概是这样的: 这些Servlet都存储在内存中,并且每次请求URL与Servlet的关联的匹配时都可以重用url-pattern。然后,Servlet容器执行类似于以
和具有方法的servlet: 通过,我得到了我的主页。 但是,当我单击reference from时,返回: 我的同样位于 我的Servlet用于处理: 和:
消息 说明服务器遇到内部错误(),无法运行 根本原因 根本原因 当我将浏览器用作http://localhost:8080/sample/rest/app/test将返回一个json数据类型。。 产品类 StringService类 StringServiceApplication 我的网络。xml 我的jboss网站。xml 构建路径上的我的库——javassist-3.12.1。GA-json