后面的请求字符串(queryString)是需要进行解析的 那么我们可以先把解析这个字符串的方法完成:
Private void parseParameter(String queryString){
Try{
//传入的两个参数是需要解析的字符串和解析的字符
java.util.StringTokenizer stk=new StringTokenizer (queryString,"&");
//把解析后id字符串装入到一个Map中间,形成一个名值对
While(stk.hasMoreElements()){
String temp=stk.nextToken();
String tempArray[]=temp.split("=");
If(tempArray==2)
{
paraMap.put(tempArray[0],tempArray[1]);}
}
}
Catch(Exception e){}
/** 存放请求参数的表 */
private Map<String, String> paraMap = new java.util.HashMap();
}
这个方法就完成了把请求字符串解析:Public staticString replace(String resourceStr,String fromStr,Strinf toStr)
{
java.lang.String destStr="";
Int intFromLen=fromStr.length();
Int intPos;
While((intPos=resourceStr.indexOf(fromStr))!=-1){
strDest = strDest + strSource.substring(0, intPos);
strDest = strDest + strTo;
strSource = strSource.substring(intPos + intFromLen);
}
strDest =strDest +strSource ;
Return strDest ;
}
技巧:最后我们可以在HttpServer启动的时候 直接用一个外部程序来启动浏览器,只需要在启动服务器后加上一段代码,所以在MAIN()里面可以这样来写:
HttpServer server=new HttpServer ();
Server.start();
System.out.println("simple server is starting......");
Try{
java.lang.Process startIEProcess=Runtime.geRuntime.exc("Explorer http://localhost:"+port);}
Catch(Exception e)
{
ef.printStackTrace();
}
总结:这个简单的WEB服务器让我在写代码的时候 更加深入的理解的面向对象的思路,其实在每完成一个功能实现的时候 都可以从代码中体会到语法 方法 思路的解析 我在分析问题的时候 思路越来越清晰 虽然还不够严谨 但是慢慢会更好!
小型WEB服务器程序解析2
最新推荐文章于 2022-08-10 20:26:05 发布