(1) Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
(2) response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接 。这样 , 从浏览器的地址栏中可以看到跳转后的链接地址 。
前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法 。
注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法 。
3. <jsp:forward page="" />
它的底层部分是由RequestDispatcher来实现的 , 因此它带有RequestDispatcher.forward()方法的印记 。
如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意 。
另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交
4. 修改HTTP header的Location属性来重定向
通过设置直接修改地址栏来实现页面的重定向 。
jsp文件代码如下:
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn = "/newpath/jsa.jsp";
response.setHeader("Location",newLocn);
%>
5. JSP中实现在某页面停留若干秒后,自动重定向到另一页面
在html文件中,下面的代码:
<meta http-equiv="refresh" content="300; url=target.jsp">
它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页 。代码中300为刷新的延迟时间,以秒为单位 。targer.html为你想转向的目标页,若为本页则为自动刷新本页 。
由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面 。
关键代码:
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);
运行时可调用浏览器打开一个网页,网页地址在代码中的java代码怎么写?网页地址在代码中的java代码写法如下:
packagecom.test;
importjava.lang.reflect.Method;
//实现打开浏览器并跳到指定网址的类
publicclassBareBonesBrowserLaunch{
publicstaticvoidopenURL(Stringurl){
try{
browse(url);
}catch(Exceptione){
}
}
privatestaticvoidbrowse(Stringurl)throwsException{
//获取操作系统的名字
StringosName=System.getProperty("os.name","");
if(osName.startsWith("MacOS")){
//苹果的打开方式
ClassfileMgr=Class.forName("com.apple.eio.FileManager");
MethodopenURL=fileMgr.getDeclaredMethod("openURL",newClass[]{String.class});
openURL.invoke(null,newObject[]{url});
}elseif(osName.startsWith("Windows")){
//windows的打开方式 。
Runtime.getRuntime().exec("rundll32url.dll,FileProtocolHandler"+url);
}else{
//UnixorLinux的打开方式
String[]browsers={"firefox","opera","konqueror","epiphany","mozilla","netscape"};
Stringbrowser=null;
for(intcount=0;countbrowsers.lengthbrowser==null;count++)
//执行代码 , 在brower有值后跳出 ,
//这里是如果进程创建成功了,==0是表示正常结束 。
if(Runtime.getRuntime().exec(newString[]{"which",browsers[count]}).waitFor()==0)
browser=browsers[count];
if(browser==null)
thrownewException("Couldnotfindwebbrowser");
else
//这个值在上面已经成功的得到了一个进程 。
Runtime.getRuntime().exec(newString[]{browser,url});
}
}
}
//主方法测试类
publicstaticvoidmain(String[]args){
Stringurl="";
BareBonesBrowserLaunch.openURL(url);
}
JAVA中打开新页面代码/**
* 打开打印窗口
* url:链接页面或action动作
* Banglu
*/
推荐阅读
- 末世游戏角色扮演攻略,末日角色扮演生存游戏
- 包含postgresql添加表空间的词条
- 笔记本做服务器,笔记本做服务器实现免流
- jquery图片上传事件,jqueryform图片上传
- python中种子函数 python用种子产生随机数
- gis搜索半径,arcgis快速搜索
- 入门骑行拍摄题材是什么,骑行拍照姿势
- 公司如何搭建vps电商,公司如何搭建vps电商网站
- linux把命令写成脚本 linux命令行脚本