如何再javaBean中实现页面跳转

ykyxkhjh3 2004-06-15 09:04:43
response.sendRedirect("OutOfTime.jsp");
直接用不行,那么该如何解决呢
...全文
577 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
mbl 2004-06-15
  • 打赏
  • 举报
回复
UP
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
楼上的能不能说具体点,如何在servlet中调用javabean的监听函数?
Jzealot 2004-06-15
  • 打赏
  • 举报
回复
把监听函数写在javabean里,在servlet里通过传递参数调用javabean里的监听函数
顺便问一句,上面程序运行结果出现的是什么错误
xyz8554 2004-06-15
  • 打赏
  • 举报
回复
有两方法:
1、就是转向后要返回当前页面继续执行:
<jsp:include page="页面" flush="true"/>
2.转向某一页面不返回:
<jsp:forward page="页面"/>
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
请看“就是想这样确不能啊”这句注释,问题就在这里了
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
public class GetPoolServlet extends HttpServlet implements HttpSessionBindingListener{
private static final String CONTENT_TYPE = "text/html; charset=GBK";
private DBConnectionManager connMgr=null;
boolean connFlag;
String logname,password,userip,
message=""; //用来返回登录是否成功的消息。
String loginorout=""; //登录还是注销登录的标记,0为登录,1为注销
Date intime=new Date(),outtime=new Date();
Connection con=null;
Statement sql=null;
ResultSet rs=null;
char sign[]={(char)0x02,(char)0x01};
String unisign=new String(sign);
public void setConnMgr(DBConnectionManager connMgr){
this.connMgr=connMgr;
}
public void valueBound(HttpSessionBindingEvent event) { //session创建时候的监听函数
int test1=9;
int test2=8;
}
public void valueUnbound(HttpSessionBindingEvent event ) { //session消亡时候的监听函数,此时向数据库更新数据(更新退出时间)
//这个时候该Bean中的变量值不会消失,因为变量的生命期是这个Bean,而session开始和注销函数都在这里,那么变量的生命周期自然延长到了session结束位置
connFlag=false;
try{
if(logname!=null&&logname!=""){
outtime = new Date();
con = connMgr.getConnection("bookcase");
if (con == null) {
return;
}
sql = con.createStatement();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String condition = "UPDATE PC_LOGIN SET UoutTime='" +
sdf.format(outtime) + "' WHERE UserID = '" + logname +
"' AND UinTime='" + sdf.format(intime) + "'";
sql.executeUpdate(condition);
}

response.sendRedirect("OutOfTime.jsp"); //就是想这样确不能啊
}
catch( SQLException e ){
if(e.getErrorCode()==0)connFlag=true; //如果连接坏了,比如网线被拔掉,不这样的话如果真的有意思坏了就会把坏的东西还给连接池子
}
catch(Exception e){
}
finally{
try{
if(rs!=null)rs.close();
if(sql!=null)sql.close();
}
catch(Exception ignore){}
}
if(con!=null){ //如果连接还存在则放入连接池,如果连接断了则通过异常放入专门的地方
connMgr.freeConnecton("bookcase", con,connFlag); //
}

}


//Initialize global variables
public void init() throws ServletException {
super.init();
connMgr = DBConnectionManager.getInstance();
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String retujsp=request.getParameter("retujsp"); //取得最终要返回得页面
if(retujsp!=null){
HttpSession session = request.getSession();
session.setMaxInactiveInterval(60);
session.setAttribute("MyconnMgr", connMgr); //将连接池句柄放入session,以后所有得Jsp都可以直接从session中获取该句柄了
//RequestDispatcher dispatcher =
//getServletContext().getRequestDispatcher("http://localhost:8080/myapp/JSP/"+retujsp);
//dispatcher.forward(request, response);
//response.setConresponse.stentType(CONTENT_TYPE);
//response.sendRedirect("http://localhost:8080/myapp/jsp/IniJsp.jsp");
response.sendRedirect("http://localhost:8080/myapp/yk_jsp/IniJsp.jsp");
}
}
//Clean up resources
public void destroy() {
connMgr.release();
super.destroy();
}
}
Jzealot 2004-06-15
  • 打赏
  • 举报
回复
可否把源码贴出来呢
wuguix 2004-06-15
  • 打赏
  • 举报
回复
class bean是不能跳转的,他主要是处理数据、业务逻辑等。

如果要跳转的话,要在jsp或servlet中根据bean处理结果选择是否跳转。
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
我就是用servlet啊,我在servlet中用valueUnbound这个监听函数,如果在这个函数中执行页面跳转呢?又不能传入HttpServletResponse参数。
是不是我的处理方法不对啊
xqi8 2004-06-15
  • 打赏
  • 举报
回复
用servlet
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
但是还是没有解决我原先的问题啊,我想在session消亡的时候,在监听函数中执行页面跳转
response.sendRedirect("OutOfTime.jsp"); 在监听函数中不能直接用啊
mygia 2004-06-15
  • 打赏
  • 举报
回复
javaBean就是一个类嘛,难道真的不能再里面实现跳转到某个jsp的操作,为啥子呢?
我现在在一个bean中有个监听session的函数,想等session消亡的时候跳转到别的页面该怎么操作


怎么实现啊?贴出源代码大家分享一下!
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
可以了,嘻嘻,原来是其他的问题
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
楼上的兄台,那样写不行地哦
Jzealot 2004-06-15
  • 打赏
  • 举报
回复
可以这样写啊
public class GetPoolServlet extends HttpServlet implements HttpSessionBindingListener
csdnyong 2004-06-15
  • 打赏
  • 举报
回复
up~
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
我需要用到监听函数哦
用servlet的话public class GetPoolServlet extends HttpServlet
那么implements HttpSessionBindingListener放哪里呢
Jzealot 2004-06-15
  • 打赏
  • 举报
回复
请用servlet
ykyxkhjh3 2004-06-15
  • 打赏
  • 举报
回复
不行三,valueUnbound函数的参数是固定的,传过来就不行,在函数里面new一个好像也不行。
怎么办
hellion1234 2004-06-15
  • 打赏
  • 举报
回复
把当前HttpServletResponse作为参数传过去。
加载更多回复(2)
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 全国计算机等级考试二级教程《Python语言程序设计》(2018年版)被视为针对Python入门者和备考人员的核心学习材料。该资料汇总了教材内的所有编程练习答案,这些答案在Python 3.5.3环境经过实际执行测试,从而保障了代码的准确性和应用价值。备考人员借助这些答案,能够评估自身的学习进度,并深入理解和熟练掌握Python编程的基础原理与方法。 1. Python基础理论:Python作为一门高级编程语言,因其简明扼要的语法结构和卓越的功能表现而备受推崇。基础内容涵盖了变量、数据种类(例如整型、浮点型、字符串、布尔型、列表、元组、字典、集合)、逻辑控制(比如条件判断if-else,循环控制for、while)、函数的声明及使用、模块的引入等。 2. Python高级应用:Python的进阶内容涉及异常管理(try-except-finally结构),类与实例(面向对象编程的基础,包含类的构造、对象的生成、属性与方法的运用、继承机制、多态表现),装饰器(用于调整函数或类的功能特性),上下文管理器(借助with语句实现资源管理)等。 3. 数据文件处理:Python配备了全面的文件操作功能,涉及文件的开启、数据读写、关闭操作,以及多种操作模式(例如r模式用于读取,w模式用于写入,a模式用于追加内容等)。此外,还包括文本文件与二进制文件的转换处理,以及文件的位置调整、复制和删除等操作。 4. 标准库的运用:Python的标准库资源极为丰富,比如os模块提供操作系统接口,sys模块用于获取系统参数,random模块可用于生成随机数值,datetime模块负责处...

81,110

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧