request.getRequestDispatcher("result.jsp").forward(request, response);报空指针异常,流程感

西门吹雪吹吹风 2016-08-28 07:43:27
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)


Cartshopping.java
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)个商品
}
}

}

shoppingServlet.java

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 {

}

}

index.jsp

<%@ 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>

result.jsp

<%@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>

Help me !!!!! Help
...全文
295 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1
Cartshopping cart = (Cartshopping)request.getAttribute("cart"); Cartshopping cart = (Cartshopping)session.getAttribute("cart");
目录 绪 论 1 1 系统概述 2 1.1 网站的设计背景 2 1.2 实现功能 2 1.3 软件简介 2 1.3.1 Eclipse简介 2 1.3.2 JSP简介 3 1.3.3 MySQL简介 3 2 需求分析和可行性分析 5 2.1 网站的需求分析 5 2.2 网站的可行性分析 5 3 网站总体设计 7 4 数据库的设计 11 4.1 数据库的实现 11 4.2 数据表 11 5 网站详细设计与实现 17 5. 1 登录模块 17 5. 2 毕业生管理模块 19 5.2.1 信息中心模块 19 5.2.2 通知通告模块 22 5.2.3 文件中心模块 23 5. 3 教师管理模块 23 5.3.1 系统设置模块 24 5.3.2 基本信息模块 25 5.3.3 招聘信息模块 25 5.3.4 通知模块 26 5.3.5 文件中心模块 27 5.4 管理员模块 29 5.4.1 毕业生管理模块 29 5.4.2 教师配置模块 31 5.4.3 管理员配置模块 31 6 网站测试 33 6.1 测试概述 33 6.2 测试告 35 6.2.1 用户登录功能、角色主要功能的测试 35 6.2.2 用户数据信息管理的测试 35 结束语 36 致谢 37 参考文献 38 其主要信息处理工作由UserInfoServlet处理,下面为更新操作的代码: 查询招聘信息的同时,还提供了对信息进行评论的功能,可以在线提出疑问经验等交流内容,其内容会由教师进行审核,页面如图5-6所示。 提交后,将更新comment数据库表,如果有附件的话还将更新files数据库表。 其更新过程主要由JobnewsServlet处理: //更新 jobnews 表 5.2.2 通知通告模块

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧