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

来源: 作者: 2007-12-12 出处:pcdog.com

  • .net
  • java
  • jsp

  •   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);
    }
    }
    更多内容请看PCdog.com--搜索引擎Jsp 基础学习Jsp 实例应用专题
    上一篇:jsp源码实例3(获取jsp各种参数)
    下一篇:jsp源码实例5(cookie)