【jsp頁面靜態化 jsp跳轉html頁面】
文章插圖

文章插圖
選中Eclipse里創建的jsp文件:
“`jsp
<%@ page language=”java” contentType=”text/html; charset=UTF-8″
pageEncoding=”UTF-8″%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>w3cschool教程 2</title>
</head>
<body>
<%
out.println(“Hello World 2!”);
%>
</body>
</html>
“`
點擊Run As server:
/* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/9.0.29 * Generated at: 2020-07-15 09:04:14 UTC * Note: The last modified time of this file was set to *the last modified time of the source file after *generation to assist with modification tracking. */package org.apache.jsp;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;public final class test_jsp extends org.apache.jasper.runtime.HttpJspBaseimplements org.apache.jasper.runtime.JspSourceDependent,org.apache.jasper.runtime.JspSourceImports {private static final javax.servlet.jsp.JspFactory _jspxFactory =javax.servlet.jsp.JspFactory.getDefaultFactory();private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;private static final java.util.Set<java.lang.String> _jspx_imports_packages;private static final java.util.Set<java.lang.String> _jspx_imports_classes;static {_jspx_imports_packages = new java.util.HashSet<>();_jspx_imports_packages.add("javax.servlet");_jspx_imports_packages.add("javax.servlet.http");_jspx_imports_packages.add("javax.servlet.jsp");_jspx_imports_classes = null;}private volatile javax.el.ExpressionFactory _el_expressionfactory;private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;public java.util.Map<java.lang.String,java.lang.Long> getDependants() {return _jspx_dependants;}public java.util.Set<java.lang.String> getPackageImports() {return _jspx_imports_packages;}public java.util.Set<java.lang.String> getClassImports() {return _jspx_imports_classes;}public javax.el.ExpressionFactory _jsp_getExpressionFactory() {if (_el_expressionfactory == null) {synchronized (this) {if (_el_expressionfactory == null) {_el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();}}}return _el_expressionfactory;}public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {if (_jsp_instancemanager == null) {synchronized (this) {if (_jsp_instancemanager == null) {_jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());}}}return _jsp_instancemanager;}public void _jspInit() {}public void _jspDestroy() {}public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)throws java.io.IOException, javax.servlet.ServletException {if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {final java.lang.String _jspx_method = request.getMethod();if ("OPTIONS".equals(_jspx_method)) {response.setHeader("Allow","GET, HEAD, POST, OPTIONS");return;}if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {response.setHeader("Allow","GET, HEAD, POST, OPTIONS");response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");return;}}final javax.servlet.jsp.PageContext pageContext;javax.servlet.http.HttpSession session = null;final javax.servlet.ServletContext application;final javax.servlet.ServletConfig config;javax.servlet.jsp.JspWriter out = null;final java.lang.Object page = this;javax.servlet.jsp.JspWriter _jspx_out = null;javax.servlet.jsp.PageContext _jspx_page_context = null;try {response.setContentType("text/html; charset=UTF-8");pageContext = _jspxFactory.getPageContext(this, request, response,null, true, 8192, true);_jspx_page_context = pageContext;application = pageContext.getServletContext();config = pageContext.getServletConfig();session = pageContext.getSession();out = pageContext.getOut();_jspx_out = out;out.write("n");out.write("<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">n");out.write("<html>n");out.write("<head>n");out.write("<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">n");out.write("<title>w3cschool教程 2</title>n");out.write("</head>n");out.write("<body>n");out.println("Hello World 2!");out.write("n");out.write("</body>n");out.write("</html>");} catch (java.lang.Throwable t) {if (!(t instanceof javax.servlet.jsp.SkipPageException)){out = _jspx_out;if (out != null && out.getBufferSize() != 0)try {if (response.isCommitted()) {out.flush();} else {out.clearBuffer();}} catch (java.io.IOException e) {}if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);else throw new ServletException(t);}} finally {_jspxFactory.releasePageContext(_jspx_page_context);}}}終端用戶在瀏覽器里看到的靜態頁面的源代碼:網絡服務器需要一個JSP引擎,也就是一個容器來處理JSP頁面 。容器負責截獲對JSP頁面的請求 。本教程使用內嵌JSP容器的Apache來支持JSP開發 。
JSP容器與Web服務器協同合作,為JSP的正常運行提供必要的運行環境和其他服務,并且能夠正確識別專屬于JSP網頁的特殊元素 。
下圖顯示了JSP容器和JSP文件在Web應用中所處的位置 。
以下步驟表明了Web服務器是如何使用JSP來創建網頁的:
(1) 就像其他普通的網頁一樣,瀏覽器發送一個HTTP請求給服務器 。
(2) Web服務器識別出這是一個對JSP網頁的請求,并且將該請求傳遞給JSP引擎 。通過使用URL或者.jsp文件來完成 。
(3) JSP引擎從磁盤中載入JSP文件,然后將它們轉化為servlet 。這種轉化只是簡單地將所有模板文本改用println()語句,并且將所有的JSP元素轉化成Java代碼 。
(4) JSP引擎將servlet編譯成可執行類,并且將原始請求傳遞給servlet引擎 。
(5) Web服務器的某組件將會調用servlet引擎,然后載入并執行servlet類 。在執行過程中,servlet產生HTML格式的輸出并將其內嵌于HTTP response中上交給Web服務器 。
(6) Web服務器以靜態HTML網頁的形式將HTTP response返回到您的瀏覽器中 。
(7) 最終,Web瀏覽器處理HTTP response中動態產生的HTML網頁,就好像在處理靜態網頁一樣 。
以上提及到的步驟可以用下圖來表示:
總的來說,JSP網頁就是用另一種方式來編寫servlet而不用成為Java編程高手 。除了解釋階段外,JSP網頁幾乎可以被當成一個普通的servlet來對待 。
- 怎么把word頁面橫過來的兩種方法 怎么在word里把頁面橫放
- vue新增編輯共用一個彈窗 vue彈出頁面
- Mac電腦怎么刷新 mac如何刷新當前頁面
- app界面設計圖模板 手機app頁面設計模板
- jquery給下拉框賦值 jsp給下拉框賦值
- 怎么遍歷數據庫里的數據 jsp遍歷數組
- outlook郵箱登錄頁面密碼設置 outlook郵箱登錄頁面不顯示l
- 如何進入路由器設置頁面 無法進入路由器設置界面
- h5頁面制作詳細步驟 H5的制作步驟
- 蘋果鼠標如何滾動頁面 蘋果無線鼠標怎么滾動頁面
