您的位置:首页 > Web前端 > JavaScript

6.1 JSP内置对象总结

2016-06-22 19:25 405 查看
总结:思考数据怎样存储与运算

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就结束了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: