美文网首页
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入门笔记

    JSP动态页面技术 脚本和注释jsp脚本 <% java代码 %> <%= java变量或表达式 %> <%...

  • JSP入门笔记

    JSP概述及执行流程 Servlet的缺点 静态HTML与动态的Java代码混合在一起,难以维护 Servlet利...

  • JSP技术

    1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...

  • 学习参考文章

    JSP入门及MyEclipse的使用

  • Jsp入门实战上

    前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入...

  • Day16--Cookie&Session&JSP

    会话技术 Cookie JSP:入门学习 Session

  • Servlet与JSP学习笔记(五) JSP核心(下)

    同样可以参考菜鸟笔记。 JSP标签 JSP除了包括以"<%"开头的JSP标记,还包括以"

  • JSP笔记

    title: JSP笔记date: 2017-02-24 21:51:49tags: JSP JSP&Servle...

  • Head First Servlet & JSP读书笔记

    Head First Servlet & JSP读书笔记 本书内容:Servlet和JSP Servlet和JSP...

  • Jsp入门须知

    jsp入门 jsp老弟是啥? jsp全称是Java Server Pages,是Java所提供的一门用于开发动态W...

网友评论

      本文标题:JSP入门笔记

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