jsp+servlet进行页面延时跳转
程序员文章站
2022-07-14 18:07:21
...
关于jsp+servlet对于页面的延时跳转问题
作为一个刚接触jsp+serlvet的小白,今天遇到了jsp+servlet延时跳转的问题,刚开始没思路,就在网上查找,由于没找到满意的结果,最后只能自己往死里写,竟然写出来了,兴奋之余,在这里分享一下。
问题:登陆成功后,过5秒钟自动转到目标界面
1.在servlet中使用request接收来自于页面的数据
2.创建一个session,临时存放一下接到的数据
3.通过response.sendRedirect(request.getContextPath()+ 具体的jsp页面路径),将界面 转到一个jsp页面
4.在转到的jsp页面中使用js来实现倒数和跳转的效果
5.然后转到一个serlvet中,利用这个serlvet获取session中临时存放的数据,然后再转到显示数据的界面
6.在jsp界面中显示数据
serlvet ——1:
public void login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 封装对象
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
User user = new User();
user.setName(name);
user.setPwd(pwd);
//检查是否登陆成功
boolean flag = uBiz.doLogin(user);
//登陆成功
if (flag) {
List<User> userList = uBiz.showUsers();
request.getSession().setAttribute("userList", userList);
response.sendRedirect(request.getContextPath()
+ "/user/tiaozhuan.jsp");
}
//登陆失败
if (!flag) {
response.sendRedirect(request.getContextPath()
+ "/user/userError.jsp");
}
}
tiaozhuan.jsp页面:
<script type="text/javascript">
var time=5;
setInterval("Time()",1000);
function Time(){
if(time == 0){
location="<%=request.getContextPath() %>/UserAction?method=allUsers";
}
document.getElementById("layer").innerHTML=""+time+"秒之后跳转";
time--;
}
</script>
servlet——2:
public void allUsers(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
List<User> userList = (List<User>)request.getSession().getAttribute("userList");
request.setAttribute("userList", userList);
request.getRequestDispatcher("/user/allUser.jsp").forward(request, response);
}
allUser.jsp页面:
代码省略。
在jsp中使用JSTL核心标签库显示数据
总结分析:
在做的过程中感觉此题的难点在于,第一眼看时会感觉没法进行参数传递
突破点在于,建一个临时容器存放数据,再就是用一个中间页面来体现延时跳转的效果
上一篇: Android 简单下拉框
推荐阅读
-
Angular4.x通过路由守卫进行路由重定向,实现根据条件跳转到相应的页面
-
react-native使用react-navigation进行页面跳转导航的示例
-
Flutter 使用Navigator进行局部跳转页面的方法
-
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
-
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
-
jsp+servlet进行页面延时跳转
-
form表单只提交数据而不进行页面跳转的解决方案
-
nginx禁止直接通过ip进行访问并跳转到自定义500页面的操作
-
Vue用户进行页面切换(路由跳转)时,动态改变路由的动画(transition效果)
-
Vue中使用router进行页面跳转