jsp01 什么是jsp、jsp注释规范、Java代码、指令、【jsp原理】、【jsp翻译成servlet】
1 什么是JSP
JSP作为简化Servlet开发的一种技术,实质上最终依然要转变为Servlet才可能运行,只不过这个转变过程由Servlet容器来完成。
所以遵循JSP的编写规范才能使得JSP转变为需要的Servlet。
注意1:Servlet就是能够动态拼接资源的组件 -->> 动态拼接资源就是处理HTTP协议
注意2:JSP中不仅能够写HTML代码,还能够写Java代码;其中Java代码用于生成动态内容
2 jsp文件的注释规范
<!-- 注释内容 -->
<%-- 注释内容 -->
3 Java代码
3.1 JSP小脚本
<% %>
JSP小脚本可以编写Java代码段,从而实现相对较长的一段运算逻辑。这些Java代码最终都会成为Servlet中Service方法的一部分。
由于HTML与Java可以进行混合使用,所以需要注意括号的匹配。
3.2 JSP表达式
<%= %>
使用表达式可以方便的在JSP页面中输出运算的结果
3.3 JSP声明
<%! %>
JSP声明可以为对应的Servlet添加属性和方法。这种形式的代码使用的很少。
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <h2>重庆</h2> 11 <%! 12 public double tj(double x) { 13 return x + 10; 14 } 15 %> 16 17 <table border="1px"> 18 <thead></thead> 19 <tr> 20 <% 21 for(int i = 0; i < 10; i++) { 22 %> 23 <td><%=tj(Math.random()) %></td> 24 <% 25 } 26 %> 27 </tr> 28 </table> 29 </body> 30 </html>
4 指令
4.1 page指令
Page指令为容器提供当前页面的使用说明。一个JSP页面可以包含多个page指令

4.2 include指令
JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行
include 指令中的文件名实际上是一个相对的 URL 地址。
如果您没有给文件关联一个路径,JSP编译器默认在当前路径下寻找。
1 <%@ page 2 language="java" 3 contentType="text/html; charset=utf-8" 4 pageEncoding="utf-8" 5 %> 6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 7 <html> 8 <head> 9 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 10 <title>Insert title here</title> 11 </head> 12 <body> 13 <%-- include指令的使用 --%> 14 <h2>客户端当前时间为</h2> 15 <%@ include 16 file="/testJsp/time.jsp" 17 %> 18 </body> 19 </html>
1 <%@page import="java.text.SimpleDateFormat"%> 2 <%@page import="java.util.Date"%> 3 <%@ page language="java" contentType="text/html; charset=utf-8" 4 pageEncoding="utf-8"%> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 9 <title>Insert title here</title> 10 </head> 11 <body> 12 <% 13 Date date = new Date(); 14 SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss"); 15 String now = sdf.format(date); 16 %> 17 <div> 18 <%=now %> 19 </div> 20 21 </body> 22 </html>
5 jsp原理

6 jsp翻译成servlet

jsp翻译成的servlet存放路径为
D:\Install\tomcat\apache-tomcat-7.0.67\work\Catalina\localhost\testJsp\org\apache\jsp
7 jsp的9大隐式对象
JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐式对象也被称为预定义变量。

浙公网安备 33010602011771号