社区
Web 开发
帖子详情
如何再javaBean中实现页面跳转
ykyxkhjh3
2004-06-15 09:04:43
response.sendRedirect("OutOfTime.jsp");
直接用不行,那么该如何解决呢
...全文
579
22
打赏
收藏
如何再javaBean中实现页面跳转
response.sendRedirect("OutOfTime.jsp"); 直接用不行,那么该如何解决呢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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)
如何修改maven的默认jdk版本
如何修改maven的默认jdk版本 问题: 1、创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.8版本。 2、每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本 平时开发
中
,新增java maven项目后,默认的jdk版本都是java1.5。 原因: 此处解释转载:https://blog.csdn.net/l...
Maven修改默认JDK版本
Maven默认的jdk是1.5版本,每次新建项目都重新修改jdk版本过于麻烦,所以以下办法可修改Maven的默认jdk版本 。 注意:最好把Maven的版本更新一下,我用3.3版本的时候配置setting.xml jdk1.8无效。 一、 在项目文件下的 pom.xml文件下添加一下代码(jdk1.8为例) <build> <pluginManagem...
修改maven默认的jdk版本
修改maven默认的jdk版本,想改彻底需要在maven的全局配文件(settings.xml)增加以下信息: 在profiles 节点下增加: jdk-1.6 true 1.6 1.6 1.6 1.6 这里的jdk版本可以任意改
maven——修改默认JDK版本
Maven项目的默认java JDK版本都是1.5,如果想要修改单个maven项目的版本则是当项目路径下的.settings目录下的配置文件
中
进行修改。但有时候我们希望修改磨人的配置,这样就不用每次创建新的项目都要去修改了。修改默认的jdk版本的方式则是对项目默认使用的maven项目的配置文件进行修改。在maven的配置文件settings.xml
中
的profiles节点
中
添加profil...
修改maven配置默认jdk版本
在maven的默认配置
中
,对于jdk的默认配置是1.5版本,那么创建/导入maven工程过程
中
,工程
中
未指定jdk版本。 对工程进行maven的update,就会出现工程依赖的JRE System Library会自动变成JavaSE-1.5。 解决方案1:修改maven的默认jdk配置 maven的conf\setting.xml(在eclispe
中
使用的se
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章