SpringBoot03 JSP基本原理与使用

本文介绍了JSP的基本原理,指出它本质上是一个Servlet,主要负责用户交互,并在首次访问时由JSP引擎翻译成Servlet由Web容器执行。内容强调了JSP在HTML中嵌入Java程序的特点,并通过一个案例展示了JSP的使用,包括不同类型的Java表达式,但遇到了一个关于for循环和函数返回顺序的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.介绍

JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户,
HTML+JS+CSS+Java 的混合⽂件。
当服务器接收到⼀个后缀是 jsp 的请求时,将该请求交给 JSP 引擎去处理,每⼀个 JSP ⻚⾯第⼀次被访
问的时候,JSP 引擎会将它翻译成⼀个 Servlet ⽂件,再由 Web 容器调⽤ Servlet 完成响应。
单纯从开发的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程序。

2. 案例

下面是一个基本的演示,需要User类,包含以下几种方法的说明。
<%%>
<%=%>
<%!%>
<% for %>

<%--
  Created by IntelliJ IDEA.
  User: w1738
  Date: 2020/5/17
  Time: 17:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@page import="com.entity.User" %>
<%@ page import="java.util.*" %>

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>

  <%response.getWriter().write("<h1>直接插入java语句</h1>"); %>
  <%String str = "LoginError";%>
  <%
    response.getWriter().write("I wanna to show the str:"+str);
  %>


<%response.getWriter().write("<h1>创建函数与调用函数,直接输出数据</h1>");%>
  <%!
    String createStr(){
      return "这是一条函数返回的String";
    }
  %>

  <% String str1 = createStr();%>
  <%=str1%>
  <%=createStr()%>


  <table>

    <tr>
      <th>ID</th>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
  <%
    response.getWriter().write("<h1>使用for循环</h1>");
    List<User> list = new ArrayList<>();
    list.add(new User("Id001","张三","11"));
    list.add(new User("Id002","李四","22"));
    list.add(new User("Id003","王五","13"));
    list.add(new User("Id004","赵六","14"));

    for(int i=0;i<list.size();i++){
  %>

  <tr>
    <td>
      <%=list.get(i).getAccount()%>
    </td>
    <td>
      <%=list.get(i).getNickName()%>
    </td>
    <td>
      <%=list.get(i).getPassWord()%>
    </td>
  </tr>

<%}%>

  </table>
  </body>
</html>


上面的运行中有一个很大的问题就是 "使用for循环"和“这是一条函数返回的String”两条语句的顺序出现了问题,暂未找到原因。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值