81,092
社区成员
发帖
与我相关
我的任务
分享
java.lang.NullPointerException
at org.apache.jsp.result_jsp._jspService(result_jsp.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
at com.xml.servlet.shoppingServlet.doGet(shoppingServlet.java:33)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)
package com.xml.Cartshopping;
import java.util.HashMap;
import java.util.Map;
/**
* @author Bobzhangfighting
* @Version 2016年8月27日下午12:38:42
*/
public class Cartshopping {
private Map<String,Integer> items = new HashMap<String, Integer>();//将商品放到Map中存储
public Map<String, Integer> getItems() {
return items;
}
public void add(String name){//按商品名添加商品
Integer num = items.get(name);
if(num == null){//如果Map中商品为空
items.put(name, 1);//那么放进去的就是第一个商品
}else{
items.put(name, num+1);//否则就是(num+1)个商品
}
}
}
package com.xml.servlet;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.xml.Cartshopping.Cartshopping;
@WebServlet("/shoppingServlet")
public class shoppingServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();//获取session
Cartshopping cart = (Cartshopping) session.getAttribute("cart");
if(cart==null){
cart = new Cartshopping();
session.setAttribute("cart", cart);
}
String [] items = request.getParameterValues("items");
for(String item:items){
cart.add(item);
}
System.out.println(items.length+"有木有");
request.getRequestDispatcher("result.jsp").forward(request, response);//你看啊,我把它注释掉就没有错
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8">
<title>CartShopping</title>
</head>
<body>
<form action="shoppingServlet" method="Get">
篮球<input type="checkbox" name="items" value="篮球"/>
足球<input type="checkbox" name="items" value="足球"/>
排球<input type="checkbox" name="items" value="排球"/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import ="java.util.*" %>
<%@page import ="com.xml.Cartshopping.Cartshopping" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CartShopping</title>
</head>
<body>
<%
Cartshopping cart = (Cartshopping)request.getAttribute("cart");
Map<String,Integer> items = cart.getItems();
for(Map.Entry entry:items.entrySet())
{
%>
<%=entry.getKey()%> = <%=entry.getValue()%><br>
<%}%>
<a href="index.jsp">Return</a>
</body>
</html>