JSP学习(一) --------- JSP规范及命令书写规则


一、JSP 规范

1.概述

  • 来自于JAVAEE 规范的一种
  • JSP 规范制定了如何开发 JSP 文件代替响应对象将处理结果写入到响应体的开发流程
  • JSP规范制定了 Http 服务器应该如何调用管理JSP文件

2.响应对象存在弊端

  • 适合将数据量较少的处理结果写入到响应体
  • 如果处理结果数量过多,使用响应对象增加开发难度

3.JSP文件优势

  • JSP 文件在互联网通信过程中是响应对象的替代品
  • 降低将处理结果写入到响应体的开发工作量降低处理结果维护难度
  • 在JSP 文件开发时,可以直接将处理结果写入到JSP 文件不需要手写out.print命令,在Http 服务器调用 JSP 文件时,根据JSP 规范要求自动将JSP文件书写的所有内容通过输出流写入到响应体

4.HTML文件与JSP文件区别

  • 作为资源文件的类型不同
    (1) HTML文件属于静态资源文件,其相关命令需要在浏览器编译并执行的
    (2) JSP文件属于动态资源文件,其相关命令需要在服务端编译并执行

  • 调用形式不同
    (1) 如果浏览器访问HTML文件,此时Http服务器直接通过一个输出流将HTML文件中所有内容写入到响应体
    (2) 如果访问JSP文件,此时Http服务器根据JSP规范来操作JSP文件编译调用

5.两者之间的联系

混入了Java代码的网页,就是JSP。在JSP中,HTML和 JavaScript源代码客户端均可见,而Java内嵌代码客户端不可见

二、JSP命令书写规则

新建一个 Java Web 项目,我们发现在其web目录下,存在一个index.jsp文件。打开此文件,内容如下。
在这里插入图片描述
其中,在文件中有效代码的第一行即 <%@ page contentType="text/html;charset=UTF-8" language="java" %>作用是设置网页类型为 text/html ,设置网页编码方式为 UTF - 8,编程语言为 Java。其下方的为HTML代码,会直接写入到网页当中。

在HTML代码中的内容为 $ END $,我们之前在介绍欢迎资源文件中说过,其默认欢迎资源文件为index.html, index.htm,index.jsp,优先级从高到低

<welcome-file-list>
     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>
     <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

这就是我们在打开新建网站时通常情况下会出现 一行 $ END $的原因,我们在网站中没有写index.html 与 index.htm 文件,其默认欢迎资源文件只能为 index.jsp

基本语法

  1. JSP程序段

作用 : 插入Java代码
格式 :

<% Java代码 %>
  • 标签 <% %> 中放置 Java 代码,HTML代码放在此标签之外
  • 在JSP程序段中不能定义函数
  • 凡是没有写入<% %>的代码,都被解释为HTML
  • JSP中程序段可以用很多段,但系统会认为是一大段,所以程序段中的大括号可以跨多个程序段,即无论在哪个<% % >中的Java代码,都会被解释成一个整体。
  1. JSP表达式

作用 : 将其里面内容所运算的结果输出到客户端
格式 :

<%= 变量/ 返回值/ 表达式 %>
  • JSP 表达式中不能用分号" ; "结束
  • 在 JSP 表达式中不能出现多条语句
  • JSP表达式的内容一定是字符串类型,或者能通过 toString()函数转换成字符串的形式
  1. JSP指令

作用 :JSP 指令告诉 JSP 引擎对 JSP 页面如何编译,不包含控制逻辑,不会产生任何可见的输出。
格式 :

<%@ 指令类别 属性1="属性值1" ··· 属性n="属性值n" %>

例如<% @ page contentType="text/html;charset=UTF-8" language="java" %>

  • JSP 包含三个指令:page、include 和 taglib。其中,使用最多的是 page 指令和 include 指令。
  • 通常情况下,JSP程序都是以page指令开头的。page指令用来设定页面的属性和相关功能,可以导入需要的类、指明JSP输出内容的类型、指定处理异常的错误页面等操作。
  1. JSP声明

格式 :

<%! 代码 %>
  • JSP声明中,可以定义网页中的全局变量,这些变量在JSP中的任何页面都能用
  • JSP声明中定义的变量是网页级别的,系统会优先执行,所以可以在JSP的任何地方定义变量。
  • JSP声明中只能作定义,不能实现逻辑控制

实例

新建学生类,在JSP文件中创建学生对象,并学生信息以表格的形式在网页中输出出来

学生类:

package Entity;

public class Student {
    String name;
    int age;

    public Student() {

    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

test.jsp文件

<%@ page import="Entity.Student" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: 繁花fancy
  Date: 2021/11/10
  Time: 22:13
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%
    Student stu1 = new Student("Mike", 18);
    Student stu2 = new Student("Heke", 20);
    Student stu3 = new Student("Shell", 19);
    List<Student> list = new ArrayList<>();
    list.add(stu1);
    list.add(stu2);
    list.add(stu3);
%>
<%
    for (Student stu : list) {

%>
<table align="center" border="4">
    <tr>
        <td>姓名</td>
        <td>年龄</td>
    </tr>
    <tr>
        <td><%=stu.getName()%></td>
        <td><%=stu.getAge()%></td>
    </tr>
</table>
<% } %>

效果如图
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,让我来为您解答。 首先,我们需要创建一个 JSP 页面来实现超简单网页计算器的功能。在 JSP 页面中,我们需要使用表单来收集用户的输入,并将其传递给后端的 JavaBean 进行计算。计算完成后,JavaBean 将结果返回给 JSP 页面进行展示。 以下是实现超简单网页计算器的详细步骤: 1. 创建一个 JSP 页面,命名为 calculator.jsp,并在页面中添加一个表单,包含两个文本框和一个下拉列表框,用于选择要进行的计算操作。代码如下: ``` <html> <head> <title>超简单网页计算器</title> </head> <body> <h1>超简单网页计算器</h1> <form action="CalculatorBean.jsp" method="post"> <input type="text" name="num1" size="5"> <select name="operator"> <option value="add">+</option> <option value="subtract">-</option> <option value="multiply">*</option> <option value="divide">/</option> </select> <input type="text" name="num2" size="5"> <input type="submit" value="计算"> </form> </body> </html> ``` 2. 创建一个 JavaBean,命名为 CalculatorBean,用于进行计算操作。代码如下: ``` public class CalculatorBean { private int num1; private int num2; private String operator; private int result; public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } public String getOperator() { return operator; } public void setOperator(String operator) { this.operator = operator; } public int getResult() { if(operator.equals("add")) { result = num1 + num2; } else if(operator.equals("subtract")) { result = num1 - num2; } else if(operator.equals("multiply")) { result = num1 * num2; } else if(operator.equals("divide")) { result = num1 / num2; } return result; } } ``` 3. 在 CalculatorBean.jsp 页面中,获取表单中的输入值,并将其传递给 CalculatorBean 进行计算,最后将结果展示在页面上。代码如下: ``` <jsp:useBean id="calculator" class="CalculatorBean" scope="page"/> <jsp:setProperty name="calculator" property="num1" param="num1"/> <jsp:setProperty name="calculator" property="num2" param="num2"/> <jsp:setProperty name="calculator" property="operator" param="operator"/> <html> <head> <title>超简单网页计算器</title> </head> <body> <h1>超简单网页计算器</h1> <form action="CalculatorBean.jsp" method="post"> <input type="text" name="num1" size="5"> <select name="operator"> <option value="add">+</option> <option value="subtract">-</option> <option value="multiply">*</option> <option value="divide">/</option> </select> <input type="text" name="num2" size="5"> <input type="submit" value="计算"> </form> <p>计算结果:${calculator.result}</p> </body> </html> ``` 现在,您就可以在浏览器中访问 calculator.jsp 页面,进行超简单的网页计算了!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

在森林中麋了鹿

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值