JSP页面

JSP页面
  html 页面属于一种静态页面, jsp 页面数据动态页面

html 和 jsp 页面的区别:
  在 html 中只能定义 css, js 等,
  在 jsp 中除了可以定义 css, js 等之外 还可以定义 Java 代码,
  还可以在 jsp 中使用 el 表达式和 jstl 标签,
  使用 Java 代码必须使用 <% Java代码 %>
  jsp 特有的注释在页面查看源码对的方式不能看见.
  html 的注释在页面使用查看源码的方式可以看见

JSP的注释
  1.原有的 html 的注释 <!-- html的注释 -->
  2. 单行注释: //注释的内容 (需要再<% %>中定义)
  3.多行注释: /* 注释内容 */ (需要再<% %>中定义)
  4.jsp 特有的注释: <%-- 注释内容 --%>

第一次访问 jsp 页面的时候相对说较慢, 因为要经历如下步骤:
  1.将访问的 jsp 页面转换成对应的 *.java 文件
  2.将转换后的 *.java 编译成 *.class 文件
  3.将 *.class 文件解析成 *.html 文件响应给浏览器
第二次访问:
  jsp 被修改了: 重新执行上面的 3 个步骤
  jsp 没有被修改: 直接执行第 3 个步骤

Demo: 在 jsp 中定义 Java 代码
  <%=变量名%>,这是一种表达式, 叫做 Scriptlet 表达式.

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta charset="UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h1>
11         jsp了解
12     </h1>
13     <%
14         System.out.println("Jsp Hello World");
15         String sid = session.getId();
16         System.out.println(sid);
17     %>
18     <!-- 可以获取 java 中定义的变量 -->
19     <%=sid%>
20 </body>
21 </html>

Demo: 使用 el 表达式输出 sid
  el 表达式不仅仅可以输出一个变量的值, 还可以输出对象的内容

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta charset="UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h1>
11         jsp 了解
12     </h1>
13     <%
14         System.out.println("Jsp Hello World");
15         String sid = session.getId();
16         //将数据保存到内置对象
17         session.setAttribute("sid", sid);
18     %>
19     <h1>
20         ${sid}
21     </h1>
22 </body>
23 </html>

Demo: jsp 的注释

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta charset="UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <h1>
11         jsp 了解
12     </h1>
13     <!-- html的注释 -->
14     <%-- jsp特有的注释 --%>
15     <%
16         //单行注释
17         /*
18             多行注释
19         */
20     %>
21 </body>
22 </html>
原文地址:https://www.cnblogs.com/yslf/p/10766516.html