This is a webadmin bean which has default functionality such as genderating
error pages and setting page content.
Method from org.apache.openejb.webadmin.httpd.DefaultHttpBean Detail: |
public void do404(HttpRequest request,
HttpResponse response) {
response.reset(404, "Object not found.");
java.io.PrintWriter body = response.getPrintWriter();
body.println("< !DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\" >");
body.println("< HTML >< HEAD >");
body.println("< TITLE >404 Not Found< /TITLE >");
body.println("< /HEAD >< BODY >");
body.println("< H1 >Not Found< /H1 >");
body.println(
"The requested URL < font color=\"red\" >"
+ request.getURI().getFile()
+ "< /font > was not found on this server.< P >");
body.println("< HR >");
body.println("< ADDRESS >" + response.getServerName() + "< /ADDRESS >");
body.println("< /BODY >< /HTML >");
}
Creates a "Page not found" error screen |
public void do500(HttpRequest request,
HttpResponse response,
String message) {
response.reset(500, "Internal Server Error.");
java.io.PrintWriter body = response.getPrintWriter();
body.println("< html >");
body.println("< body >");
body.println("< h3 >Internal Server Error< /h3 >");
body.println("< br >< br >");
if (message != null) {
StringTokenizer msg = new StringTokenizer(message, "\n\r");
while (msg.hasMoreTokens()) {
body.print(msg.nextToken());
body.println("< br >");
}
}
body.println("< /body >");
body.println("< /html >");
}
Creates and "Internal Server Error" page |
public void ejbActivate() throws EJBException, RemoteException {
}
called on a stateful sessionbean after the bean is
deserialized from storage and put back into use. |
public void ejbCreate() {
}
|
public void ejbPassivate() throws EJBException, RemoteException {
}
called on a stateful sessionbean before the bean is
removed from memory and serialized to a temporary store.
This method is never called on a stateless sessionbean |
public void ejbRemove() throws EJBException, RemoteException {
}
called by the ejb container when this bean is about to be garbage collected |
public void onMessage(HttpRequest request,
HttpResponse response) throws IOException {
InputStream in = null;
OutputStream out = null;
// Internationalize this
try {
String file = request.getURI().getFile();
String ext = (file.indexOf('.') == -1) ? null : file.substring(file.indexOf('.'));
if (ext != null) {
//resolve the content type
if (ext.equalsIgnoreCase(".gif")) {
response.setContentType("image/gif");
} else if (ext.equalsIgnoreCase(".jpeg") || ext.equalsIgnoreCase(".jpg")) {
response.setContentType("image/jpeg");
} else if (ext.equalsIgnoreCase(".png")) {
response.setContentType("image/png");
} else if (ext.equalsIgnoreCase(".css")) {
response.setContentType("text/css");
} else if (ext.equalsIgnoreCase(".js")) {
response.setContentType("text/javascript");
} else if (ext.equalsIgnoreCase(".txt")) {
response.setContentType("text/plain");
} else if (ext.equalsIgnoreCase(".java")) {
response.setContentType("text/plain");
} else if (ext.equalsIgnoreCase(".xml")) {
response.setContentType("text/plain");
} else if (ext.equalsIgnoreCase(".zip")) {
response.setContentType("application/zip");
}
}
URLConnection resource = findResource(request.getURI().getFile());
HttpResponseImpl res = (HttpResponseImpl)response;
res.setContent(resource);
} catch (java.io.FileNotFoundException e) {
do404(request, response);
} catch (java.io.IOException e) {
do500(request, response, e.getMessage());
} finally {
if (in != null) in.close();
}
}
the main processing part of the this bean |
public void setSessionContext(SessionContext sessionContext) throws EJBException, RemoteException {
this.context = sessionContext;
}
sets the session context for this bean |