jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

导读:本篇文章讲解 jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

jsp独特的语法、常用方法和应用场景。

目录

jsp的头部指令

jsp的常用脚本

i.声明脚本(极少使用)

i.表达式脚本(常用)

iii.代码脚本(常用)

常用标签

静态包含

动态包含

请求转发标签

jsp的练习题:

练习一:在 jsp 页面中输出九九乘法口诀表

练习二:jsp 输出一个表格,里面有 10 个学生信息。

应用场景:


jsp的头部指令

就是包含在<%@ page    %>的内容,很少使用,可忽略。

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

这个比较常用,可以在运行的时候提示用户,转到错误页面,常见的找不到服务器就是这样做的。

jsp的常用脚本

脚本(Script),是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。

i.声明脚本(极少使用)

声明脚本的格式是:<%!声明java代码%〉
作用:可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块。内部类等。

意思就是在jsp里面用Java来写一些属性和方法,比如:

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

i.表达式脚本(常用)

表达式脚本的格式是:<%=表达式%>
表达式脚本的作用是:在jsp页面上输出数据。
表达式脚本的特点:
1、所有的表达式脚本都会被翻译到 jspservice()方法中
2、表达式脚本都会被翻译成为out. print)输出到页面上
3、由于表达式脚本翻译的内容都在_ jspservice()方法中,所以 jspservice)方法中的对象都可以直接使用。
4、表达式脚本中的表达式不能以分号结束

<%=12>就会在浏览器中输出12这个数。

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

iii.代码脚本(常用)

代码脚本的格式是:<% %>java语句
代码脚本的作用是:可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。
代码脚本的特点是:
1、代码脚本翻译之后都在 jspservice方法中
代码脚本由于翻译到jsp Service()方法中,所以在 jspservice0方法中的现有对象都可以直接使用
3、还可以由多个代码脚本块组合完成一个完整的java语句。
4、代码脚本还可以和表达式脚本一起组合使用,在jsp页面上输出数据

和表达式脚本差不多,可以结合起来使用,这样相当于在jsp中进行java编程。

<%!
    int a = 10;                          //声明脚本  可以用java中的单行注释  //
%>
<%
    if(1>0){                             //代码脚本,一个if语句
%>
<div> 1>0 </div>
<%
    }else{
%>
<div> 1<0 </div>                <%–普通的html语句–%>
<%
    }
%>

<%= 1>0 %>                      <%–表达式脚本–%>
<div> </div>
<%= a %>

上面的加粗部分就翻译成了下面这段 ,验证了:jsp代码语句可以由多个代码脚本块组合完成一个完整的java语句。

if(1>0){

      out.write(“\r\n”);
      out.write(“<div> 1>0 </div>\r\n”);

    }else{

      out.write(“\r\n”);
      out.write(“<div> 1<0 </div>\r\n”);

    }

那么在jsp中怎么注释呢,<%– 这是 jsp 注释 –%>

常用标签

静态包含

使用场景:一般的网站最下面的内容基本都是一些友情链接,邮箱,联系方式等等,这份数据在这个网站的所有页面都一样,所以没有必要每个jsp页面都重复写这段代码,只需要维护一份就够了。

<%@include file="/footer.jsp %> 可以在footer.jsp 中写好描述尾部的代码,再利用这句话来包含就行了

具体实现方式:在浏览器翻译的时候找到footer.jsp文件,然后翻译到浏览器页面。

动态包含

<jsp:include page="footer.jsp"></jsp:include>

动态包含的特点
1动态包含会把包含的jsp页面地翻译成为java代码
2动态包含底层代码使用如下代码去週用被包含的jsp页面进行输出。
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, “footer.jsp”, out, false);
动态包含,还可以传递参数,比如

<jsp:include page=”footer.jsp”>

<jsp: param name=”username “value=”bb”/>
<jsp: param name=”password”value=”root”/>

</jsp:include>
 

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

动态包含的实现是在包含语句的地方调用一个函数去输出页脚信息,所以它可以利用jsp中的内置对象传递参数。

请求转发标签

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

可以转化为:

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

程序变得很简洁。

jsp的练习题:

练习一:在 jsp 页面中输出九九乘法口诀表

思路:使用代码脚本for循环、表达式脚本和常用的html语句实现。
<body>
<h1 align="center">九九乘法口诀表</h1>
<table align="center"> 居中表格
    <%for (int i = 1; i < 10; i++) {%>
    <tr> 循环显示i行
        <%for (int j = 1; j < i+1; j++) { %>
            <td><%=j%> x <%=i%> = <%=j*i%></td> 每i行是j个单元格
        <%}%>
    </tr>

    <%}%>

</table>
</body>

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

练习二:jsp 输出一个表格,里面有 10 个学生信息。

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)
student类的构造
package pojo;

public class Student {
    private String name;
    private int age;
    private String phone;

    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;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

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

    public Student() {
    }
}

test2.jsp先生成一个学生的列表,再显示到浏览器中。
-------------------格式---------------------
<head>
    <title>Title</title>
    <style>
        table{
            border: 1px black solid;
            width: 600px;
            border-collapse: collapse; /*边框合并*/
        }
        td,th{
            border: 1px black solid;
            text-align: center;
        }

    </style>
</head>
<body>
-------------------生成学生列表---------------------
<%

    ArrayList<Student> list = new ArrayList<Student>();
    for (int i = 0; i < 10; i++) {
        list.add(new Student("name" + i + 1, i + 18, "phone" + i + 1));
    }

%>
-------------------生成表格显示---------------------
<table align="center">


        <tr>
            <td>姓名</td>
            <td>年龄</td>
            <td>电话</td>
        </tr>
    <%
        for (Student student : list) {
    %>
    <tr>
        <td><%=student.getName()%>
        </td>
        <td><%=student.getAge()%>
        </td>
        <td><%=student.getPhone()%>
        </td>

    </tr>
    <%
        }
    %>
</table>

</body>

应用场景:

jsp的知识点总结(jsp的头部指令,常用脚本,常用标签)以及练习题(附代码)

当我们点击搜索后,servlet程序获得搜索的参数,找到结果后保存到request域中,转到jsp中,jsp在显示的时候可以从req中得到搜索到的结果,显示出来。

比起直接用servlet程序去显示要方便的多。

资料来源:B站尚硅谷。

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92902.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!