JSP入门笔记

2020-04-29  本文已影响0人  憨憨二师兄

JSP概述及执行流程

Servlet的缺点

JSP介绍

JSP的特点

JSP页面示例

要求:
A公司的薪资底薪为1500元,
工作五年内的员工每年工资上浮150元
工作五到十年的员工从第六年起每年工资上浮300元
工作十年以上的员工从第十一年起每年工作上浮450元
要求罗列出30年以内的员工基本薪资状况

JSP程序如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<table>
    <tr>
        <th>year</th>
        <th>salary</th>
    </tr>
    <%
        for (int i = 0; i <= 30; i++) {
            out.println("<tr>");
            out.println("<td>" + i + "</td>");
            int sal = 1500;
            if (i <= 5) {
                sal = sal + 150 * i;
            } else if (i > 5 && i <= 10) {
                sal = sal + 150 * 5 + (i - 5) * 300;
            } else {
                sal = sal + 150 * 5 + 5 * 300 + (i - 10) * 450;
            }
            out.println("<td>" + sal + "</td>");
            out.println("</tr>");
        }
    %>
</table>
</body>
</html>

显示结果为:


JSP的执行过程


当浏览器客户端向Tomcat服务器发出请求,首先会将JSP转译为Servlet源代码,然后和Servlet的执行过程就一样了。JSP的转译过程实际上就是将JSP页面中的HTML代码转变为out.println()输出出去,所以我们说JSP的本质就是Servlet。

JSP基本语法

JSP的语法十分简单,按照功能可以分为以下四种:

  1. JSP代码块
  2. JSP生命构造块
  3. JSP输出指令
  4. JSP处理指令
JSP代码块
JSP声明构造块
JSP输出指令
JSP处理指令

JSP常用的处理指令:

JSP中的注释

综合案例

列出1000以内的质数
要求一:使用List保存所有有效的质数
要求二:将结果打印到页面,格式为"<h1>x为质数</h1>"

代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List,java.util.ArrayList" %>
<%!
    public boolean isPrime(int num) {
        for (int i = 2; i < num; i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
%>
<%
    List<Integer> list = new ArrayList<>();
    for (int i = 2; i <= 1000; i++) {
        if (isPrime(i)) {
            list.add(i);
        }
    }
%>
<%
    for (int p : list) {
%>
<h1 style="color:lightpink"><%= p%>是质数</h1>
<%
    }
%>

部分结果显示如下:


JSP页面重用

使用<%@include file="filePath"%> 可以达到JSP页面复用的效果;
示例:
web目录下创建include目录

include目录下的header.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
要闻|推荐|财经|娱乐

include目录下的footer.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<hr>
Copyright 1999-3000

复用了header与footer的news.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="include/header.jsp"%>
<%
    out.println("<h1>好好学习,天天向上</h1>");
    out.println("<p>小明的妈妈告诉小明要好好学习,天天向上</p>");
%>
<%@include file="include/footer.jsp"%>

复用了header与footer的news2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="include/header.jsp"%>
<%
    out.println("<h1>天下无敌</h1>");
    out.println("<p>切格瓦拉偷电瓶天下无敌</p>");
%>
<%@include file="include/footer.jsp"%>
上一篇 下一篇

猜你喜欢

热点阅读