6.1 JSP内置对象总结
2016-06-22 19:25
405 查看
总结:思考数据怎样存储与运算
1、页面间跳转有四种方式:
2、request与session区别:
生命周期:request的生命周期只在数据提交,提交以后即释放,session则是浏览器关闭才释放
一般一些用户信息类的内容都会存在session里,比如购物车内信息,或者用户登录的各种身份验证信息,这样不会因为跳转页面而丢失这些信息
3、例题赏析(P142题2)
编写简易的留言簿,实现自动留言和显示留言内容等
析:在第3章也有类似的(书本P77,TM\sl\3\12),当时用的是DOM技术。
本次直接将留言人和留言内容保存到字符串中,需要用时直接导入字符串即可。
效果图:
代码:
1、页面间跳转有四种方式:
一是超链接:例 <a href="deal.jsp?id=1&user=">处理页</a> 二是jsp:forward动作:例 <jsp:forward page="deal.jsp"/> 三是通过表单form:例 <form action="deal.jsp" method="post"> 请输入姓名:<input name="user" type="text" value=""> <input type="submit" value="确定"> </form> 注意,从index.jsp到deal.jsp通过form,但是浏览器显示页面可能仍是index.jsp,所以在deal.jsp中一般会加上下面代码来指明当前deal.jsp真正显示的页面。 <head> <script type="text/javascript">window.location.href="index.jsp"</script> </head> 谁的写法: out.print("<script language='javascript'>alert('登录成功!');window.location.href='index.jsp';</script>"); 四是直接重定向:例 <body> <% response.sendRedirect("login.jsp"); %> </body>
2、request与session区别:
生命周期:request的生命周期只在数据提交,提交以后即释放,session则是浏览器关闭才释放
一般一些用户信息类的内容都会存在session里,比如购物车内信息,或者用户登录的各种身份验证信息,这样不会因为跳转页面而丢失这些信息
3、例题赏析(P142题2)
编写简易的留言簿,实现自动留言和显示留言内容等
析:在第3章也有类似的(书本P77,TM\sl\3\12),当时用的是DOM技术。
本次直接将留言人和留言内容保存到字符串中,需要用时直接导入字符串即可。
效果图:
代码:
####################index1.jsp <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>签写留言信息</title> <script language="javascript"> </script> </head> <body> <% if(session.getAttribute("message")!=null){ out.println(session.getAttribute("message").toString()); } %> <br><hr></hr> <form name="form1" method="post" action="deal1.jsp" > 留言人: <input name="author" type="text" id="author" size="30" title="留言人"><br> 留言内容: <textarea name="content" cols="70" rows="10" title="留言内容" id="content"></textarea><br> <input name="Submit" type="submit" value="签写留言"> <input name="Submit2" type="reset" value="重置"> </form> </body> </html> ####################deal1.jsp <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <% request.setCharacterEncoding("GB18030"); String author=request.getParameter("author"); //获取留言人 String content=request.getParameter("content"); //获取留言内容 if(author.equals("")||content.equals("")) out.println("<script language='javascript'>alert('留言人或留言内容不能为空!');window.location.href='index1.jsp';</script>"); else { String message="["+author+"]说:"+content+"<br>"; //组合留言信息 if(session.getAttribute("message")!=null){ message+=session.getAttribute("message").toString(); } session.setAttribute("message",message); //将留言信息保存到session中,此处的message是指所有的留言而非最新一条 response.sendRedirect("index.jsp"); } %> 说明:如果留言人或留言内容为空,会在index1.jsp页面弹出“留言人或留言内容不能为空!”; 当浏览器整个关闭后,session就结束了
相关文章推荐
- 按照网上方法js删除指定cookie,却怎么也删除不了,解决如下
- Js字符串与十六进制的相互转换 【转】
- JSON.parse和eval的区别
- js 和 native 如何交换数据
- js随着页面滑动的图片
- 精通D3.js学习笔记(2)比例尺和坐标
- JavaScript为unicode编码转换为中文
- js的两种查询方式 LHS and RHS
- javascript闭包
- Json转model对象,model转json,解析json字符串
- Json转model对象,model转json,解析json字符串
- 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异
- javascript函数的throttle和debounce
- a标签使用href=”javascript:void(0); 在火狐浏览器跟chrome 不兼容
- JavaScript中的垃圾收集机制
- js目标时间与当前时间差转换年月日天数
- JS(高程)最佳实践
- JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP
- c#序列化反序列化工具(json,binary,xml)
- jsp include