81,092
社区成员
发帖
与我相关
我的任务
分享
<div id="shopmenuhot">
<h3 style="padding: 20px 0 10px 15px;font-size: 20px;">热销
<span style="font-size: 12px;color: #999;">大家喜欢吃,才叫真好吃。</span></h3>
<%
request.setCharacterEncoding("UTF-8");
System.out.println(111);
List<Food> hotfoodList=(List<Food>)request.getAttribute("hotfoodList");
System.out.println(222);
if (hotfoodList == null)
{
System.out.println(333);
String path= request.getContextPath();
request.getRequestDispatcher(path+"IndexServlet").forward(request,response);
}
System.out.println(444);
for (int i = 0; i < hotfoodList.size(); i++) {
Food hotfood = hotfoodList.get(i);
%>
<div class="menufood">
<span class="col-1"><img class="menufoodimg" src="<%=hotfood.getImage()%>"></span>
<div class="col-2">
<h3 class="menufoodname"><%=hotfood.getFoodname()%></h3>
<span class="evaluation icon-star">(4.5)</span>
<span><%=hotfood.getIntroduct()%></span>
</div>
<span class="col-3 menufoodprice">¥<%=hotfood.getPrice()%></span>
<span class="col-4"><button class="menubutton">加入购物车</button></span>
</div>
<% }
%>
</div>
public class IndexServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String foodname=request.getParameter("foodname");
String price=request.getParameter("price");
String inventory=request.getParameter("inventory");
String type=request.getParameter("type");
String image=request.getParameter("image");
String introduct =request.getParameter("introduct");
Food food=new Food();
FoodDao foodDao=new FoodDao();
List<Food> hotfoodList=foodDao.getHotFood();
request.setAttribute("hotfoodList",hotfoodList);
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
07-Jun-2018 22:41:45.688 严重 [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [jsp] in context with path [] threw exception [An exception occurred processing [/index.jsp] at line [153]
150: request.getRequestDispatcher(path+"IndexServlet").forward(request,response);
151: }
152: System.out.println(444);
153: for (int i = 0; i < hotfoodList.size(); i++) {
154: Food hotfood = hotfoodList.get(i);
155: %>
156: <div class="menufood">
Stacktrace:] with root cause
java.lang.NullPointerException
at org.apache.jsp.index_jsp._jspService(index_jsp.java:282)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:444)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:844)
String path= request.getContextPath();
request.getRequestDispatcher(path+"IndexServlet").forward(request,response);
这段话的问题,从其他页面进入IndexServlet.java再跳转到Index.jsp页面可以正常显示,但是不明白为什么