|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......js 在这个例子中,起首呈现的HTML表单用来选择搜刮引擎、搜刮字符串、每页显现的搜刮了局数目。表单提交后,Servlet提取这三个变量,依照所选择的搜刮引擎的请求机关出包括这些变量的URL,然后把用户重定向到这个URL。假如用户不克不及准确地选择搜刮引擎,大概使用其他表单发送了一个不熟悉的搜刮引擎名字,则前往一个提醒搜刮引擎找不到的404页面。
SearchEngines.Java
注重:这个Servlet要用到前面给出的SearchSpec类,SearchSpec的功效是机关合适分歧搜刮引擎的URL。
packagehall;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
importjava.net.*;
publicclassSearchEnginesextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
//getParameter主动解码URL编码的查询字符串。因为我们
//要把查询字符串发送给另外一个服务器,因而再次利用
//URLEncoder举行URL编码
StringsearchString=
URLEncoder.encode(request.getParameter("searchString"));
StringnumResults=
request.getParameter("numResults");
StringsearchEngine=
request.getParameter("searchEngine");
SearchSpec[]commonSpecs=SearchSpec.getCommonSpecs();
for(inti=0;i<commonSpecs.length;i++){
SearchSpecsearchSpec=commonSpecs[i];
if(searchSpec.getName().equals(searchEngine)){
Stringurl=
response.encodeURL(searchSpec.makeURL(searchString,
numResults));
response.sendRedirect(url);
return;
}
}
response.sendError(response.SC_NOT_FOUND,
"Norecognizedsearchenginespecified.");
}
publicvoiddoPost(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
SearchSpec.java
packagehall;
classSearchSpec{
privateStringname,baseURL,numResultsSuffix;
privatestaticSearchSpec[]commonSpecs=
{newSearchSpec("google",
"http://www.google.com/search?q=",
"&num="),
newSearchSpec("infoseek",
"http://infoseek.go.com/Titles?qt=",
"&nh="),
newSearchSpec("lycos",
"http://lycospro.lycos.com/CGI-bin/pursuit?query=",
"&maxhits="),
newSearchSpec("hotbot",
"http://www.hotbot.com/?MT=",
"&DC=")
};
publicSearchSpec(Stringname,
StringbaseURL,
StringnumResultsSuffix){
this.name=name;
this.baseURL=baseURL;
this.numResultsSuffix=numResultsSuffix;
}
publicStringmakeURL(StringsearchString,StringnumResults){
return(baseURL+searchString+numResultsSuffix+numResults);
}
publicStringgetName(){
return(name);
}
publicstaticSearchSpec[]getCommonSpecs(){
return(commonSpecs);
}
}
SearchEngines.html
上面是挪用上述Servlet的HTML表单。
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<TITLE>会见多个搜刮引擎</TITLE>
</HEAD>
<BODYBGCOLOR="#FDF5E6">
<FORMACTION="/servlet/hall.SearchEngines">
<CENTER>
搜刮关头字:
<INPUTTYPE="TEXT"NAME="searchString"><BR>
每页显现几个查询了局:
<INPUTTYPE="TEXT"NAME="numResults"
VALUE=10SIZE=3><BR>
<INPUTTYPE="RADIO"NAME="searchEngine"
VALUE="google">
Google|
<INPUTTYPE="RADIO"NAME="searchEngine"
VALUE="infoseek">
Infoseek|
<INPUTTYPE="RADIO"NAME="searchEngine"
VALUE="lycos">
Lycos|
<INPUTTYPE="RADIO"NAME="searchEngine"
VALUE="hotbot">
HotBot
<BR>
<INPUTTYPE="SUBMIT"VALUE="Search">
</CENTER>
</FORM>
</BODY>
</HTML>
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的 |
|