简介
Java Server Pages 是Java的动态网页技术
JSP引擎
引擎原理:
JSP引擎用于将JSP文件, 转换为Servlet
1. 在服务器启动时 , JSP引擎读取.jsp文件.
2. 将文件转换为Servlet的代码 , 并给servlet添加映射地址为 jsp的文件名称.
3. 当用户浏览器访问 jsp文件名称时, 其实请求的不是jsp文件, 而是生成的servlet
4. servlet负责给浏览器进行响应.
例如:
demo4.jsp文件:
<body>
<h3>我们的第一个JSP文件</h3>
<%
for(int i=0;i<100;i++){
%>
<div>从前有座山</div>
<%
}
%>
</body>
demo4_jsp.java
PrintWriter out = response.getWriter();
out.println("<body>");
out.println("<h3>我们的第一个JSP文件</h3>");
for(int i=0;i<100;i++){
out.println("<div>从前有座山</div>");
}
out.println("</body>");
JSP语法结构
JSP文件保存的路径: webContent目录下
JSP文件 可以包含HTML代码, Java代码, 以及JSP特有的标记.
Java代码 声明区
指的是Java的成员代码位置, 在JSP声明区中编写的Java代码, 会生成到servlet的成员位置.
语法:
<%!
这里用于编写Java代码, 且会生成到声明区
%>
Java代码 执行区
指的是Servlet的service方法中. 用户每次请求 都会执行
语法:
<%
Java代码
%>
表达式
用于快速的将Java代码中的变量输出到网页中.
语法:
<%=变量名%>
转换的Java:
out.print(变量名);
JSP中如何编写注释
因为JSP文件包含了三种语法结构 (java/html/jsp)
所以 ,三种语法结构的注释 都可以起到注释的效果:
html注释:
<!-- html的注释 -->
在JSP中, HTML的注释会被JSP引擎认为是HTML代码 , 会转换为out.write("<!-- -->");
Java注释:
单行: //
多行: /* */
文档: /** */
在JSP中, Java的注释 会被JSP引擎认为是Java代码 ,会原封不动的放到_jsp.java文件中.
JSP注释:
<%-- JSP注释 --%>
在JSP引擎将jsp文件 转换为.java文件时, 会忽略JSP注释的部分.
JSP 三大指令
指令的格式:
<%@ 指令名称 属性名=值 属性名2=值 ... 属性n=值 %>
page指令
用于设置页面
完整格式:
<%@ page
language="java"
extends="继承的类"
buffer="数值|none" -- 缓冲大小 ,none表示不缓冲 ,默认是8kb
session="true|false" --true:自动创建session false时表示不自动创建
autoFlush="true|false" --true:缓冲器自动清除, 默认true
isThreadSafe="true|false" --<%%>中的代码 是否是同步的 , true表示同步, 默认false
contentType="text/html;charset=utf-8" -- 内容类型以及编码格式
errorPage="网页地址" -- 当JSP代码出错误, 页面由指定地址进行显示 *
isErrorPage="true|false" --true:当前页面是处理错误的页面. 只有为true时, 才可以查看异常信息. *
import="导包列表" -- 属性值是一个或多个导入的包 , 包于包之间使用逗号隔开即可
%>
指定项目全局错误页面
编写项目的web.xml
在根节点中, 加入子节点:
<error-page>
<error-code>404</error-code>
<location>处理404的页面地址</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>处理500的页面地址</location>
</error-page>
模仿jsp引擎将jsp代码转化为servlet代码
1 | import java.io.BufferedReader; |
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!