package ajaxstutter;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Ravitej Syamala
*/
// Wiring:
// - ajaxstutter.html : Starting point
// - ajaxClient.js : Javascript, used by ajaxstutter.html for ajax enabling
// - ajaxstutter.java : Called from ajaxClient.js
// - ajaxstutterClass.java : Called from ajaxstutter as a static (ajaxstutterClass.checkStutter())
// DEPLOY:
// - ajaxstutter.html and ajaxClient.js must be in webapps/ajaxstutter
// (Same level as WEB-INF)
public class ajaxstutter extends HttpServlet
{
private static final long serialVersionUID = -3509437421722952331L;
/**
* Allows logging into the Catalina logs if needed. *
* @param message
* @throws IOException
*/
private void logCrud(String message) throws IOException
{
getServletContext().log(message);
}
/*
* (non-Javadoc)
*
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// find our form text in the request
String targetId = request.getParameter("testPassage");
// content type is XML, not HTML
response.setContentType("text/xml");
// no caching of results by client, forces reload
response.setHeader("Cache-Control", "no-cache");
// if there is no stutter, send a simple message.
if (((targetId != null) && !ajaxstutterClass.isStutter(targetId))) {
response.getWriter().write(" No stutters found... ");
} else
{
// send a list of stutters, these are delimited by special symbols
// although more xml could be used, replaceAll operation in javascript
// ends up being less work/code.
response.getWriter().write("");
ajaxstutterClass.checkStutter(targetId, response);
response.getWriter().write("");
}
}
/*
* (non-Javadoc)
*
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// GET methods work best with AJAX in this scenario
doGet(request, response);
}
}