jsp内置对象

jsp内置对象

对象:就是一个类的实例。
jsp内置对象:就是web容器给jsp提前实例化好了的对象,不需要人为创建,直接可以使用。

jsp常用的内置对象有:

out输入流

//登录失败,提示失败!
//jsp也是动态网页,所以输出网页上的标签也会被解析
out.print("<script>alert('登录失败!');location.href='login.jsp';</script>");

request请求对象

(1)内置方法有
①getParameter(“参数名”) 可以取到请求参数值
②setCharacterEncoding(“utf-8”) 可以设置请求中的中文参数乱码的问题

//使用request对象可以获取请求中的数据
//获取用户名
String uname=request.getParameter("username");

response响应

①sendRedirect(“页面”) 重定向到新的页面

 //登录成功,response响应跳转到新的页面
 //sendRedirect("home.jsp")重定向不能将数据发送到下一个页面上去
 response.sendRedirect("home.jsp");

session 一级缓存

作用域:当前用户整个项目的一次会话
①setAttribute(“key”,“value”) 可以键值对存值
②getAttribute() 根据key取值 返回值为Object
③setMaxInactiveInterval(秒) 可以设置session的非活动时间
④invalidate() 销毁session(清空session对象数据)

  //登录成功之后,直接将用户名存进session对象(session的作用域是整个项目)
  session.setAttribute("user",uname);
  session.setMaxInactiveInterval(60*10);//非活动时间设置
 //因为数据 已经存在session中了,所以直接重定向页面就可以了
  response.sendRedirect("home.jsp");
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注销</title>
</head>
<body>
<%
    //清空session中的用户数据
    session.invalidate();
    //回到登录页面
    response.sendRedirect("login.jsp");
%>
</body>
</html>

Application 全局会话

①所有用户共用的会话
②生命周期为:项目启动开始到项目结束

<%
    //cookie是键值对存取值
    //在服务器上声明cookie
 Cookie c=new Cookie("username","aaaa");
 response.addCookie(c);
    //将Cookie响应到客户端上
%>

include指令

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
//include file 可以调用其它页面
<%@include file="ExamLogin.jsp"%>
<html>
<head>
    <title></title>
</head>
<body></body>
<html>

JSP中常用的跳转页面方式有:

1、out.print(“使用脚本跳转”);

2、重定向跳转

response.sendRedirect(“页面”);
(1)不能将request和response的数据传递到下一个页面
(2)网页url地址栏会发生改变

3、转发

getRequestDispatcher(“home.jsp”).forward(request,response)
(1)可以将request和response的数据传递到下一个页面
(2)网页url地址栏不会发生改变


提问:重定向和转发的区别?

上一篇:40+ JavaScript操作符,你都知道吗?


下一篇:信息与通信的数学基础第二次讨论课