<!-- language: java-->
package bhatti;
public class find extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<feildset>");
out.println("<form action='display' method='get'>");
out.println("<tr>");
out.println("<td>ID :</td><td> <input type='text' name='id' style='width=70px;'></td><tr><br>");
out.println("<tr><td>Uints: </tr><tr><input type='text' name='uints' style='width=70px;' ></td></tr><br>");
out.println("<tr><td><input type='submit' value='submit' ></td></tr><br>");
out.println("</form>");
out.println("</feildset>");
out.println("</body></html>");
int i = Integer.parseInt(request.getParameter("id"));
int u = Integer.parseInt(request.getParameter("uints"));
float bill;
bill = (float)(u * (1.5));
float s;
s = (float)(bill * 0.05);
float totalbill;
totalbill = bill - s;
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("display.java");
requestDispatcher.forward(request, response);
request.setAttribute("id", i);
request.setAttribute("uints", u);
request.setAttribute("totalbill", totalbill);
}
}
second servlet
package bhatti;
import java.io.IOException;
import java.io.PrintWriter;
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;
public class display extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;");
PrintWriter out = response.getWriter();
int i = Integer.parseInt(request.getParameter("id"));
int u = Integer.parseInt(request.getParameter("uints"));
float tb = Float.parseFloat(request.getParameter("totalbill"));
out.println("<p>ID: " + i + " </p><br>");
out.println("<p>Uints: " + u + "</p><br>");
out.println("<p>Subsidy: " + " 5%" + "</p><br>");
out.println("<h1>Total Bill:" + tb + "</h1><br>");
}
}
float value is not sending to the other servlet
error is HTTP Status 500 -
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838) sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122) java.lang.Float.parseFloat(Float.java:451) bhatti.display.doGet(display.java:26) javax.servlet.http.HttpServlet.service(HttpServlet.java:622) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.27 logs.
You are setting attribute in one servlet, and trying to getParameter in another servlet.
setAttribute value can not be obtained by getParameter but
setAttribute value can only be obtained by getAttribute
So use getAttribute from request as
request.getAttribute ("totalBill") ;
In your case request.getParameter("totalBill")
Is NULL and Float.parseFloat(null)
will through NullPointerException
and hence you got HttpResponse status 500 i.e, Internl Server Error.