Ajax calls ... to say I love you!

Posted on 22nd Dec 2014 16:00:15 in Servlet, Glassfish, Ajax

http request over TCP/IP

Creiamo un semplice esempio per eseguire una richiesta http.

La web page, dalla quale eseguire le richieste, contiene due tasti, premendo il primo tasto si invia una richiesta http, processata da una Servlet, la richiesta contiene la frase “Ajax calls … to say I love you!”.

Premendo il secondo tasto si invia una richiesta http alla stessa Servlet, la richiesta contiene la frase “Ajax calls … to say Idon’t love you anymore!”.

La Servlet processa la richiesta ricevuta ed in base al contenuto invia una http response contenente cosa visualizzare.

In Eclipse creiamo un progetto di tipo “Dynamic Web Project” io l’ho chiamato AjaxCallsAndServlet.

Il progetto in Eclipse contiene una cartella chiamata Web Content. All’interno di questa creiamo un nuovo file Html, lo chiamo index.html.

Il codice del file Html è il seguente:









Insert title here






 


 

Nella cartella WebContent nel progetto Eclipse ho creato una cartella chiamata images dove ho inserito due file, che si chiamano love.gif e nlove.gif. Creare questa cartella ed inserirvi due file immagine con questo nome ed estensione.

Creare ora la Servlet, in Eclipse tasto destro sul progetto e scegliere New -> Servlet, dare un nome alla servlet ad esempio ProcessRequestServlet e selezionare Finish.

Il codice della nostra Servlet è il seguente:

 

 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;

/**
* Servlet implementation class ProcessRequestServlet
*/

@WebServlet("/ProcessRequestServlet")
public class ProcessRequestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/

public ProcessRequestServlet() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String par = request.getParameter("arg");
String str;
// Set response content type
response.setContentType("text/html");
PrintWriter out= response.getWriter();
if (Integer.parseInt(par) == 1)
str = "\"images/love.gif\">";
else
str = "\"images/nlove.gif\">";
out.write(str);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}
 

 

Deploy del progetto su Glassfish Application Server, portarsi sul progetto, tasto destro del mouse, scegliere Run as -> Run on Server verrà visualizzata una schermata dove selezionare il server sul quale eseguire il progetto, e sgeliamo Glassfish 4.Si aprirà una pagina del browser all’interno di Eclipse. Di default il file che viene richiesto all’application server è il file index.html perché così definito nel file di configurazione .xml di Glassfish (e un po’ di tutti gli altri Application Server), è il cosiddetto Welcome file. Quello che viene visualizzato nella pagina sono due tasti, se premete il primo viene inviata una richiesta http processata da una Servlet che comunica di visualizzare il file images/love.gif, premendo il secondo tasto verrà visualizzato il file images/nlove.gif.

Allego il progetto eclipse appena descritto: AjaxCallsAndServlet.