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>