Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Modify this servlet code so that it uses MVC architecture (so the work is divided among a JSP file and the Java servlet) package lab8.servlet;

Modify this servlet code so that it uses MVC architecture (so the work is divided among a JSP file and the Java servlet) package lab8.servlet; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import javax.servlet.ServletConfig; 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("/CurrencyConverter") public class CurrencyConverter extends HttpServlet { private static final long serialVersionUID = 1L; public CurrencyConverter() { super(); } public void init( ServletConfig config ) throws ServletException { super.init( config ); Map data = new HashMap(); try { // read file Scanner in; in = new Scanner( new File( getServletContext().getRealPath( "/WEB-INF/rates.txt" ) ) ); while( in.hasNextLine() ) { String line = in.nextLine(); String tokens[] = line.split( " " ); data.put( tokens[0], Double.valueOf( tokens[1] ) ); } in.close(); } catch( FileNotFoundException e ) { throw new ServletException( e ); } getServletContext().setAttribute( "data", data ); } @SuppressWarnings("unchecked") protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Map data = (Map) getServletContext() .getAttribute( "data" ); response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); out.println( "Currency Converter" ); out.println( "
" ); out.println( "" ); // use the keys to generate " ); for( String c : data.keySet() ) out.println( "" ); out.println( "" ); out.println( "= ?" ); // use the keys to generate " ); for( String c : data.keySet() ) out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); } @SuppressWarnings("unchecked") protected void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Map data = (Map) getServletContext() .getAttribute( "data" ); String c1 = request.getParameter( "c1" ); String c2 = request.getParameter( "c2" ); double amount = Double.parseDouble( request.getParameter( "amount" ) ); double result = amount * data.get( c2 ) / data.get( c1 ); response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); out.println( "Currency Converter" ); out.println( "

" + amount + " " + c1 + " = " + result + " " + c2 + "

" ); out.println( "

Back

" ); out.println( "" ); } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Programming The Perl DBI Database Programming With Perl

Authors: Tim Bunce, Alligator Descartes

1st Edition

1565926994, 978-1565926998

More Books

Students also viewed these Databases questions

Question

what is Edward Lemieux effect / Anomeric effect ?

Answered: 1 week ago

Question

Define Management by exception

Answered: 1 week ago

Question

Explain the importance of staffing in business organisations

Answered: 1 week ago