Servlet Development and Deployment in Java Produce barcode 3 of 9 in Java Servlet Development and Deployment

Servlet Development and Deployment generate, create code 3 of 9 none in java projects QR Code Overview This code uses awt Code 39 the enhanced for loop introduced in JDK 1.5. Refer to http://java.

0/docs/guide/language/ foreach.html for more information..

If no checkboxe s are clicked, the request.getParameterValues() method will return null; therefore it is a good idea to check for null before attempting to traverse through this method"s return values. Before this new servlet can be deployed, the following lines need to be added to the application"s web.

xml file:. <servlet> spring framework bar code 39 <servlet-name>MultipleValueFieldHandlerServlet</servlet-name> <servlet-class> net.ensode.glassfishbook.

formhandling. MultipleValueFieldHandlerServlet </servlet-class> </servlet>. and:. <servlet-map Code39 for Java ping> <servlet-name>MultipleValueFieldHandlerServlet</servlet-name> <url-pattern>/multiplevaluefieldhandlerservlet</url-pattern> </servlet-mapping>. to assign a log ical name and URL to the new servlet. After re-creating the formhandling.war file by adding the compiled servlet and the HTML file and redeploying it, we can see the changes in action by typing the following URL in the browser window: http://localhost:8080/formhandling/ multiplevaluedataentry.

html.. [ 48 ]. 2 . After submittin jvm 39 barcode g the form, control goes to our servlet, and the browser window should look something like this:. Of course, the actual message seen in the browser window will depend on what checkboxes the user clicked on.. Request Forwarding and Response Redirection In many cases, one servlet processes form data, then transfers control to another servlet or JSP to do some more processing or display a confirmation message on the screen. There are two ways of doing this: either the request can be forwarded or the response can be redirected to another servlet or page..

Request Forwarding Notice how the text displayed in the previous sections" example matches the value of the value attribute of the checkboxes that were clicked, and not the labels displayed on the previous page. This might confuse the users. Let"s modify the servlet to change these values so that they match the labels, then forward the request to another servlet that will display the confirmation message on the browser.

The new version of MultipleValueFieldHandlerServlet is shown next.. package net.ens Code-39 for Java ode.glassfishbook.

formhandling; import; import java.

util.ArrayList; [ 49 ]. Servlet Develop ment and Deployment import import import import javax.servlet.ServletException; javax.

servlet.http.HttpServlet; javax.

servlet.http.HttpServletRequest; javax.


public class Mu barcode 39 for Java ltipleValueFieldHandlerServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) { String[] selectedOptions = request.getParameterValues("options"); ArrayList<String> selectedOptionLabels = null; if (selectedOptions != null) { selectedOptionLabels = new ArrayList<String>(selectedOptions.length); for (String selectedOption : selectedOptions) { if (selectedOption.

equals("option1")) { selectedOptionLabels.add("Option 1"); } else if (selectedOption.equals("option2")) { selectedOptionLabels.

add("Option 2"); } else if (selectedOption.equals("option3")) { selectedOptionLabels.add("Option 3"); } } } request.

setAttribute("checkedLabels", selectedOptionLabels); try { request.getRequestDispatcher("confirmationservlet"). forward(request, response); } catch (ServletException e) { e.

printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }. [ 50 ]. 2 . This version of the servlet iterates through the selected options and adds the corresponding label to an ArrayList of Strings. This ArrayList is then attached to the request object by calling the request.setAttribute() method.

This method is used to attach any object to the request so that any other code we forward the request to can have access to it later.. This code uses jboss 3 of 9 generics, a feature introduced to the Java language in JDK 1.5, see http://java.sun.

com/j2se/1.5.0/docs/guide/ language/generics.

html for details.. After attaching the ArrayList to the request, we then forward the request to the new servlet in the following line of code:. request.getRequ Code 39 Extended for Java estDispatcher("confirmationservlet").forward( request, response);.

The String argu ment to this method must match the value of the <url-pattern> tag of the servlet in the application"s web.xml file. At this point, control goes to our new servlet.

The code for this new servlet is shown below:. package net.ens servlet 3 of 9 barcode ode.glassfishbook.

requestforward; import; import java.

io.PrintWriter; import java.util.

List; import javax.servlet.http.

HttpServlet; import javax.servlet.http.

HttpServletRequest; import javax.servlet.http.

HttpServletResponse; public class ConfirmationServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) { try { PrintWriter printWriter; List<String> checkedLabels = (List<String>) request .getAttribute("checkedLabels"); response.setContentType("text/html"); printWriter = response.

getWriter(); printWriter.println("<p>"); printWriter.print("The following options were selected:"); [ 51 ].

Servlet Develop ment and Deployment printWriter.println("<br/>"); if (checkedLabels != null) { for (String optionLabel : checkedLabels) { printWriter.print(optionLabel); printWriter.

println("<br/>"); } } else { printWriter.println("None"); } printWriter.println("</p>"); } catch (IOException ioException) { ioException.

printStackTrace(); } } }. This code obtai barcode 3/9 for Java ns the ArrayList that was attached to the request by the previous servlet. This is accomplished by calling the request.getAttribute() method; the parameter for this method must match the value used to attach the object to the request.

Once this servlet obtains the list of option labels, it traverses through it and displays them on the browser.. [ 52 ].
Copyright © . All rights reserved.