Web学习笔记3-【JSP介绍、HTML 中嵌入 Java 程序的三种方式举例】

一、JSP介绍

  1. JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户。JSP = HTML+JS+CSS+Java 的混合⽂件。

    HTML+JS+CSS搭建网页基本元素,java填充数据

  2. 当服务器接收到⼀个后缀是 jsp 的请求时,将该请求交给 JSP 引擎去处理,每⼀个 JSP ⻚⾯第⼀次被访问的时候,JSP 引擎会将它翻译成⼀个 Servlet ⽂件,再由 Web 容器调用 Servlet 完成响应。

  3. 单纯从开发的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程序。

  4. java程序与客户端交互,只能通过Servlet

  5. 将html代码写到JSP文件里面,JSP文件再自动转成Servlet,Servlet再通过writer方法,将一条条信息输出,其中在Tomcat的文件夹下,有一个work文件夹,就是存放JSP转Servlet。

二、为什么不直接写html文件?

如下,直接编写一个test_02.html文件,可以在浏览器被访问
在这里插入图片描述

那为什么不直接编写html文件,要大费周章的写JSP呢?
因为在html文件下是无法写入java程序的,而在JSP中就可以写入。

三、HTML 中嵌入 Java 程序的三种方式

1. JSP 脚本,执行 Java 逻辑代码

<% 
Java代码 
%>

举例:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这里,在test.jsp中的
String str =“爱吃凉拌辣芒果”;
System.out.println(str);
在转化成Servlet之后,在控制台输出

2. JSP 声明:定义 Java ⽅法

<%!
 声明 Java ⽅法
%>

举例:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. JSP 表达式:把 Java 对象直接输出到 HTML 页面中

<%= Java变量 %>

举例:
结合以上两步
在这里插入图片描述

在这里插入图片描述

4. 综合举例

html在线编辑网站

(1)输出一个表格信息

<%
        ArrayList<String> name = new ArrayList<>();
        name.add("大志");
        name.add("芒果");
        name.add("妹子");
    %>
    <%
        ArrayList<Integer> age = new ArrayList<>();
        age.add(18);
        age.add(19);
        age.add(16);
    %>

    <table border="1">
        <tr>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
        <tr>
            <td>
                <%=name.get(0)%>
            </td>
            <td>
                <%=age.get(0)%>
            </td>
        </tr>
        <tr>
            <td>
                <%=name.get(1)%>
            </td>
            <td>
                <%=age.get(1)%>
            </td>
        </tr>
        <tr>
            <td>
                <%=name.get(2)%>
            </td>
            <td>
                <%=age.get(2)%>
            </td>
        </tr>
</table>

(2)优化后

<%
        ArrayList<String> name = new ArrayList<>();
        name.add("大志");
        name.add("芒果");
        name.add("妹子");
    %>
    <%
        ArrayList<Integer> age = new ArrayList<>();
        age.add(18);
        age.add(19);
        age.add(16);
    %>

    <table border="1">
        <tr>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
        <%
            for (int i = 0; i < name.size(); i++) {
        %>
        <tr>
            <td>
                <%=name.get(i)%>
            </td>
            <td>
                <%=age.get(i)%>
            </td>
        </tr>
        <%
            }
        %>

    </table>

(3)再次优化后

【代码3】

  <%
        ArrayList<User> users = new ArrayList<>();
        users.add(new User("大志",18));
        users.add(new User("芒果",20));
        users.add(new User("梅子",16));
    %>

    <table border="1">
        <tr>
            <th>姓名</th>
            <th>年龄</th>
        </tr>
        <%
            for (int i = 0; i < users.size(); i++) {
        %>
        <tr>
            <td>
                <%=users.get(i).getName()%>
            </td>
            <td>
                <%=users.get(i).getAge()%>
            </td>
        </tr>
        <%
            }
        %>

    </table>

笔记部分来自韩顺平老师

  • 11
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃凉拌辣芒果

不断学习,不断进步,共勉~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值