• Jsp在Javaweb中扮演什么角色?


    1.什么是Jsp

    标题
    JSP(Java Server Pages,Java 服务器页面)是一种动态网页技术,它允许在 HTML 页面中嵌入 Java 代码,并由 Web 服务器在请求页面时动态生成 HTML 页面。JSP 通常用于创建动态 Web 内容,如交互式表单、在线购物、论坛等。

    以下是关于 JSP 的一些重要信息:

    1.1 工作原理

    • JSP 文件实际上是一个包含 HTML 和 Java 代码的文本文件,其中的 Java 代码可以通过特定的标签(<% %>)来嵌入到 HTML 页面中。
    • 在 Web 服务器接收到客户端请求时,服务器会将 JSP 文件翻译为 Java 代码,并编译成 Servlet(Java 服务器端程序)。
    • Servlet 会根据客户端请求生成 HTML 页面,然后将其返回给客户端浏览器。

    1.2 特点

    • 动态性:JSP 允许在 HTML 页面中嵌入 Java 代码,从而实现动态生成 Web 页面的功能。
    • 可重用性:JSP 中的 Java 代码可以使用 Java 类库和框架,因此具有很高的可重用性。
    • 安全性:JSP 中的 Java 代码运行在服务器端,客户端无法直接访问,因此具有较高的安全性。

    1.3 优势

    • 开发效率高:JSP 使得开发人员可以在 HTML 页面中嵌入 Java 代码,从而避免了编写大量的 Servlet 和 Java 代码,提高了开发效率。
    • 易于维护:JSP 中的 HTML 和 Java 代码分离,使得页面和逻辑的维护更加容易。
    • 可扩展性强:JSP 具有很高的可扩展性,可以使用 Java 类库和框架来实现更加复杂的功能。

    JSP 是一种动态网页技术,允许在 HTML 页面中嵌入 Java 代码,从而实现动态生成 Web 页面的功能。
    具有很高的开发效率、易于维护、可扩展性强等优点,被广泛应用于 Web 应用程序的开发中。
    在这里插入图片描述

    浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet!

    JSP最终也会被转换成为一个Java类!

    JSP 本质上就是一个Servlet

    2.1判断请求

    //初始化
      public void _jspInit() {
          
      }
    //销毁
      public void _jspDestroy() {
      }
    //JSPService
      public void _jspService(.HttpServletRequest request,HttpServletResponse response)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.2内置对象

    final javax.servlet.jsp.PageContext pageContext;  //页面上下文
    javax.servlet.http.HttpSession session = null;    //session
    final javax.servlet.ServletContext application;   //applicationContext
    final javax.servlet.ServletConfig config;         //config
    javax.servlet.jsp.JspWriter out = null;           //out
    final java.lang.Object page = this;               //page:当前
    HttpServletRequest request                        //请求
    HttpServletResponse response                      //响应
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2.3输出页面前增加的代码

    response.setContentType("text/html");       //设置响应的页面类型
    pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
    _jspx_page_context = pageContext;
    application = pageContext.getServletContext();
    config = pageContext.getServletConfig();
    session = pageContext.getSession();
    out = pageContext.getOut();
    _jspx_out = out;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    原理

    3.基本语法

    JSP(Java Server Pages)基础语法包括嵌入 Java 代码、使用 JSP 指令、访问请求参数等。以下是 JSP 的基本语法:

    1. 嵌入 Java 代码
      在 JSP 页面中,可以使用 <% %> 标记嵌入 Java 代码,例如:

      <% 
          String name = "World";
          out.println("Hello, " + name);
      %>
      
      • 1
      • 2
      • 3
      • 4
    2. 输出变量值或表达式结果
      使用 ${} 语法输出变量值或表达式的结果,例如:

      The current time is: ${new java.util.Date()}

      • 1
    3. 引入 Java 类和包
      可以使用 <%@ page import="com.example.packageName.*" %> 指令来引入 Java 类和包,使其在当前 JSP 页面中可用。

    4. 定义 JSP 函数
      使用 <%! %> 标记定义 JSP 页面中的函数,例如:

      <%!
      public int add(int a, int b) {
          return a + b;
      }
      %>
      
      • 1
      • 2
      • 3
      • 4
      • 5
    5. 使用 JSP 动作
      JSP 提供了一些特殊的标签,称为 JSP 动作,用于实现特定的功能,比如包含其他页面、转发请求等。例如,使用 动作可以包含其他 JSP 页面:

      
      
      • 1
    6. 访问请求参数
      可以通过内置对象 request 来访问客户端发送的请求参数,例如:

      <%
      String username = request.getParameter("username");
      %>
      
      • 1
      • 2
      • 3
    7. 输出结果
      可以使用内置对象 out 输出内容到响应页面上,例如:

      <%
      out.println("Hello, World!");
      %>
      
      • 1
      • 2
      • 3

    此外,JSP 还支持标准的 HTML 元素、CSS 样式和 JavaScript 脚本,因此可以完全像编写普通的 HTML 页面一样编写 JSP 页面。

    通过掌握这些基本的 JSP 语法,你就可以开始编写动态的、交互式的 Web 页面,并与后台的 Java 代码进行交互,实现更复杂的功能。

  • 相关阅读:
    干货 | 读懂 Appium 日志,让测试效率翻倍!
    数据可视化之交通可视化
    FPGA 20个例程篇:15.VGA显示八种颜色的彩条
    【视觉预训练】《BEIT: BERT Pre-Training of Image Transformers》 ICLR 2022
    Mysql面试题(100+)
    galeracluster高可用集群异常恢复
    传统算法与神经网络算法,神经网络是谁提出的
    葡聚糖修饰的Hrps共价三聚肽(三种Hrps多肽和葡聚糖通过共价修饰形成共价三聚肽,其结构通式为:(3Hrps)(CHO))
    Azides-PEG-PLGA 叠氮-聚乙二醇-聚乳酸-羟基乙酸共聚物 的参数信息
    Hadoop MapReduce 2.x 工作原理
  • 原文地址:https://blog.csdn.net/qq_73918355/article/details/136721605