make sure you do the extra credit

I don’t know how to handle this Computer Science question and need guidance.

  1. You will be calling a weather web service that provides current weather info for a given city and comparing the weather between two cities the user provides.
  1. This lab will involve the following new features:
    1. Consuming a REST web service.
    2. Utilizing Google’s Gson library to convert json to java objects.

  1. Create a normal java application project like we’ve done before.
  2. Download the gson jar file provided with this lab. You need to add the jar file to your project like we’ve done in the past (see previous postings on how to do this).
  3. First create the java classes that the gson library will fill with incoming json data.
    1. These java classes will model the json that is returned from the weather web service.
    2. Here is what the returned json looks like:




{“id”:800,”main”:”Clear”,”description”:”clear sky”,”icon”:”02d”}























“name”:”El Cajon”,



  1. All we care about is getting the value “name” and values from “main” like “temp” “temp_min” and “temp_max”.
  2. So we will 2 create java classes to mirror this relationship:

IMPORTANT: Remember that you can add a package from the File > New menu. All these files go in “”. When you create a new class, just right click on the package folder you want to add the class to.

NOTE: You’ll notice that the instance variable names below match the json fields passed back. That matching is necessary for gson to be able to map the json to your fields.

    1. This is just the “main” object portion of the json that holds the below fields.
    2. Package:
    3. Create five public instance variables:
      1. All are float type — temp, pressure, humidity, temp_min, temp_max
        1. You’ll notice that in the above json sample, there is a mapping of main and inside main are these five variable names.
    1. This is the root object that holds the top most fields in the returned json.
    2. Package:
    3. Create two public instance variables:
      1. main – this is Weather_main type that you built above.
      2. name – this is String type.
  1. (this class was provided to you with this lab doc).
    1. You need to put this file in the src/com/grossmont/ws folder in your project.
    2. You will fill in code where you see the ######## markings:
      1. Simply follow the guidelines in the java file.
    3. You are essentially wiring in the classes you just created to methods that retrieve data from them.
  1. EXTRA CREDIT option (5 points)
    1. Use these classes in a web site in Tomcat, and use JSP pages to get user input for just one city and show the three values for that city (current temp, high, low).
    2. Look back to lab 9 as a guide on how to put your class package folders into a …/WEB-INF/classes folder and how to instantiate and use your class in a JSP page.
    3. Reminder – since we’re using the gson jar file, you’ll need to put this in a …/WEB-INF/lib folder.
    4. You should have two JSP pages:
      1. one to get a city from the user in a form which submits those values to the second page.
      2. A second page to process the submitted user city.
        1. It needs to import and instantiate your WebServiceManager class.
        2. It needs to get the incoming parameter of city.
        3. It needs to take out any spaces (see main method in WebServiceManager class).
        4. It needs to display current temp and high & low.
  1. Turn in the above 3 files into your lab 11 assignment spot in Canvas.
  2. If you did the extra credit, also turn in your two jsp pages.
  3. IMPORTANT: DO NOT ZIP your folders/files please.

Order the answer to view it

Assignment Solutions

Assignment Solutions