package coreservlets;
import java.io.;
import javax.servlet.;
import javax.servlet.http.;
import java.net.;
public class SearchEngines extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String searchString = request.getParameter("searchString");
if ((searchString == null) //
(searchString.length() == 0)) {
reportProblem(response, "Missing search string.");
return;
}
// The URLEncoder changes spaces to "+" signs and other
// non-alphanumeric characters to "%XY", where XY is the
// hex value of the ASCII (or ISO Latin-1) character.
// Browsers always URL-encode form values, so the
// getParameter method decodes automatically. But since
// we're just passing this on to another server, we need to
// re-encode it.
searchString = URLEncoder.encode(searchString);
String numResults = request.getParameter("numResults");
if ((numResults == null) //
(numResults.equals("0")) //
(numResults.length() == 0)) {
numResults = "10";
}
String searchEngine =
request.getParameter("searchEngine");
if (searchEngine == null) {
reportProblem(response, "Missing search engine name.");
return;
}
SearchSpec[] commonSpecs = SearchSpec.getCommonSpecs();
for(int i=0; i
1<commonspecs.length; "<h2="" "unrecognized="" (searchspec.getname().equals(searchengine))="" engine.");="" i++)="" if="" ioexception="" message)="" numresults);="" private="" reportproblem(httpservletresponse="" reportproblem(response,="" response,="" response.senderror(response.sc_not_found,="" response.sendredirect(url);="" return;="" search="" searchspec="commonSpecs;" string="" throws="" url="searchSpec.makeURL(searchString," void="" {="" }="">" + message + "");
2}
3
4public void doPost(HttpServletRequest request,
5HttpServletResponse response)
6throws ServletException, IOException {
7doGet(request, response);
8}
9}</commonspecs.length;>