servlet和jsp的原理和应用介绍

本文介绍了Servlet的三大职责,包括接收请求、处理业务和响应请求。讲解了为何需要共享信息和页面跳转,对比了请求转发与重定向的特点和适用场景。接着概述了JSP作为动态网页技术的工作原理,并探讨了JSP的三大指令。最后,阐述了JSP的九大内置对象和四大作用域对象,以及它们的使用方法。
摘要由CSDN通过智能技术生成

servlet和jsp的原理和应用介绍

一. Servlet的三大职责

  1. 接受请求参数(封装);
  2. 调用业务方法处理业务(调用业务service层);
  3. 响应请求(跳转页面或其他Servlet

二. 为什么需要共享信息与页面跳转

  1. servlet:主要是做动态页面 特点java为主+html为辅;
  2. jsp:主要是做动态页面。html为主 + java为辅(jsp本质上就一个特殊的servlet)

三. 跳转方式

  1. 请求转发

    //请求转发的代码:
    req.getRequestDispatcher("路径").forward(request, response);
    
    1. 1 特点:地址栏不发生改变、一次请求、可以访问WEB/INF的资源、共享数据、不可以跨域访问(比如访问百度)
  2. 重新定位方向

    //重定向跳转的方式:
    resp.sendRedirect("路径");//直接跳转
    

    2.1 特点:地址栏发生改变、多次请求(两次请求)、不可以访问WEB/INF的资源、不共享数据、可以跨域访问(比如访问百度)

  3. 何时使用请求转发和重定向

    • 如果在一次请求中,要共享数据,就使用请求转发;

    • 如果要访问WEB- INF下面的资源,请使用请求转发;

    • 如果要跨域访问用重定向;

    • 新增/修改/删除之后,都要重定向。

      请求转发(forward)重定向(redirect)
      访问 WEB-INF×
      传参数×
      访问外网×
      重复提交的问题
      路径变化
      代码req.getRequestDispatcher(path).forward(req, resp);resp.sendRedirect(path)

四. jsp简介

  1. JSP(java server page)java服务器端(动态)网页,JSP就是Java中用来做动态网页的技术;
  2. JSP底层就是一个Servlet,在执行的时候先转成Servlet然后同样要经历Servlet的生命周期;

五. jsp三大指令

  1. page:页面指令

    1.1 <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" ... >

    • language=“java”:语言只有java
    • contentType="text/html; charset=UTF-8":输出的页面类型,相当于在Servlet里面写:resp.setContentType("text/html;charset=utf-8")
    • pageEncoding="UTF-8"
    • errorPage:如果当前页面出错了,我就跳转到errorPage对应的页面中
  2. include:包含指令

    <%@ include file="/include/a.jsp"%>
    
  3. taglib:标签指令

  4. 指令的语法格式<%@ 指令名 属性1=“属性值1” 属性2=“属性值2” …%>

六: jsp九大内置对象

内置对象
applicationServletContext全局对象
sessionHttpSession会话对象
requestHttpServletRequest请求对象
pageContextPageContext当前页对象
responseHttpServletResponse响应对象
outJspWriter输出对象
pagethis当前对象
configServletConfig配置对象
exception异常对象

七. 四大作用域对象

对象(叫法)范围
PageContextpageContext当前页面(作用不大) 当前页,直接使用就是,根本不需要在放到对象里面
HttpServletRequestrequest一次请求(必需请求转发)
HttpSessionsession(多个对象)一次会话
ServletContextapplication整个应用(有且只有一个对象)
  1. pageContext:每次访问的时候创建,可以有多个;
  2. request:每次请求的时候创建,可以有多个;
  3. session:每次会话的时候创建,不同人打开不同的浏览器,就创建多个,可以有个多个;
  4. application:整个应用有且只有一个对象,tomcat启动的创建,关闭的时候销毁;

八. 作用域对象的使用 添加、修改、查询、删除

image-20220727114535164

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值