📄 seeotherframe.java
字号:
// SeeOtherFrame.java// $Id: SeeOtherFrame.java,v 1.6 2000/08/16 21:37:40 ylafon Exp $// (c) COPYRIGHT MIT and INRIA, 1998.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.jigsaw.frames ;import java.net.MalformedURLException;import java.net.URL;import org.w3c.tools.resources.Attribute;import org.w3c.tools.resources.AttributeRegistry;import org.w3c.tools.resources.ProtocolException;import org.w3c.tools.resources.Resource;import org.w3c.tools.resources.StringAttribute;import org.w3c.www.http.HTTP;import org.w3c.www.http.HttpReplyMessage;import org.w3c.jigsaw.http.Reply;import org.w3c.jigsaw.http.Request;import org.w3c.jigsaw.forms.URLDecoder;import org.w3c.jigsaw.forms.URLDecoderException;import org.w3c.jigsaw.html.HtmlGenerator;import org.w3c.tools.resources.ProtocolException;import org.w3c.tools.resources.ResourceException;/** * generates a 303 See Other reply on a POST * client should do the redirect with a GET */public class SeeOtherFrame extends PostableFrame { protected static int ATTR_TARGET_URL = -1 ; static { Attribute a = null ; Class cls = null ; try { cls = Class.forName("org.w3c.jigsaw.frames.SeeOtherFrame") ; } catch (Exception ex) { ex.printStackTrace() ; System.exit(1) ; } // The override attribute: a = new StringAttribute("target-url", null, Attribute.EDITABLE); ATTR_TARGET_URL = AttributeRegistry.registerAttribute(cls, a) ; } /** * Handle the form submission, after posted data parsing. * <p>This method ought to be abstract, but for reasonable reason, it * will just dump (parsed) the form content back to the client, so that it * can be used for debugging. * @param request The request proper. * @param data The parsed data content. * @exception ProtocolException If form data processing failed. * @see org.w3c.jigsaw.forms.URLDecoder */ public Reply handle (Request request, URLDecoder data) throws ProtocolException { Reply reply = request.makeReply(HTTP.SEE_OTHER); URL loc = null; String target = (String) getValue(ATTR_TARGET_URL, null) ; if (target == null) { Reply error = request.makeReply(HTTP.INTERNAL_SERVER_ERROR) ; HtmlGenerator g = new HtmlGenerator("Error"); g.append("The target RelocateResource doesn't define the" + " relocation location. The server is " + " misconfigured.") ; error.setStream(g); return error ; } try { loc = new URL(getURL(request), target); } catch (MalformedURLException ex) { // still not well configured :) Reply error = request.makeReply(HTTP.INTERNAL_SERVER_ERROR) ; HtmlGenerator g = new HtmlGenerator("Error"); g.append("The target RelocateResource doesn't define the" + " relocation location. The server is " + " misconfigured.") ; error.setStream(g); return error ; } reply.setLocation(loc); HtmlGenerator g = new HtmlGenerator("Moved"); g.append("<P>You should see the following resource, with a GET"+ ", click on the link if your" + " browser doesn't support automatic redirection<BR>"+ "<A HREF=\""+loc.toExternalForm()+"\">"+ loc.toExternalForm()+"</A>"); reply.setStream(g); return reply ; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -