我在这里做错了什么?
//BillServlet
public class BillServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//general settings
PrintWriter pw = response.getWriter() ;
response.setContentType("text/html");
// read form data
String name = request.getParameter("t1") ;
Float price = Float.parseFloat(request.getParameter("t2")) ;
Float qty = Float.parseFloat(request.getParameter("t3")) ;
//calculate bill amount
Float bamt = price * qty ;
//setting request attribute
request.setAttribute("attr1", bamt);
request.setAttribute("attr2", name);
if (bamt >= 50000){
RequestDispatcher rd = request.getRequestDispatcher("/discounturl") ;
rd.forward(request, response);
}
else{
pw.println("<br>item name :" +name + "price : " +price + "qty :" +qty +"<br>bill amount :" +bamt);
}
//close stream
pw.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet (request,response) ;
}
}
//DiscountServlet
public class DiscountServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//general settings
PrintWriter pw = response.getWriter() ;
response.setContentType("text/html");
//read attribute
float amt = (Float)request.getAttribute("attr1") ;
String name = (String)request.getAttribute("attr2") ;
//calculate discount
float discount = amt * 0.3f ;
float finalamt = amt - discount ;
//display details
pw.println("<br> item name :" +name );
pw.println("<br> bill amount :" +amt);
pw.println("<br> discount : " +discount);
pw.println("<br> final amount : " +finalamt);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet (request ,response) ;
}
}
它给了我这个错误:
ype Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
com.ds.DiscountServlet.doGet(DiscountServlet.java:20)
javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.9 logs.