Monday, 15 June 2015

servlets - JSP exception in building a basic web-app -



servlets - JSP exception in building a basic web-app -

i m building simple web app takes colour of beer , shows suggestion..(actually exercising mvc architecture). "form.html" page getting loaded..but on selecting color , , clicking submit..it giving exception

possible hint observed,

somewhere in logs error showing @ line "iterator = list.iterator()" in result.jsp

[help appreciated in advance]

result.jsp

<%@ page import="java.util.*" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <body> <h1 align="center">beer recommedations jsp</h1> <p> <% list list = (list)request.getattribute("styles"); /*for(string s:list) out.print("<br>try: "+s);*/ iterator = list.iterator(); while(it.hasnext()){ out.print("<br>try: "+it.next()); } %> </body> </html>

web.xml

<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="webapp_id" version="3.0"> <display-name>beer suggestion</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>beer</servlet-name> <servlet-class>beerselect</servlet-class> </servlet> <servlet-mapping> <servlet-name>beer</servlet-name> <url-pattern>/selectbeer.do</url-pattern> </servlet-mapping> </web-app>

beerselect.java

import java.io.ioexception; import java.util.arraylist; import javax.servlet.requestdispatcher; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; @webservlet("/beerselect") public class beerselect extends httpservlet { private static final long serialversionuid = 1l; protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { string c = request.getparameter("color"); beerexpert = new beerexpert(); arraylist<string> list = new arraylist<string>(); list = be.getbrands(c); /*printwriter author = response.getwriter(); writer.println("<html><body>beer selection advice<br>"); writer.println("<br>got beer <br> <center>"); iterator = list.iterator(); while(it.hasnext()){ writer.println("<br>"+it.next()); } writer.println("</body></html>");*/ request.setattribute("result", list); requestdispatcher view = request.getrequestdispatcher("result.jsp"); view.forward(request, response); } }

beerexpert.java

import java.util.arraylist; public class beerexpert { public arraylist<string> getbrands(string c){ arraylist<string> brands = new arraylist<string>(); if(c.equals("amber")) brands.add("pata nai yaar"); else if(c.equals("brown")) brands.add("mcdowells"); else if(c.equals("light")){ brands.add("bag piper"); brands.add("mountain dew"); } else{ brands.add("petrol"); brands.add("kerosene"); } homecoming brands; } }

form.html

<!doctype html> <html> <body> <h1 align="center">beer selection page</h1> <form method="post" action="selectbeer.do"> select beer characteristics<br><br> color : <select name="color" size="1"> <option value="light">light</option> <option value="amber">amber</option> <option value="brown">brown</option> <option value="dark">dark</option> </select> <br><br> <center> <input type="submit"> </center> </form> </body>

you have made error here ,

list list = (list)request.getattribute("styles");

but in request , set

request.setattribute("result", list); requestdispatcher view = request.getrequestdispatcher("/result.jsp"); view.forward(request, response);

so should work expected ,

list list = (list)request.getattribute("result");

jsp servlets model-view-controller web.xml servlet-3.0

No comments:

Post a Comment