Java Web中的两种跳转语句是什么,有什么区别
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了萝北免费建站欢迎大家使用!
在JSP中,跳转页面有两种方式:1.forward跳转: 2.response跳转:response.sendRedirect("跳转页面地址");两种跳转的区别如下:1.forward跳转:a.服务器端跳转,地址栏不改变;b.执行到跳转语句后马上无条件跳转,之后的代码不再执行(跳转之前一定要释放全部资源);c.request设置的属性在跳转后的页面仍可以使用;d.使用 传递参数。2.response跳转:a.客户端跳转,地址栏改变;b.所有代码执行完毕后跳转;c.跳转后的页面不能使用上一个页面的request属性;d.使用地址重写传递参数(response.sendRedirect("URL?参数名=参数值"))。
在java web开发中,凡是能实现页面跳转的方法有哪些?具体列出这些方法的实现语句
一、跳转到新页面,并且是在新窗口中打开页面:
function openHtml
{
//do someghing here...
window.open("xxxx.");
}
window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加“://”,比如:
function openHtml
{
window.open("[baidu]");
}
二、在本页面窗口中跳转:
function totest2
{
window.location.assign("test2.");
}
如果直接使用location.assgin也可以,但是window.location.assign更合理一些,当前窗口的location对象的assign方法。
另外,location对象还有一个方法replace也可以做页面跳转,它跟assign方法的区别在于:
replace 方法不会在 History 对象中生成一个新的纪录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前纪录。
跳转的几种方法
页面跳转如果不是在程序里面的话都是通过a标签链接跳转的,而且a标签的跳转方式有
_blank是最常见的链接方式,表示超链接的目标地址在新建窗口中打开;
_self表示“相同窗口”。点击链接后,地址栏不变;
_top表示整页窗口;
_parent表示父窗口。
javaweb,请问,我在severlet里面执行了这个response.sendRedirect跳转语句,是不是下面的语句就没用了?
response.sendRedirect
重定向本质是两次请求,附带的参数会丢失,但是看你程序是从session里取数据,所以在本次会话内,你的数据有效,questions能正常取到数据,下面显示会正常。如果是request 作用域内,就会取不到。
网页能够自己判断是pc端首页还是手机端的首页,并自动跳转,代码详细点,多谢各位大神
//腾讯网的适配代码
//其他的适配代码(后缀名为.js 并引用至网页)
jsp怎么跳转到servlet
JSP跳转到Servlet:
1. 注意,这里的url不能直接写你的servlet名称,而要填写web.xml里该servlet的url-pattern,即“/xxxServlet"形式。有斜杠,斜杠,杠。另外,这种方式直接跳走了,在servlet里写上跳转回原页面的语句,就会报错java.io.IOException: Stream closed。
2. 同上,url有斜杠。这种方式的好处是servlet里不用写跳转语句,会自动回到原来页面,因为这是一个动态包含文件命令。另外,该方式还能传递多个参数,你懂的。
3.借助javascript.如
Servlet跳转到JSP
1.response.sendRedirect("URL")跳转后浏览器地址栏变化。可以将页面跳转到任何页面,不一定局限于本web应用中。
这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。
2.request.getRequestDispatcher("/a.jsp")。dispatcher .forward(request, response);
Servlet页面跳转的路径是相对路径。forward方式只能跳转到本web应用中的页面上。跳转后浏览器地址栏不会变化。
使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute
如何从一个JSP页面中跳到另一个JSP页面呢?
你可以在jsp页面使用超链接标签 例如 点击我跳转
也可以在后台servlet中使用 重定向 例如 response.sendRedirect("xxx.jsp");
也可以使用转发 例如 request.getRequestDispatcher("xxx.jsp").forward(request.response);
标签:作文经典 上一篇:昆明的诗句 写昆明的诗句 下一篇:偶尔的近义词反义词 偶尔的反义词
说说servlet里面的方法:
public void ValidateUserPass(String user,String pass){
RequestDispathcher rd =null
//假使你的代码是从DB中获取
DBFactory db=DBFactoryImpl.getDBFactoryInstance();//得到数据库链接
flg=db.findUser(user,pass);
// 这里是不存在用户
if(flg.hasNext()==-1){
// 登录时错误了,一般我们会给用户一个提示
session.setAttirbute("msg","对不起,用户名或密码错误");
RequestDispathcher rd = req.getRequesDispatcher("login.jsp");
rd.forward(request, reponse);//将请求对象和响应对象传递进来
} // 这里是存在当前用户
else{
//当然这里登录成功时,我们要把当前用户写到session里面保存
session.setAttirbute("userName",user);
//这个请求转发语句
request.sendRedirect("index.html");
}
}
// * 上述代码,你可以参考下我的方法,我也很久没做JAVA开发了,我现在从事前端UI开发,本来我想在写一个用struts 2登录的程序的,可我现在忘得差不多了,上面我所用到的属性建议你自己好好的研究一下,往后你将学到struts2 hibernate,Spring等一系列优秀的开源框架,说白了,这些东西的底层还是这些,只不过这些框架做了一些封装隔离。上述代码建议你重点理解一下:请求转发和重定向的区别。
假如有两个frame,分别为frame1,frame2,frame1加个按钮实现跳转.frame1代码如下
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class frame1 extends JFrame implements ActionListener{
/**
* @param args
*/
private JButton jb;
public frame1()
{
this.setSize(300, 200);
this.setLocation(300, 400);
jb=new JButton("跳转");
this.add(jb);
jb.addActionListener(this);//加入事件监听
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame1 frame=new frame1();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb)
{
this.dispose();//点击按钮时frame1销毁,new一个frame2
new frame2();
}
}
}
frame2是个单纯的界面
import javax.swing.JButton;
import javax.swing.JFrame;
public class frame2 extends JFrame{
/**
* @param args
*/
public frame2()
{
this.setSize(300, 200);
this.setLocation(300, 400);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
frame2 frame=new frame2();
}
}