请求servlet操作成功后,在JSP页面弹出提示框
应用环境:
点击前台页面,执行某些操作。后台action/servlet 执行后,返回处理结果(成功、失败、原因、状态等)信息。在前台jsp进行弹窗显示,alert();
后台处理代码:(把要提示的数据放到session中。)
if(flag){message="分类修改成功";req.getSession().setAttribute("message", message);resp.sendRedirect(req.getContextPath()+"/servlet/categoryListServlet");}else{message="分类修改失败";req.getSession().setAttribute("message", message);}
前台处理代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
上面的例子是把信息放入整个会话session中,这个session对整个用户请求都有效,在Session不过期时间之内都有效,其实有时候是要分别来对待的,比如新增、删除、修改、登陆成功等操作,我们操作成功后,是要重定向到目标页面,重定向request作用域不能延伸,所以我们要用Session存放弹框信息,但如果是转发到目标页面,我们就可以用request了
登陆实例:
index.jsp:
1 <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>2 <%3 String path = request.getContextPath();4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";5 %>6 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">8 <html>9 <head> 10 <base href="<%=basePath%>"> 11 12 <title>My JSP 'index.jsp' starting page</title> 13 </head> 14 15 <body> 16 This is my JSP page. <br> 17 <% 18 Object message = request.getAttribute("message"); 19 if(message!=null && !"".equals(message)){ 20 21 %> 22 <script type="text/javascript"> 23 alert("<%=message%>"); 24 </script> 25 <%} %> 26 <form action="<%=request.getContextPath() %>/servlet/checkLogin" method="post"> 27 <input type="text" name="username" value=""/><br/> 28 <input type="submit" name="login" value="提交"/> 29 </form> 30 </body> 31 </html>
CheckLogin.java(servlet):
1 package servlet;2 import java.io.IOException;3 import java.net.InetSocketAddress;4 import java.util.concurrent.Executor;5 import javax.servlet.ServletException;6 import javax.servlet.http.HttpServlet;7 import javax.servlet.http.HttpServletRequest;8 import javax.servlet.http.HttpServletResponse;9 import javax.servlet.http.HttpSession; 10 public class CheckLogin extends HttpServlet{ 11 @Override 12 protected void doGet(HttpServletRequest req, HttpServletResponse resp) 13 throws ServletException, IOException { 14 doPost(req, resp); 15 } 16 @Override 17 protected void doPost(HttpServletRequest req, HttpServletResponse resp) 18 throws ServletException, IOException { 19 String username = req.getParameter("username"); 20 HttpSession session=req.getSession(); 21 if(username.equals("admin")){ 22 //登陆成功,我是重定向到其它页面,所以这里我要用session才可以把成功的信息传递给count.jsp 23 session.setAttribute("sucess", "登陆成功!"); 24 resp.sendRedirect(req.getContextPath()+"/count.jsp"); 25 }else{ 26 //登陆失败,我有的是转发,转发request作用域是连续的,所以我这里可以用request传递失败的信息给JSp页面 27 req.setAttribute("message", "登陆失败!"); 28 req.getRequestDispatcher("/index.jsp").forward(req, resp); 29 } 30 } 31 @Override 32 protected void service(HttpServletRequest req, HttpServletResponse resp) 33 throws ServletException, IOException { 34 super.service(req, resp); 35 } 36 37 }
web.xml
<servlet><servlet-name>checkLogin</servlet-name><servlet-class>servlet.CheckLogin</servlet-class></servlet><servlet-mapping><servlet-name>checkLogin</servlet-name><url-pattern>/servlet/checkLogin</url-pattern></servlet-mapping>
count.jsp(登陆成功目标页)
1 <%@ page language="java" contentType="text/html; charset=UTF-8"2 pageEncoding="UTF-8"%>3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">4 <html>5 <head>6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">7 <title>Insert title here</title>8 </head>9 <body> 10 <% 11 Object message = session.getAttribute("sucess"); 12 if(message!=null && !"".equals(message)){ 13 14 %> 15 <script type="text/javascript"> 16 alert("<%=message%>"); 17 </script> 18 <%} %> 19 hello word! 20 </body> 21 </html>
请求servlet操作成功后,在JSP页面弹出提示框相关推荐
- 设置代理后打开应用老是弹出提示框要输入用户名和密码的问题。
我的解决办法是: 在IE中添加下列网站为代理服务器例外 officeimg.vo.msecnd.net office.microsoft.com odc.officeapps.live.c ...
- 网页弹出提示框3秒后自动消失
页面弹出提示框3秒后自动消失 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...
- JSP页面-操作成功后跳转页面并弹框
controller代码如下 ModelAndView modelAndView = new ModelAndView("/xxx/xxx.jsp");modelAndView.a ...
- jsp页面弹出另一个页面窗口
index.jsp部分代码: <script type="text/javascript">function show(obj){alert("谢谢!&quo ...
- bootstrap-table:操作栏点击编辑按钮弹出模态框修改数据
核心代码: columns: [{checkbox:true //第一列显示复选框 },...{field: 'fail_num',title: '失败数'},{field: 'operate',ti ...
- js弹出窗口关闭当前页面,而不弹出提示框
该功能主要用于业务系统中的登录操作,登录后弹出全屏的业务系统主界面,而不需要工具栏.地址栏.菜单等功能. 之前针对不同浏览器找了无数种方法,包括网上能查到的所有方法,弹出的结果都不理想.结果有的IE6 ...
- java提交成功弹出提示框_java,用户注册,输入信息后,单击提交按钮,弹出一个提示框...
展开全部 后台方62616964757a686964616fe78988e69d8331333365663433法: private HttpServletResponse response = Se ...
- Java web Servlet弹出提示框方法
String msg="hello world";//method 1:JS Script,缺点:无法转发setAttritute方法中的键值对response.getWriter ...
- java页面弹出窗口输出语句_jsp %%程序段里的catch语句里怎么弹出提示框?
这是java代码: package mybean; import *; import java.sql.*; public class A{ String id=""; Strin ...
最新文章
- 关于SQLServer和MySQL动态条数限制
- mysql内存不断被占用,导致每隔一个多月就自动重启,修改数据库配置后,问题解决...
- CentOS下C++开发环境搭建
- RabbitMQ之镜像队列
- HH SaaS电商系统的跨境商品展示、下单、清关、出库全流程设计
- linux安装mongodb(设置非root用户和开机启动)
- java中intvalue_Java Byte类intValue()方法的示例
- Pandas 统计分析基础 笔记4 任务4.4 使用分组聚合进行组内计算
- 调用restful接口_SSM实现RESTFul风格的CURD操作
- [Oracle] Data Pump 详细使用教程(5)- 命令交互模式
- 飞桨PaddleHub实现皮影戏
- 数据挖掘项目:银行信用评分卡建模分析(上篇)
- TFS源代码管理的8大注意事项
- Visual Basic .NET中操作MsAgent
- C/C++编程学习 - 第5周 ③ 圆锥体的体积
- 【SPSS】SPSS之相关系数矩阵(Pearson)
- 苹果手机上网速度慢_是什么原因导致手机网速慢!
- 【Life】 Never Too Late, Just Do it Better!
- 如何开好项目验收会?
- 配置和使用Nexus私有仓库