JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
JSP 的主要作用是代替 Servlet 程序回传 HTML 页面的数据。
因为 Servlet 程序回传 HTML 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
1.首先创建一个WEB模块
2.在web目录下New JSP/JSPX完成创建JSP页面
注:
jsp 页面和 html 页面一样,都是存放在 web 目录下。访问也跟访问 html 页面一样。
例:
a.jsp 页面 访问地址是 =======>>>>>> http://ip:port/工程路径/a.jsp
网络服务器需要一个 JSP 引擎,也就是一个容器来处理 JSP 页面,容器负责截获对 JSP 页面的请求。比较常见的引擎为Tomcat,把支持JSP的web服务器配置好后,就可以在客户端通过浏览器来访问JSP页面了
浏览器发送一个 HTTP 请求给服务器。
Web 服务器识别出这是一个对 JSP 网页的请求,并且将该请求传递给 JSP 引擎。通过使用 URL或者 .jsp 文件来完成。
JSP 引擎从磁盘中载入 JSP 文件,然后将它们转化为 Servlet。这种转化只是简单地将所有模板文本改用 println() 语句,并且将所有的 JSP 元素转化成 Java 代码。
JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。
Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。
Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到浏览器中。
最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页
注:
jsp 页面本质上是一个 Servlet 程序。 当第一次访问 jsp 页面的时候。Tomcat 服务器会帮我们把 jsp 页面翻译成为一个 java 源文件。并且对它进行编译成 为.class 字节码程序;
jsp 翻译出来的 java 类,它间接了继承了 HttpServlet 类。也就是说,翻译出来的是一个 Servlet 程序。
jsp 的 page 指令可以定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
下面两个属性是给 out 输出流使用
声明脚本的格式是: <%! 声明 java 代码 %>
作用:可以给 jsp 翻译出来的 java 类定义属性和方法甚至是静态代块、内部类等。
例:声明类方法
<%!
public int abc(){
return 23333;
}
%>
表达式脚本的格式是:<%=表达式%>
作用:在 jsp 页面上输出数据。
表达式脚本的特点:
jspService() 方法:
void _jspService(HttpServletRequest request,
HttpServletResponse response)
{
// 服务端处理代码
}
示例:
<%=12 %>
<%=12.12 %>
<%="字符串" %>
<%=map%>
<%=request.getParameter("username")%>
代码脚本的格式是:
<% java 语句 %>
作用:可以在 jsp 页面中,编写我们自己需要的功能(写的是 java 语句)。
代码脚本的特点是:
示例:
<%
int i = 13 ;
if (i == 12){
%>
<h1>哈哈哈哈</h1>
<%} else {
%>
<h1>啦啦啦啦</h1>
<%
}
%>
语法 | 描述 |
---|---|
<%-- 注释 --%> |
JSP注释,注释内容不会被发送至浏览器甚至不会被编译 |
|
HTML注释,通过浏览器查看网页源代码时可以看见注释内容 |
<% | 代表静态 <%常量 |
%> | 代表静态 %> 常量 |
\' |
在属性中使用的单引号 |
\" |
在属性中使用的双引号 |