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 全局会话

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

<!--记录访问过网页的人数-->
  <%
    //取出上一次的访问记录量
    Integer count=(Integer) application.getAttribute("count");
    //如果是第一个进入,count是不存在的,所以Integer默认值为null;
    //int的默认值为0
   //记录加+1
    if(count==null){
      count=1;
    }else {
      count++;
    }
    //将更新完的访问记录,重新访问application
    application.setAttribute("count",count);
  %>
 <!--打印访问次数看效果-->
  <h1>当前网站的访问次数为:<%=application.getAttribute("count")%></h1>

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地址栏不会发生改变


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值