|
What this is
This file is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn
Java by Example" TM.
Other links
The source code
package com.psibt.framework.net;
import java.io.*;
import java.net.*;
import java.util.*;
/**
* This class implements a RequestHandler for the root path "/" in the PluggableHTTPServer.
* A simple HTML message will be replied to the client.
*
* @author Volker Mentzner
*/
public class RootRequestHandler implements HTTPRequestHandler {
private String title;
private String description;
private String handledPath;
private String ReplyType = "Content-type: text/html\r\n\r\n";
private String ReplyHTML = "Root\r\n"
+ "Root\r\n"
+ "\r\n";
/**
* Creates a new RootRequestHandler object
*/
public RootRequestHandler() {
this.setTitle("root page");
this.setDescription("root page");
this.setHandledPath("/");
}
/**
* Gets the content type of the reply HTTP message
*
* @return content type as String
*/
public String getReplyType() {
return this.ReplyType;
}
/**
* Sets the content type of the reply HTTP message
*
* @param ReplyType - content type as String
*/
public void setReplyType(String ReplyType) {
this.ReplyType = ReplyType;
}
/**
* Gets the HTML data of the reply HTTP message
*
* @return HTML message as String
*/
public String getReplyHTML() {
return this.ReplyHTML;
}
/**
* Sets the HTML data of the reply HTTP message
*
* @param ReplyHTML - HTML message as String
*/
public void setReplyHTML(String ReplyHTML) {
this.ReplyHTML = ReplyHTML;
}
/**
* Gets the title for html page
*/
public String getTitle() {
return this.title;
}
/**
* Sets the title for html page
*/
public void setTitle(String title) {
this.title = title;
}
/**
* Gets the description for html page
*/
public String getDescription() {
return this.description;
}
/**
* Sets the description for html page
*/
public void setDescription(String description) {
this.description = description;
}
/**
* Gets the server path
*
* @return the server path
*/
public String getHandledPath() {
return this.handledPath;
}
/**
* Sets the server path
*
* @param path - the server path
*/
public void setHandledPath(String path) {
this.handledPath = path;
}
/**
* Handles the given request and writes the reply to the given out-stream.
*
* @param request - client browser request
* @param out - Out stream for sending data to client browser
* @return if the request was handled by this handler : true, else : false
*/
public boolean handleRequest(String request, Writer out) {
String path = "";
String query = null;
try {
URL url = new URL("http://localhost"+request);
path = url.getPath();
query = url.getPath();
if (path.equals(handledPath) == false) {
return false;
}
out.write("HTTP/1.0 200 OK\r\n");
if (ReplyType != null)
out.write(ReplyType);
if (ReplyHTML != null)
out.write(ReplyHTML);
out.flush();
return true;
} catch (Exception ex) {
return false;
}
}
}
|