我正在使用JSF2。 我已经实现了一个自定义的面向servlet像这样: public class MyFacesServletWrapper extends MyFacesServlet { // … } 其中我正在做一些授权检查,并在用户未login时发送redirect: public void service(ServletRequest request, ServletResponse response) { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; if (…) { String loginURL = req.getContextPath() + "/LoginPage.faces"; res.sendRedirect(loginURL); } } 这在用户尝试导航到另一个页面时起作用。 但是,当JSF表单由JSF命令链接/button提交时,这不起作用。 sendRedirect()行被命中并执行,没有抛出exception,但用户停留在同一页面。 基本上,根本没有视觉上的变化。 为什么这个工作在页面导航,但不是在表单提交?
是否有可能临时redirectstdout / stderr在Python(即在一个方法的持续时间)? 编辑: 目前的解决scheme(我最初记住但忘记了)的问题是,他们不redirect ; 相反,他们只是完全取代了stream。 因此,如果一个方法由于某种原因(例如,因为stream被作为parameter passing给某个对象)而具有一个variables的本地副本 ,则它将不起作用。 任何解决scheme
我试图在PHP中传递一个URL作为URL参数,但是当我尝试获取这个参数时,我什么也得不到 我正在使用以下url表单: http://localhost/dispatch.php?link=www.google.com 我试图通过: $_GET['link']; 但没有回报。 问题是什么?
众所周知,URL片段( #之后的部分)不会被发送到服务器。 我不知道当涉及服务器redirect(通过HTTP状态302和Location:标头)时,碎片如何工作。 我的问题实际上是双重的: 如果原始URL有一个片段( /original.php#foo ),并且redirect到/new.php ,原始URL的片段部分是否会丢失? 或者它有时会被应用到新的URL? 在这种情况下,新的URL会是/new.php#foo吗? 无论原始URL如何,如果服务器redirect到一个带有片段( /new.php#foo )的新URL,该片段/new.php#foo会被“尊重”? 或者,服务器真的没有干扰片段的业务 – 所以浏览器会忽略它,只需去/new.php ?
我使用python的ftplib来编写一个小型的FTP客户端,但是一些包中的函数不返回string输出,而是打印到stdout 。 我想redirectstdout到一个对象,我将能够读取输出。 我知道stdout可以redirect到任何常规文件: stdout = open("file", "a") 但我更喜欢一种不使用本地驱动器的方法。 我正在寻找像Java中的BufferedReader ,可以用来将缓冲区包装到stream中。
Server.Transfer和Response.Redirect什么区别? 各有什么优缺点? 什么时候适合于另一个? 什么时候不合适?
我想重新打开stdin和stdout (也许是stderr而我在它)文件句柄,以便将来调用printf()或putchar()或puts()将去到一个文件,以后调用getc()这将来自一个文件。 1)我不想永久失去标准的input/输出/错误。 我可能希望稍后在程序中重用它们。 2)我不想打开新的文件句柄,因为这些文件句柄将不得不围绕很多或全局(不寒而栗)传递。 3)我不想使用任何open()或fork()或其他系统相关的函数,如果我不能帮助它。 所以基本上,这是否工作: stdin = fopen("newin", "r"); 而且,如果是这样,我怎样才能得到stdin的原始价值? 我是否必须将它存储在FILE * ,稍后再回来?
所以我有这个jQuery的AJAX调用,并以302redirect的forms从服务器响应。 我想采取这个redirect并加载到一个iframe中,但是当我尝试查看与JavaScript警报的标题信息,即使萤火虫看到它正确,它会出现null。 这里的代码,如果它会帮助: $j.ajax({ type: 'POST', url:'url.do', data: formData, complete: function(resp){ alert(resp.getAllResponseHeaders()); } }); 我真的没有访问服务器端的东西,为了将URL移动到响应正文,我知道这是最简单的解决scheme,所以任何帮助parsing的标题将是太棒了。
我有一个网站似乎不是从非wwwredirect到www。 我的Apacheconfiguration如下: RewriteEngine On ### re-direct to www RewriteCond %{http_host} !^www.example.com [nc] RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 我错过了什么?
我试图让curl遵循redirect,但我不能完全正确地工作。 我有一个string,我想作为一个GET参数发送到服务器,并得到的结果URL。 例: string= 狗头人危害 Url = www.wowhead.com/search?q=Kobold+Worker 如果您转到该url,则会将您redirect到“www.wowhead.com/npc=257”。 我想curl返回这个URL到我的PHP代码,以便我可以提取“npc = 257”并使用它。 当前代码: function npcID($name) { $urltopost = "http://www.wowhead.com/search?q=" . $name; $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"); curl_setopt($ch, CURLOPT_URL, $urltopost); curl_setopt($ch, CURLOPT_REFERER, "http://www.wowhead.com"); curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:application/x-www-form-urlencoded")); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); return curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); } 然而这返回www.wowhead.com/search?q=Kobold+Worker而不是www.wowhead.com/npc=257 。 我怀疑在外部redirect发生之前PHP正在返回。 […]