美文网首页
JSP入门笔记

JSP入门笔记

作者: 憨憨二师兄 | 来源:发表于2020-04-29 22:21 被阅读0次

    JSP概述及执行流程

    Servlet的缺点

    • 静态HTML与动态的Java代码混合在一起,难以维护
    • Servlet利用out.println()输出HTML代码,开发效率低下
    • 在开发过程中难以发现错误,调试困难

    JSP介绍

    • JSP的全程为(Java Server Pages) 为Java服务器页面
    • JSP是J2EE的功能模块,由Web服务器执行
    • JSP将静态的HTML和动态的Java解耦,降低了动态网页开发的难度

    JSP的特点

    • JSP使用简单
    • JSP将Java代码与HTML分离,降低了开发难度
    • JSP的本质就是Servlet
    • 所有JSP页面的扩展名必须是.jsp
    • JSP页面应该放在web应用程序目录下

    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中嵌入Java代码
    • JSP代码块语法:<%Java代码%>
    JSP声明构造块
    • JSP声明构造块用于声明变量或方法
    • JSP声明构造块语法:<%! 声明语句%>
    • 例如:<%! public int add(int a,int b){return a + b;} %>
    JSP输出指令
    • JSP输出指令用于在JSP页面中显示Java代码执行结果
    • JSP输出指令语法:<%= Java代码%>
    • 例如:<%= "<b>" + name + "</b>" %>
    JSP处理指令
    • JSP处理指令用于提供JSP执行过程中的辅助信息
    • JSP处理指令语法:<%@ jsp指令%>
    • 例如:<%@ page import="java.util.*" %>

    JSP常用的处理指令:

    • <%@ page %> 定义当前JSP页面全局设置
    • <%@ include %> 将其他JSP页面与当前JSP页面合并
    • <%@ taglib %> 引入JSP标签库

    JSP中的注释

    • <%-- 注释 --%> JSP注释,被注释的语句不做任何处理
    • // 、 /*...*/ 用于注释<%%>java代码,被注释的代码不被执行
    • 普通的HTML注释,被注释的语句不会被浏览器解释

    综合案例

    列出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"%>
    

    相关文章

      网友评论

          本文标题:JSP入门笔记

          本文链接:https://www.haomeiwen.com/subject/gvonwhtx.html