《JSP》

  • 时间:
  • 来源:互联网
  • 文章标签:

《JSP》

<大纲>

了解JSP用途

了解JSP执行原理

掌握JSP基本语法

1.Servlet开发痛点

  • 静态HTML与动态Java代码混合在一起,难以维护,调试困难
  • Servlet利用out.println()语句输出,效率低下

2.JSP介绍

  • 全称:Java Server Page,Java服务器页面

  • 是JavaEE的功能模块,由Web服务器执行

  • 作用:降低动态网页开发难度

    特点

  • 使用简单,学习简单

  • HTML与Java代码分离,降低开发难度

  • JSP的本质是Servlet

3.JSP的运行要求

  • Tomcat
  • 扩展名: .jsp
  • JSP页面放在Web应用目录下面

4.执行过程

  • 第一次请求:

    当服务器上的一个JSP页面被第一次请求执行时,

    服务器上的JSP引擎首先将JSP页面文件转译成一个**.java**文件——servlet

    并编译这个java文件生成**.class**的字节码文件,

    然后执行字节码文件变成html代码响应客户端的请求。

  • 再次请求:

    JSP引擎将直接执行字节码文件来响应客户。

  • 我们可以查看由JSP转译成的servelt,由此来加深多JSP的理解。存放JSP转译成的servlt的目录如下:

    apache-tomcat-8.5.50\work\Catalina\localhost\yourwebapp\org\apache\jsp 
    

5.JSP基本语法

  1. JSP代码块

    • 用于嵌入Java代码

    • 语法:<% java代码 %>

      <% System.out.println("Hello World"); %>
      
  2. JSP声明构造块

    • 用于声明变量或方法

    • 语法:<%! 声明语句 %>

      < %! public int add(int a,int b){return a+b;} %>
      
  3. JSP输出指令

    • 用于在页面显示java代码执行结果

    • 语法:<%= java代码 %>

      <%= "<b>" + name +" </b> " %>
      
  4. JSP处理指令

    • 用于提供JSP执行过程中的辅助信息

    • 语法: < %@ jsp指令%>

      例如: <%@ page import= "java.util.*" %>
      
    • JSP常用处理指令

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

6.JSP中注释的区别

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

7.JSP页面重用

  • 为了不重复编写某一相同代码,JSP提供了页面重用

  • 使用<%@ include %>

  • 下面是一个示例:

    news.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%@include file="/news-top.jsp" %>
    	<%
    		out.println("<h1>新闻标题</h1>");
    		out.println("<p>新闻标题</p>");
    	%>
    <%@include file="/news-food.jsp" %>
    </body>
    </html>
    

    news-top.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	要闻|推荐|财经|娱乐
    </body>
    </html>
    

    news-food.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<div>Copyright 1999-2018</div>
    </body>
    </html>
    

本文链接http://www.taodudu.cc/news/show-1944778.html