欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp源码实例4(搜索引擎)

程序员文章站 2024-02-26 12:48:46
package coreservlets;import java.io.*;import javax.servlet.*;import javax.servlet.http...
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<commonspecs.length; i++) {
searchspec searchspec = commonspecs;
if (searchspec.getname().equals(searchengine)) {
string url =
searchspec.makeurl(searchstring, numresults);
response.sendredirect(url);
return;
}
}
reportproblem(response, "unrecognized search engine.");
}

private void reportproblem(httpservletresponse response,
string message)
throws ioexception {
response.senderror(response.sc_not_found,
"<h2>" + message + "</h2>");
}

public void dopost(httpservletrequest request,
httpservletresponse response)
throws servletexception, ioexception {
doget(request, response);
}
}