JSP基础知识

1.Servlet缺点

  • 静态html与动态Java代码混在一起,难以维护;
  • Servlet利用out.println()语句输出,开发效率低下;
  • Eclipse调试困难,难发现错误

JSP解决了上述问题

2.JSP执行过程

JSP本身就是一种Servlet

浏览器向Tomcat发送要访问的jsp请求,Tomcat将jsp转译成Servlet源代码,之后由Java编译成Servlet字节码,返回结果。

3.JSP基本语法

  1. JSP代码块

jsp 嵌入 java代码 <% %>

  1. JSP声明代码块

申明变量或方法 <%! 声明语句 %>

  1. JSP输出指令

    在JSP页面中显示java代码执行结果 <%=java代码 %>

    <%= "" + name + "" %> 与 outprintln()作用相同

  2. JSP处理指令

用于提供JSP执行过程中的辅助信息 <%@ jsp指令 %>

<%@ page import="java.util.*" %> :定义当前JSP页面全局设置,比如导入某个类

<%@ include file='include/header.jsp' " %> :将其他JSP页面与当前JSP页面合并

<%@ taglib %> :引入JSP标签库,即JSTL

  1. JSP注释的区别

    <%--注释--%> JSP注释,被注释后不做任何处理

    // /*...*/ 用于注释<% java代码 %>

Demo code

<%@ page import="java.util.*" contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>Title</title>
</head>
<body>

<%!
    boolean isPrime(int num){
        boolean flag=true;
        for(int i =2;i<num;i++){
            if(num % i ==0){
                flag=false;
                break;
            }
        }
        return flag;
    }
%>

<%
    List<Integer> primes = new ArrayList();

    for(int i=2;i<=100;i++){
        boolean flag = isPrime(i);
        if(flag == true)
            primes.add(i);
    }
%>

<%
    for(int p:primes) {
        out.println("<h1>" + p + "是素数</h1>");
    }
%>
    
</body>
</html>

4. JSP页面重用

把表头和表尾单独分割出来,使用<%@include file="include/header.jsp" %> 来引入。

header.jsp

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

footer.jsp

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

news.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@include file="include/header.jsp" %>
<%
    out.println("<h1>新闻标题</h1>");
    out.println("<p>新闻正文</p>");
%>
<hr/>
<%@include file="include/footer.jsp" %>
posted @ 2021-02-03 16:23  又一个蛇佬腔  阅读(75)  评论(0编辑  收藏  举报