1 请求转发与重定向的区别

2 session与cookie的区别

3 过滤器与监听器的区别

4 web-inf目录

web-inf目录是安全目录,无法从客户端访问,只能通过(服务端的)servlet的请求转发访问

5 servlet生命周期

6 ServletContext对象

JSP简介



jsp是一种模板引擎(渲染前端布局)

JSP指令

JSP内置对象(9种)

请求与响应

httpservletrequest请求

接收客户端发送的请求报文

httpservletresponse响应

响应客户端的请求(给客户端返回数据)

页面跳转方式:请求转发与重定向

请求转发

req.getRequestDispatcher("page/demo.jsp").forward(req,res);

重定向

res.sendRedirect("http://baidu.com");

res.senRedirect("user?method=queryAll");

请求转发与重定向区别

注意:

1)请求转发之后不能创建响应类的输出流

2)请求转发之后不能重定向

printWriter out = res.getWriter();
out.write("1233");

1)转发使用的是req.getRequestDispatcher()方法;重定向使用的是res.sendRedirect();

2)转发:浏览器URL的地址栏不变;重定向:浏览器URL的地址栏改变;

3)转发是服务器行为,重定向是客户端行为;

4)转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;

Session会话

session可以理解为缓存

以下代码在anotherServlet中跳转demo02.jsp中也可以获取到,但浏览器关闭缓存被释放

可以设置session失效时间(s)

一旦客户端与服务端断开连接,session就会失效

//MyServlet.java内
public class MyServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
//获取session会话对象(getSession()会在请求范围内查找是否存在session对象,如果存在则返回该对象,否则创建一个新的session对象)
HttpSession session = req.getSession(); //设置session十秒后失效
session.setMaxInactiveInterval(10);
//添加属性到session中
session.setAttribute("name", "111");
//请求转发
req.getRequestDispatcher("page/demo.jsp").forward(req, res);
}
}
<!-- demo.jsp内 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
hello session<!-- 打印到浏览器页面显示 -->
<%
System.out.println("hello session");/* 打印到控制台 */
%> <%=session.getAttribute("name") %><!-- 输出到前端页面 -->
</body>
</html>

session与cookie的区别

Cookie

在doGet方法内创建&获取cookie

先创建,再获取,中间cookie一直保存在浏览器中(除非setMaxAge时间到了)

/**创建cookie
//创建一个cookie对象
Cookie cookie = new Cookie("k1", "张三abc");
//设置过期时间单位(s)
cookie.setMaxAge(30);
res.setCharacterEncoding("GBK");
PrintWriter out = res.getWriter();
out.write("开始写入cookie"); //添加cookie到响应对象
res.addCookie(cookie);
out.write("结束写入cookie");
if(out != null){
out.close();
}
*/ /**获取cookie Cookie[] cookies = req.getCookies(); for (Cookie c : cookies) {
System.out.println(c.getName()+"**" + c.getValue());
}
*/

ServletContext接口

MyServlet内

//获取servletConfig对象(因为是tomcat创建的)
ServletConfig sc = getServletConfig(); //获取ServletContext对象,全局唯一
ServletContext sct = getServletContext(); //添加参数 sct.setAttribute("name01", "111");
sct.setAttribute("name02", "222"); PrintWriter out = res.getWriter();
out.write("success");
out.flush();
if (out != null) {
out.close();
}

NewServlet内验证在MyServlet内创建的ServletContext存在全局

public class NewServlet extends HttpServlet{

	@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取servletConfig对象(因为是tomcat创建的)
// ServletConfig sc = getServletConfig();
//获取ServletContext对象,全局唯一
ServletContext sct = getServletContext();
System.out.println(sct.getAttribute("name01")+"***"+sct.getAttribute("name02")); //可以改变属性的值,ThirdServlet再去get的时候就会name01就会获得这个覆盖的值
//sct.setAttribute("name01","333");
} }

day32 6 请求转发与重定向的区别、session会话对象 & cookie & 8 应用程序上下文对象ServletContext & 5 请求转发与jsp页面内置对象的更多相关文章

  1. 关于jsp的内置对象request和response的重定向和转化(待补充)

    请求重定向 1.客户端行为 2.response.sengRedirect(): 3.本质上讲,相当于请求两次 4.URL地址会改变 请求转发 1.服务器行为 2.response.getReques ...

  2. 转:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别

    原文地址:jsp内置对象中page与pageContext与el内置对象pageScope与pageContext区别 首先说明一下jsp9大内置对象 (1)HttpSession类的session对 ...

  3. Java 请求转发和重定向的区别以及JavaWeb三大作用域

    三大作用域以及转发和重定向 学习总结 1. 转发和重定向 转发 重定向 转发和重定向的区别: 什么时候用转发什么时候用重定向 三大作用域 作用域类型 作用域方法 如何选择作用域 总结 学习总结 1. ...

  4. Servlet中转发和重定向的区别

    Servlet中页面的跳转有两种方式:转发和重定向. 1.转发和重定向的区别 ①转发是服务器行为,重定向是客户端行为. ②转发是浏览器发生了一次请求,重定向至少是两次请求. ③转发地址栏中的url不会 ...

  5. servlet之转发与重定向的区别

    转发(服务器端跳转):  一次请求 <jsp:forward> request.getRequestDispatcher("new.jsp").forward(requ ...

  6. jsp内置对象 转发与重定向的区别

    jsp 内置对象  转发与重定向的比较 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程. 与之相反,重 ...

  7. Java中转发与重定向的区别

        转发与重定向的区别 转发是服务器行为,重定向是客户端行为 1.转发在服务器端完成的:重定向是在客户端完成的2.转发的速度快:重定向速度慢3.转发的是同一次请求:重定向是两次不同请求4.转发不会 ...

  8. SERVLET API中转发与重定向的区别?

    SERVLET API中转发与重定向的区别? 1.转发(forward方法) 转发仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址. 转发是服务器请求资源,服务器直接访问目标地址的 ...

  9. JavaWeb——JSP内置对象request,response,重定向与转发 学习总结

    什么是JSP内置对象 九大内置对象 requestJSP内置对象 request对象常用方法 request练习 responseJSP内置对象 response练习 response与request ...

  10. 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

    jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端 ...

随机推荐

  1. Openstack Neutron : 安全

    目录 - iptable:起源 - tables - chains - rules - 方向 - Security group 安全组: - Firewall 防火墙: - 更高的安全 - 无处安放的 ...

  2. Java SE 2、抽象类

    抽象类 用abstract关键字来修饰一个类时,这个类就是抽象类 ​ 访问修饰符 abstract 类名 { ​ } 用abstract关键字来修饰一个方法时,这个方法就是抽象方法 ​ 访问修饰符 a ...

  3. 在k8s集群中安装traefik,并结合kuboard界面使用

    安装traefik 参考步骤:https://blog.51cto.com/u_13760351/2764008?xiangguantuijian&01 修改好的四个yaml文件下载地址:ht ...

  4. Kafka QuickStart

    环境版本 操作系统:CentOS release 6.6 (Final) java版本: jdk1.8 kafka 版本: kafka_2.11-1.1.1.tgz 安装kafka 1. 下载压缩包, ...

  5. linux搭建内网邮件服务器

    一.配置发件服务器 1.1 根据现场IP,配置主机名 vi /etc/hosts 192.168.40.133 mail.test.com 将主机名更改为邮件服务器域名mail.test.com 1. ...

  6. C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压

    zip 是一个非常常见的压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作, 我们采用的是 微软官方的实现,所以也不需要安装第三方的组件包. 使用的时候记得 usi ...

  7. QML 信号与响应方法的总结

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16748191.html 如果面试过程中,面试官想了解你对 ...

  8. 洛谷P2367 语文成绩(差分)

    标准的差分应用题,不要想的太复杂,写成了线段树. 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=5e6+10 ...

  9. 魔改xxl-job,彻底告别手动配置任务!

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. xxl-job是一款非常优秀的任务调度中间件,轻量级.使用简单.支持分布式等优点,让它广泛应用在我们的项目中,解 ...

  10. 前端框架Vue------>第一天学习(3)

    文章目录 8 .使用Axios实现异步通信 9 .表单输入绑定 9.1 . 什么是双向数据绑定 9.2 .为什么要实现数据的双向绑定 9.3 .在表单中使用双向数据绑定 8 .使用Axios实现异步通 ...