• javaweb-JSP


    JSP

    什么是JSP

    Java Server Pages:Java服务器端页面,也和Servlet一样,用于动态Web技术!

    最大的特点:

    • 写jsp就像再在写HTML

    区别:

    • html只给用户提供静态的数据
    • jsp页面中可以嵌入Java代码,为用户提供动态数据

    jsp原理

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

    jsp最终也会被转换成为一个java类

    jsp本质上就是一个Servlet类

    在jsp页面中

    只要是Java代码就会原封不动的输出

    如果是html代码,就会被转换为:

    这样的格式,输出到前端

    out.write("\r\n");

    jsp基础语法

    任何语言都有自己的语法,Java中有,jsp作为Java技术的一种应用,它拥有一些自己扩充的语法(了解即可),Java所有语法都支持

    jsp表达式

    <%--jsp表达式
    作用:用来将程序输出,输出到客户端
    <%= 变量或者表达式%>
    --%>
    <%= new java.util.Date()%>

    jsp脚本片段

    <%--jsp脚本片段--%>
    <%
      int sum = 0;
      for (int i = 1; i <= 100 ; i++) {
        sum+=i;
      }
      out.println("

    sum="+sum+"

    "); %>

    脚本片段的再实现

     <%
        int x = 10;
        out.println(x);
      %>
      

    这是一个jsp文档

    <% int y = 2; out.println(y); %>
    <%--在代码中嵌入html元素--%> <% for (int i = 0; i < 5 ; i++) { %>

    hello,world <%=i%>

    <% } %>

    jsp声明

    <%!
        static{
          System.out.println("Loading Servlet!");
        }
        private int globaVar = 0;
        public void he(){
          System.out.println("进入了方法he!");
        }
      %>

    jsp声明:会被编译到jsp生成Java的类中,其他的,就会被生成到_javaService中!

    在jsp中,嵌入java代码即可

    <%%>
    <%=%>
    <%!%>
    <%jsp注释%>
    

    jsp注释,不会在客户端显示,html会

    jsp指令

    <%@page args...%>
    <%@include file=""%>
    
    <%--@include会将两个页面合二为一--%>
    <%@include file="common/header.jsp"%>
    

    网页主题

    <%@include file="common/footer.jsp"%>
    <%--jsp标签 jsp:include:拼接页面,本质还是3个 --%>

    网页主题

    九大内置对象

    • PageConetext
    • Request
    • Response
    • Session
    • Application
    • config
    • out
    • page 不用了解
    • exception
     pageContext.setAttribute("name1","饼干1号");//保存的数据只在一个页面中有效
        request.setAttribute("name2","饼干2号");//保存的数据只在一次请求中有效,请求转发会携带这个数据
        session.setAttribute("name3","饼干3号");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
        application.setAttribute("name4","饼干4号");//保存的数据只在服务器中有效,从打开服务器到关闭浏览器

    request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的

    session:客户端向服务器发送请求,产生的数据,用户看完一会还有用,比如:购物车

    application:客户端向服务器发送请求,产生的数据,一个客户用完了,其他的客户还可能使用,比如:聊天数据

    jsp标签,jstl标签,EL表达式

    
        
            javax.servlet.jsp
            javax.servlet.jsp-api
            2.3.3
        
        
        
            javax.servlet.jsp.jstl
            jstl-api
            1.2
        

    EL表达式:${ }

    • 获取数据
    • 执行运算
    • 获取web开发的常用对象
    <%--jsp:include--%>
    <%-- http://loaclhost:8080/jsptag.jsp?name=binggan&age = 5
    --%>
    
        
        
    

    JSTL标签库的使用就是为了弥补HTML标签的不足,它自定义许多标签,可以供我们使用,标签的功能和Java代码一样

    核心标签

    格式化标签

    SQL标签

    XML标签

    JSTL标签库使用步骤

    • 引入对应的taglib
    • 使用其中的方法
    • 在Tomcat也需要引入JSTL的包,否则会报错:JSTL解析错误

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
    <%--定义一个变量score,值为85--%>
    
    
        
            你的成绩为优秀
        
        
            你的成绩为一般
        
        
            你的成绩为及格
        
        
            你的成绩为不及格
        
    
    
    
    
    判断如果提交的用户名是管理员,则登陆成功
    <%
        if(request.getParameter("username").equals("admin")){
            out.print("登录成功");
        }
    %>

     

  • 相关阅读:
    90. 子集 II
    开源的BLE_SPP OTA协议
    Opencv学习项目3——pytesseract
    上海数字经济 “十四五” | 原生信仰者听见的历史潮流轰鸣声
    问题复盘|在使用 Gson 时,报 Failed to parse date [““] 错误
    vue面试如何准备,这几道面试题助力你拿到理想offer
    ES6 - promise 与 async / await【Promise 封装丐版 Ajax】
    UE4 材质学习 (02-利用UV来调整纹理)
    Docker 安装
    CompletionService 和 CompletableFuture
  • 原文地址:https://blog.csdn.net/qq_61430041/article/details/125862607